diff --git a/agent/assistant/assistant.go b/agent/assistant/assistant.go index 2de6ff37..7a8d723c 100644 --- a/agent/assistant/assistant.go +++ b/agent/assistant/assistant.go @@ -146,6 +146,7 @@ func (ast *Assistant) Map() map[string]interface{} { "locales": ast.Locales, "uses": ast.Uses, "search": ast.Search, + "dependencies": ast.Dependencies, "created_at": store.ToMySQLTime(ast.CreatedAt), "updated_at": store.ToMySQLTime(ast.UpdatedAt), } @@ -455,6 +456,14 @@ func (ast *Assistant) Clone() *Assistant { } } + // Deep copy dependencies + if ast.Dependencies != nil { + clone.Dependencies = make(map[string]string, len(ast.Dependencies)) + for k, v := range ast.Dependencies { + clone.Dependencies[k] = v + } + } + return clone } @@ -639,6 +648,26 @@ func (ast *Assistant) Update(data map[string]interface{}) error { ast.Search = search } + // Dependencies + if v, has := data["dependencies"]; has { + if v == nil { + ast.Dependencies = nil + } else { + switch d := v.(type) { + case map[string]string: + ast.Dependencies = d + case map[string]interface{}: + deps := make(map[string]string, len(d)) + for k, val := range d { + if s, ok := val.(string); ok { + deps[k] = s + } + } + ast.Dependencies = deps + } + } + } + return ast.Validate() } diff --git a/agent/assistant/history.go b/agent/assistant/history.go index 0992dad8..c1a7f7ad 100644 --- a/agent/assistant/history.go +++ b/agent/assistant/history.go @@ -4,6 +4,7 @@ import ( "fmt" "reflect" + jsoniter "github.com/json-iterator/go" agentcontext "github.com/yaoapp/yao/agent/context" storetypes "github.com/yaoapp/yao/agent/store/types" "github.com/yaoapp/yao/trace/types" @@ -19,6 +20,18 @@ type HistoryResult struct { FullMessages []agentcontext.Message // Full messages (history + clean input) } +// getHistorySize returns the history size with priority: opts.HistorySize > storeSetting.MaxSize > default (20) +func getHistorySize(opts *agentcontext.Options) int { + const defaultHistorySize = 20 + if opts != nil && opts.HistorySize > 0 { + return opts.HistorySize + } + if setting := GetStoreSetting(); setting != nil && setting.MaxSize > 0 { + return setting.MaxSize + } + return defaultHistorySize +} + // WithHistory merges the input messages with chat history and traces it // Returns HistoryResult containing: // - InputMessages: cleaned input (overlap removed) @@ -41,14 +54,11 @@ func (ast *Assistant) WithHistory(ctx *agentcontext.Context, input []agentcontex return result, nil } - // Get MaxSize from store setting - maxSize := 20 // default - if storeSetting := GetStoreSetting(); storeSetting != nil && storeSetting.MaxSize > 0 { - maxSize = storeSetting.MaxSize - } + // Resolve history size: opts.HistorySize > storeSetting.MaxSize > default (20) + maxSize := getHistorySize(opts) // Load history from store - historyMessages, err := ast.loadHistory(ctx) + historyMessages, err := ast.loadHistory(ctx, maxSize) if err != nil { // Log warning but continue without history ctx.Logger.Warn("Failed to load history for chat=%s: %v", ctx.ChatID, err) @@ -102,8 +112,8 @@ func (ast *Assistant) WithHistory(ctx *agentcontext.Context, input []agentcontex } // loadHistory loads chat history from the store -// Returns the most recent MaxSize messages, ordered by time (oldest first) -func (ast *Assistant) loadHistory(ctx *agentcontext.Context) ([]agentcontext.Message, error) { +// Returns the most recent maxSize messages, ordered by time (oldest first) +func (ast *Assistant) loadHistory(ctx *agentcontext.Context, maxSize int) ([]agentcontext.Message, error) { // Check if chat ID is available if ctx.ChatID == "" { return nil, nil @@ -115,13 +125,6 @@ func (ast *Assistant) loadHistory(ctx *agentcontext.Context) ([]agentcontext.Mes return nil, nil } - // Get store setting for MaxSize - setting := GetStoreSetting() - maxSize := 20 // default - if setting != nil && setting.MaxSize > 0 { - maxSize = setting.MaxSize - } - // Load messages from store with limit filter := storetypes.MessageFilter{ Limit: maxSize, @@ -161,11 +164,16 @@ func (ast *Assistant) convertStoreMessageToContext(msg *storetypes.Message) *age return nil } - // Skip internal message types that should not be included in LLM context - // These types are for UI/internal use only and can confuse the LLM - // Note: "error" is kept so LLM can help troubleshoot issues + // Handle special message types: + // - tool_call/action: convert to historical summary text for LLM context + // - loading/event: skip (pure UI/lifecycle signals, no semantic value) + // - error: kept as-is so LLM can help troubleshoot issues switch msg.Type { - case "tool_call", "loading", "action", "event": + case "tool_call": + return ast.convertToolCallToContext(msg) + case "action": + return ast.convertActionToContext(msg) + case "loading", "event": return nil } @@ -224,6 +232,137 @@ func (ast *Assistant) extractContentFromProps(props map[string]interface{}, msgT return nil } +// convertToolCallToContext converts a tool_call store message to a historical summary text message. +// This allows the LLM to understand what tools were previously called without re-invoking them. +// +// Supports two Props formats: +// - Standard ToolCallProps: {"name": "tool_name", "arguments": "{...}"} +// - Raw stream chunks: {"content": "[{\"index\":0,\"id\":\"call_...\",\"function\":{\"name\":\"tool\"}}][...]"} +func (ast *Assistant) convertToolCallToContext(msg *storetypes.Message) *agentcontext.Message { + if msg.Props == nil { + return nil + } + + // Try standard ToolCallProps format first + if name, ok := msg.Props["name"].(string); ok && name != "" { + args, _ := msg.Props["arguments"].(string) + const maxArgsLen = 500 + if len(args) > maxArgsLen { + args = args[:maxArgsLen] + "..." + } + return &agentcontext.Message{ + Role: agentcontext.RoleAssistant, + Content: fmt.Sprintf("[Historical Tool Call Summary] Called tool \"%s\" with arguments: %s", name, args), + } + } + + // Try raw stream chunk format: {"content": "[...][...]..."} + // Each chunk is a JSON array like [{"index":0,"id":"call_...","function":{"name":"echo__ping"}}] + // Subsequent chunks append arguments: [{"index":0,"function":{"arguments":"..."}}] + if raw, ok := msg.Props["content"].(string); ok && raw != "" { + name, args := parseToolCallRawChunks(raw) + if name == "" { + return nil + } + const maxArgsLen = 500 + if len(args) > maxArgsLen { + args = args[:maxArgsLen] + "..." + } + return &agentcontext.Message{ + Role: agentcontext.RoleAssistant, + Content: fmt.Sprintf("[Historical Tool Call Summary] Called tool \"%s\" with arguments: %s", name, args), + } + } + + return nil +} + +// parseToolCallRawChunks parses concatenated raw stream chunks to extract tool name and arguments. +// Input format: "[{...}][{...}][{...}]" — multiple JSON arrays concatenated without separator. +func parseToolCallRawChunks(raw string) (name, args string) { + // Split concatenated JSON arrays: "][" is the boundary + // e.g. "[{...}][{...}]" → ["[{...}]", "[{...}]"] + chunks := splitJSONArrays(raw) + + var argParts []string + for _, chunk := range chunks { + var items []map[string]interface{} + if err := jsoniter.UnmarshalFromString(chunk, &items); err != nil || len(items) == 0 { + continue + } + item := items[0] + if fn, ok := item["function"].(map[string]interface{}); ok { + if n, ok := fn["name"].(string); ok && n != "" && name == "" { + name = n + } + if a, ok := fn["arguments"].(string); ok && a != "" { + argParts = append(argParts, a) + } + } + } + + args = "" + for _, part := range argParts { + args += part + } + return name, args +} + +// splitJSONArrays splits a string of concatenated JSON arrays "[...][...][...]" into individual arrays. +func splitJSONArrays(s string) []string { + var result []string + depth := 0 + start := -1 + for i, ch := range s { + switch ch { + case '[': + if depth == 0 { + start = i + } + depth++ + case ']': + depth-- + if depth == 0 && start >= 0 { + result = append(result, s[start:i+1]) + start = -1 + } + } + } + return result +} + +// convertActionToContext converts an action store message to a historical summary text message. +// This allows the LLM to understand what system actions were previously executed. +func (ast *Assistant) convertActionToContext(msg *storetypes.Message) *agentcontext.Message { + if msg.Props == nil { + return nil + } + name, _ := msg.Props["name"].(string) + if name == "" { + return nil + } + payload := "" + if msg.Props["payload"] != nil { + if payloadStr, err := jsoniter.MarshalToString(msg.Props["payload"]); err == nil { + const maxPayloadLen = 500 + if len(payloadStr) > maxPayloadLen { + payloadStr = payloadStr[:maxPayloadLen] + "..." + } + payload = payloadStr + } + } + if payload != "" { + return &agentcontext.Message{ + Role: agentcontext.RoleAssistant, + Content: fmt.Sprintf("[Historical Action Summary] Executed action \"%s\" with payload: %s", name, payload), + } + } + return &agentcontext.Message{ + Role: agentcontext.RoleAssistant, + Content: fmt.Sprintf("[Historical Action Summary] Executed action \"%s\"", name), + } +} + // findOverlapIndex finds the index in input where history messages end // Returns the number of input messages that overlap with history func (ast *Assistant) findOverlapIndex(history, input []agentcontext.Message) int { diff --git a/agent/assistant/history_test.go b/agent/assistant/history_test.go index 33fdf928..3e365524 100644 --- a/agent/assistant/history_test.go +++ b/agent/assistant/history_test.go @@ -415,7 +415,10 @@ func TestHistoryLoading(t *testing.T) { }() // Add various message types (only user/assistant roles allowed by DB constraint) - // loadHistory filters by role (user/assistant only) and converts based on type + // loadHistory filters by role (user/assistant only) and converts based on type: + // - loading/event: skipped (no semantic value) + // - tool_call/action: converted to historical summary text + // - text/user_input/error: kept as-is err = chatStore.SaveMessages(chatID, []*storetypes.Message{ { MessageID: fmt.Sprintf("filter_1_%s", reqID), @@ -461,11 +464,9 @@ func TestHistoryLoading(t *testing.T) { require.NoError(t, err) require.NotNil(t, result) - // User and assistant roles are included - // loading type messages with role=assistant are included (role-based filtering) - // History contains: 1 user + 2 assistant (loading + text) = 3 messages - // Plus 1 new input = 4 total - assert.GreaterOrEqual(t, len(result.FullMessages), 3) // At least 1 user + 1 assistant from history + 1 new + // loading type is skipped (no semantic value) + // History: user_input + text = 2 messages; plus 1 new input = 3 total + assert.Len(t, result.FullMessages, 3) // Verify only user and assistant roles for _, msg := range result.FullMessages { @@ -473,7 +474,217 @@ func TestHistoryLoading(t *testing.T) { "Expected user or assistant role, got: %s", msg.Role) } - t.Log("✓ Only user and assistant roles included in history") + t.Log("✓ Loading type filtered, user/assistant roles kept") + }) + + t.Run("ToolCallConvertedToSummary", func(t *testing.T) { + chatID := fmt.Sprintf("test_toolcall_%s", uuid.New().String()[:8]) + ctx := newHistoryTestContext(chatID) + reqID := uuid.New().String()[:8] + + err := chatStore.CreateChat(&storetypes.Chat{ + ChatID: chatID, + AssistantID: ast.ID, + Status: "active", + Share: "private", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }) + require.NoError(t, err) + defer func() { + chatStore.DeleteMessages(chatID, nil) + chatStore.DeleteChat(chatID) + }() + + // Add tool_call messages in both formats + err = chatStore.SaveMessages(chatID, []*storetypes.Message{ + { + MessageID: fmt.Sprintf("tc_1_%s", reqID), + ChatID: chatID, + RequestID: fmt.Sprintf("req_tc_%s", reqID), + Role: "user", + Type: "user_input", + Props: map[string]interface{}{"content": "echo 3 ping 4"}, + Sequence: 1, + AssistantID: ast.ID, + CreatedAt: time.Now().Add(-3 * time.Minute), + }, + // Raw stream chunk format (actual DB format) + { + MessageID: fmt.Sprintf("tc_2_%s", reqID), + ChatID: chatID, + RequestID: fmt.Sprintf("req_tc_%s", reqID), + Role: "assistant", + Type: "tool_call", + Props: map[string]interface{}{"content": `[{"index":0,"id":"call_abc","type":"function","function":{"name":"echo__ping"}}][{"index":0,"function":{"arguments":"{\"count\":3}"}}]`}, + Sequence: 2, + AssistantID: ast.ID, + CreatedAt: time.Now().Add(-2 * time.Minute), + }, + // Standard ToolCallProps format + { + MessageID: fmt.Sprintf("tc_3_%s", reqID), + ChatID: chatID, + RequestID: fmt.Sprintf("req_tc_%s", reqID), + Role: "assistant", + Type: "tool_call", + Props: map[string]interface{}{"name": "echo__echo", "arguments": `{"message":"hello"}`}, + Sequence: 3, + AssistantID: ast.ID, + CreatedAt: time.Now().Add(-1 * time.Minute), + }, + }) + require.NoError(t, err) + + input := []agentcontext.Message{ + {Role: agentcontext.RoleUser, Content: "echo 5 ping 6"}, + } + + result, err := ast.WithHistory(ctx, input, nil) + require.NoError(t, err) + require.NotNil(t, result) + + // 1 user_input + 2 tool_call summaries + 1 new input = 4 + assert.Len(t, result.FullMessages, 4) + + // Verify tool_call messages are converted to summary text + tcMsg1 := result.FullMessages[1] + assert.Equal(t, agentcontext.RoleAssistant, tcMsg1.Role) + assert.Contains(t, tcMsg1.Content, "[Historical Tool Call Summary]") + assert.Contains(t, tcMsg1.Content, "echo__ping") + assert.Contains(t, tcMsg1.Content, `{"count":3}`) + + tcMsg2 := result.FullMessages[2] + assert.Equal(t, agentcontext.RoleAssistant, tcMsg2.Role) + assert.Contains(t, tcMsg2.Content, "[Historical Tool Call Summary]") + assert.Contains(t, tcMsg2.Content, "echo__echo") + assert.Contains(t, tcMsg2.Content, `{"message":"hello"}`) + + t.Log("✓ Tool call messages converted to historical summaries") + }) + + t.Run("ActionConvertedToSummary", func(t *testing.T) { + chatID := fmt.Sprintf("test_action_%s", uuid.New().String()[:8]) + ctx := newHistoryTestContext(chatID) + reqID := uuid.New().String()[:8] + + err := chatStore.CreateChat(&storetypes.Chat{ + ChatID: chatID, + AssistantID: ast.ID, + Status: "active", + Share: "private", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }) + require.NoError(t, err) + defer func() { + chatStore.DeleteMessages(chatID, nil) + chatStore.DeleteChat(chatID) + }() + + err = chatStore.SaveMessages(chatID, []*storetypes.Message{ + { + MessageID: fmt.Sprintf("act_1_%s", reqID), + ChatID: chatID, + RequestID: fmt.Sprintf("req_act_%s", reqID), + Role: "user", + Type: "user_input", + Props: map[string]interface{}{"content": "Do something"}, + Sequence: 1, + AssistantID: ast.ID, + CreatedAt: time.Now().Add(-2 * time.Minute), + }, + // Action with payload + { + MessageID: fmt.Sprintf("act_2_%s", reqID), + ChatID: chatID, + RequestID: fmt.Sprintf("req_act_%s", reqID), + Role: "assistant", + Type: "action", + Props: map[string]interface{}{ + "name": "robot.execute", + "payload": map[string]interface{}{"goals": "test goal", "robot_id": "12345"}, + }, + Sequence: 2, + AssistantID: ast.ID, + CreatedAt: time.Now().Add(-1 * time.Minute), + }, + }) + require.NoError(t, err) + + input := []agentcontext.Message{ + {Role: agentcontext.RoleUser, Content: "What happened?"}, + } + + result, err := ast.WithHistory(ctx, input, nil) + require.NoError(t, err) + require.NotNil(t, result) + + // 1 user_input + 1 action summary + 1 new input = 3 + assert.Len(t, result.FullMessages, 3) + + actMsg := result.FullMessages[1] + assert.Equal(t, agentcontext.RoleAssistant, actMsg.Role) + assert.Contains(t, actMsg.Content, "[Historical Action Summary]") + assert.Contains(t, actMsg.Content, "robot.execute") + assert.Contains(t, actMsg.Content, "test goal") + assert.Contains(t, actMsg.Content, "12345") + + t.Log("✓ Action messages converted to historical summaries with payload") + }) + + t.Run("ActionWithoutPayload", func(t *testing.T) { + chatID := fmt.Sprintf("test_action_nopay_%s", uuid.New().String()[:8]) + ctx := newHistoryTestContext(chatID) + reqID := uuid.New().String()[:8] + + err := chatStore.CreateChat(&storetypes.Chat{ + ChatID: chatID, + AssistantID: ast.ID, + Status: "active", + Share: "private", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }) + require.NoError(t, err) + defer func() { + chatStore.DeleteMessages(chatID, nil) + chatStore.DeleteChat(chatID) + }() + + err = chatStore.SaveMessages(chatID, []*storetypes.Message{ + { + MessageID: fmt.Sprintf("actnp_1_%s", reqID), + ChatID: chatID, + RequestID: fmt.Sprintf("req_actnp_%s", reqID), + Role: "assistant", + Type: "action", + Props: map[string]interface{}{"name": "navigate"}, + Sequence: 1, + AssistantID: ast.ID, + CreatedAt: time.Now(), + }, + }) + require.NoError(t, err) + + input := []agentcontext.Message{ + {Role: agentcontext.RoleUser, Content: "What happened?"}, + } + + result, err := ast.WithHistory(ctx, input, nil) + require.NoError(t, err) + require.NotNil(t, result) + + // 1 action summary + 1 new input = 2 + assert.Len(t, result.FullMessages, 2) + + actMsg := result.FullMessages[0] + assert.Equal(t, agentcontext.RoleAssistant, actMsg.Role) + assert.Contains(t, actMsg.Content, "[Historical Action Summary]") + assert.Contains(t, actMsg.Content, "navigate") + assert.NotContains(t, actMsg.Content, "payload") + + t.Log("✓ Action without payload handled correctly") }) t.Run("ContentExtraction", func(t *testing.T) { diff --git a/agent/assistant/load.go b/agent/assistant/load.go index 4b3fa778..0333ac58 100644 --- a/agent/assistant/load.go +++ b/agent/assistant/load.go @@ -729,6 +729,30 @@ func loadMap(data map[string]interface{}) (*Assistant, error) { assistant.Sandbox = sb } + // dependencies (name -> version constraint, like npm dependencies) + if deps, has := data["dependencies"]; has { + switch v := deps.(type) { + case map[string]string: + assistant.Dependencies = v + case map[string]interface{}: + d := make(map[string]string, len(v)) + for k, val := range v { + d[k] = cast.ToString(val) + } + assistant.Dependencies = d + default: + raw, err := jsoniter.Marshal(v) + if err != nil { + return nil, err + } + var d map[string]string + if err := jsoniter.Unmarshal(raw, &d); err != nil { + return nil, err + } + assistant.Dependencies = d + } + } + // uses (wrapper configurations for vision, audio, etc.) // Merge hierarchy: global uses < assistant uses if uses, has := data["uses"]; has { diff --git a/agent/assistant/load_store_test.go b/agent/assistant/load_store_test.go index 86283ac1..d0f89ff5 100644 --- a/agent/assistant/load_store_test.go +++ b/agent/assistant/load_store_test.go @@ -494,6 +494,10 @@ func TestLoadStoreWithAllFields(t *testing.T) { Description: "This is a test placeholder", Prompts: []string{"Test prompt 1", "Test prompt 2"}, }, + Dependencies: map[string]string{ + "echo": "^1.0.0", + "customer": ">=2.0.0", + }, Source: ` // @ts-nocheck function Create(ctx: any, messages: any[]): any { @@ -571,6 +575,12 @@ function Create(ctx: any, messages: any[]): any { assert.NotNil(t, loaded.HookScript) assert.NotEmpty(t, loaded.Source) + // Dependencies + require.NotNil(t, loaded.Dependencies) + assert.Len(t, loaded.Dependencies, 2) + assert.Equal(t, "^1.0.0", loaded.Dependencies["echo"]) + assert.Equal(t, ">=2.0.0", loaded.Dependencies["customer"]) + // Execute the Create hook to verify it works ctx := newStoreTestContext("test-chat-all-fields", assistantID) messages := []context.Message{{Role: "user", Content: "Test message"}} diff --git a/agent/assistant/load_test.go b/agent/assistant/load_test.go index 1c6f26a1..a15406dd 100644 --- a/agent/assistant/load_test.go +++ b/agent/assistant/load_test.go @@ -193,6 +193,18 @@ func TestLoadPath(t *testing.T) { assert.NotNil(t, zhLocale) }) + t.Run("LoadDependencies", func(t *testing.T) { + assistant, err := assistant.LoadPath("/assistants/tests/fullfields") + require.NoError(t, err) + require.NotNil(t, assistant) + + // Dependencies + assert.NotNil(t, assistant.Dependencies) + assert.Len(t, assistant.Dependencies, 2) + assert.Equal(t, "^1.0.0", assistant.Dependencies["echo"]) + assert.Equal(t, ">=2.0.0", assistant.Dependencies["customer"]) + }) + t.Run("LoadNonExistentAssistant", func(t *testing.T) { _, err := assistant.LoadPath("/assistants/non-existent") assert.Error(t, err) @@ -333,6 +345,13 @@ func TestClone(t *testing.T) { assert.False(t, exists, "Clone should not have modified key") delete(original.Options, "test_key") // cleanup } + + if original.Dependencies != nil { + original.Dependencies["test_dep"] = "^9.9.9" + _, exists := clone.Dependencies["test_dep"] + assert.False(t, exists, "Clone dependencies should not have modified key") + delete(original.Dependencies, "test_dep") // cleanup + } }) t.Run("CloneNil", func(t *testing.T) { @@ -457,6 +476,7 @@ func TestMap(t *testing.T) { assert.Equal(t, assistant.ConnectorOptions, m["connector_options"]) assert.Equal(t, assistant.PromptPresets, m["prompt_presets"]) assert.Equal(t, assistant.Source, m["source"]) + assert.Equal(t, assistant.Dependencies, m["dependencies"]) } // TestLoadSystemAgents tests loading system agents from bindata diff --git a/agent/context/types.go b/agent/context/types.go index 34a20af9..5f5f39ac 100644 --- a/agent/context/types.go +++ b/agent/context/types.go @@ -319,6 +319,11 @@ type Options struct { // Metadata for passing custom data to hooks (e.g., scenario selection) Metadata map[string]any `json:"metadata,omitempty"` // Custom metadata passed to Create/Next hooks + // HistorySize controls the max number of history messages loaded for LLM context. + // Priority: HistorySize > StoreSetting.MaxSize > default (20) + // 0 means use StoreSetting or default. + HistorySize int `json:"history_size,omitempty"` + // OnMessage is called for each message sent via ctx.Send() // Used by ctx.agent.Call with onChunk callback to receive SSE messages // Returns: 0 = continue, non-zero = stop diff --git a/agent/robot/events/delivery.go b/agent/robot/events/delivery.go index a548e4ad..dd3a23aa 100644 --- a/agent/robot/events/delivery.go +++ b/agent/robot/events/delivery.go @@ -91,25 +91,27 @@ func (h *robotHandler) handleDelivery(ctx context.Context, ev *eventtypes.Event, } } - // Push delivery to integration channels (Telegram, etc.) via ReplyFunc - if reply := getReplyFunc(); reply != nil { - msg := buildDeliveryMessage(content) - if msg != nil { - channel, chatID := splitChannelChatID(payload.ChatID) - extra := map[string]any{ - "member_id": payload.MemberID, - "execution_id": payload.ExecutionID, - } - for k, v := range payload.Extra { - extra[k] = v - } - metadata := &MessageMetadata{ - Channel: channel, - ChatID: chatID, - Extra: extra, - } - if err := reply(ctx, msg, metadata); err != nil { - log.Error("delivery handler: integration reply failed execution=%s: %v", payload.ExecutionID, err) + // Push delivery to integration channels only when the task originated from one + if reply := getReplyFunc(); reply != nil && payload.ChatID != "" { + channel, chatID := splitChannelChatID(payload.ChatID) + if channel != "" && chatID != "" { + msg := buildDeliveryMessage(content) + if msg != nil { + extra := map[string]any{ + "member_id": payload.MemberID, + "execution_id": payload.ExecutionID, + } + for k, v := range payload.Extra { + extra[k] = v + } + metadata := &MessageMetadata{ + Channel: channel, + ChatID: chatID, + Extra: extra, + } + if err := reply(ctx, msg, metadata); err != nil { + log.Error("delivery handler: integration reply failed channel=%s execution=%s: %v", channel, payload.ExecutionID, err) + } } } } diff --git a/agent/store/types/convert.go b/agent/store/types/convert.go index 08464595..037a848b 100644 --- a/agent/store/types/convert.go +++ b/agent/store/types/convert.go @@ -454,6 +454,17 @@ func ToAssistantModel(v interface{}) (*AssistantModel, error) { } } + // Dependencies + if deps, ok := data["dependencies"]; ok && deps != nil { + raw, err := jsoniter.Marshal(deps) + if err == nil { + var d map[string]string + if err := jsoniter.Unmarshal(raw, &d); err == nil { + model.Dependencies = d + } + } + } + // Permission fields if createdBy, ok := data["__yao_created_by"].(string); ok { model.YaoCreatedBy = createdBy diff --git a/agent/store/types/convert_test.go b/agent/store/types/convert_test.go index 2ba0c752..330525fc 100644 --- a/agent/store/types/convert_test.go +++ b/agent/store/types/convert_test.go @@ -583,6 +583,10 @@ func TestToAssistantModel(t *testing.T) { "name": "English Name", }, }, + "dependencies": map[string]interface{}{ + "echo": "^1.0.0", + "customer": ">=2.0.0", + }, } result, err := ToAssistantModel(data) @@ -711,6 +715,19 @@ func TestToAssistantModel(t *testing.T) { if result.Locales == nil { t.Error("Expected Locales to be set") } + if result.Dependencies == nil { + t.Error("Expected Dependencies to be set") + } else { + if len(result.Dependencies) != 2 { + t.Errorf("Expected 2 dependencies, got %d", len(result.Dependencies)) + } + if result.Dependencies["echo"] != "^1.0.0" { + t.Errorf("Expected echo dependency '^1.0.0', got '%s'", result.Dependencies["echo"]) + } + if result.Dependencies["customer"] != ">=2.0.0" { + t.Errorf("Expected customer dependency '>=2.0.0', got '%s'", result.Dependencies["customer"]) + } + } }) t.Run("MapWithFloatNumbers", func(t *testing.T) { @@ -750,6 +767,7 @@ func TestToAssistantModel(t *testing.T) { "workflow": nil, "placeholder": nil, "locales": nil, + "dependencies": nil, } result, err := ToAssistantModel(data) @@ -764,6 +782,9 @@ func TestToAssistantModel(t *testing.T) { if result.Tags != nil { t.Error("Expected Tags to be nil") } + if result.Dependencies != nil { + t.Error("Expected Dependencies to be nil") + } if result.Modes != nil { t.Error("Expected Modes to be nil") } diff --git a/agent/store/types/fields.go b/agent/store/types/fields.go index 125e2acd..49e78f27 100644 --- a/agent/store/types/fields.go +++ b/agent/store/types/fields.go @@ -36,6 +36,7 @@ var AssistantAllowedFields = map[string]bool{ "locales": true, "uses": true, "search": true, + "dependencies": true, "automated": true, "mentionable": true, "created_at": true, @@ -66,10 +67,11 @@ var AssistantDefaultFields = []string{ "share", "automated", "mentionable", - "sandbox", // Sandbox configuration presence (lightweight) - "kb", // Knowledge base configuration (lightweight) - "db", // Database configuration (lightweight) - "mcp", // MCP servers configuration (lightweight) + "sandbox", // Sandbox configuration presence (lightweight) + "kb", // Knowledge base configuration (lightweight) + "db", // Database configuration (lightweight) + "mcp", // MCP servers configuration (lightweight) + "dependencies", // Dependencies on other MCP Clients (lightweight) "created_at", "updated_at", "__yao_created_by", // Permission: creator user ID @@ -112,6 +114,7 @@ var AssistantFullFields = []string{ "locales", "uses", "search", + "dependencies", "automated", "mentionable", "created_at", diff --git a/agent/store/types/types.go b/agent/store/types/types.go index cfd6afce..ea4ae8c1 100644 --- a/agent/store/types/types.go +++ b/agent/store/types/types.go @@ -454,6 +454,7 @@ type AssistantModel struct { Locales i18n.Map `json:"locales,omitempty"` // Assistant Locales Uses *context.Uses `json:"uses,omitempty"` // Assistant-specific wrapper configurations for vision, audio, etc. If not set, use global settings Search *searchTypes.Config `json:"search,omitempty"` // Search configuration (web, kb, db, citation, weights, etc.) + Dependencies map[string]string `json:"dependencies,omitempty"` // Dependencies on other MCP Clients (name -> version constraint) CreatedAt int64 `json:"created_at"` // Creation timestamp UpdatedAt int64 `json:"updated_at"` // Last update timestamp diff --git a/agent/store/xun/assistant.go b/agent/store/xun/assistant.go index c5d6f71c..8273d810 100644 --- a/agent/store/xun/assistant.go +++ b/agent/store/xun/assistant.go @@ -145,31 +145,6 @@ func (store *Xun) SaveAssistant(assistant *types.AssistantModel) (string, error) data["__yao_tenant_id"] = nil } - // Handle simple types - if assistant.Options != nil { - jsonStr, err := jsoniter.MarshalToString(assistant.Options) - if err != nil { - return "", fmt.Errorf("failed to marshal options: %w", err) - } - data["options"] = jsonStr - } - - if assistant.Tags != nil { - jsonStr, err := jsoniter.MarshalToString(assistant.Tags) - if err != nil { - return "", fmt.Errorf("failed to marshal tags: %w", err) - } - data["tags"] = jsonStr - } - - if assistant.Modes != nil { - jsonStr, err := jsoniter.MarshalToString(assistant.Modes) - if err != nil { - return "", fmt.Errorf("failed to marshal modes: %w", err) - } - data["modes"] = jsonStr - } - // DefaultMode is a simple string field if assistant.DefaultMode != "" { data["default_mode"] = assistant.DefaultMode @@ -177,8 +152,12 @@ func (store *Xun) SaveAssistant(assistant *types.AssistantModel) (string, error) data["default_mode"] = nil } - // Handle interface{} fields - they should already be in the correct format + // Handle all JSON fields uniformly via marshalJSONFields. + // Uses isNil() to correctly skip typed nils stored in interface{}. jsonFields := map[string]interface{}{ + "options": assistant.Options, + "tags": assistant.Tags, + "modes": assistant.Modes, "prompts": assistant.Prompts, "prompt_presets": assistant.PromptPresets, "connector_options": assistant.ConnectorOptions, @@ -191,16 +170,11 @@ func (store *Xun) SaveAssistant(assistant *types.AssistantModel) (string, error) "locales": assistant.Locales, "uses": assistant.Uses, "search": assistant.Search, + "dependencies": assistant.Dependencies, } - for field, value := range jsonFields { - if value != nil { - jsonStr, err := jsoniter.MarshalToString(value) - if err != nil { - return "", fmt.Errorf("failed to marshal %s: %w", field, err) - } - data[field] = jsonStr - } + if err := marshalJSONFields(data, jsonFields); err != nil { + return "", err } // Update or insert @@ -249,7 +223,7 @@ func (store *Xun) UpdateAssistant(assistantID string, updates map[string]interfa data := make(map[string]interface{}) // List of fields that need JSON marshaling - jsonFields := []string{"options", "tags", "modes", "prompts", "prompt_presets", "connector_options", "kb", "db", "mcp", "workflow", "sandbox", "placeholder", "locales", "uses", "search"} + jsonFields := []string{"options", "tags", "modes", "prompts", "prompt_presets", "connector_options", "kb", "db", "mcp", "workflow", "sandbox", "placeholder", "locales", "uses", "search", "dependencies"} jsonFieldSet := make(map[string]bool) for _, field := range jsonFields { jsonFieldSet[field] = true @@ -271,14 +245,14 @@ func (store *Xun) UpdateAssistant(assistantID string, updates map[string]interfa // Handle JSON fields if jsonFieldSet[key] { - if value != nil { + if isNil(value) { + data[key] = nil + } else { jsonStr, err := jsoniter.MarshalToString(value) if err != nil { return fmt.Errorf("failed to marshal %s: %w", key, err) } data[key] = jsonStr - } else { - data[key] = nil } } else { // Handle regular fields @@ -470,7 +444,7 @@ func (store *Xun) GetAssistants(filter types.AssistantFilter, locale ...string) // Convert rows to types.AssistantModel slice assistants := make([]*types.AssistantModel, 0, len(rows)) - jsonFields := []string{"tags", "options", "prompts", "prompt_presets", "connector_options", "workflow", "sandbox", "kb", "mcp", "placeholder", "locales", "uses", "search"} + jsonFields := []string{"tags", "options", "prompts", "prompt_presets", "connector_options", "workflow", "sandbox", "kb", "mcp", "placeholder", "locales", "uses", "search", "dependencies"} for _, row := range rows { data := row.ToMap() @@ -543,7 +517,7 @@ func (store *Xun) GetAssistant(assistantID string, fields []string, locale ...st } // Parse JSON fields - jsonFields := []string{"tags", "modes", "options", "prompts", "prompt_presets", "connector_options", "workflow", "sandbox", "kb", "db", "mcp", "placeholder", "locales", "uses", "search"} + jsonFields := []string{"tags", "modes", "options", "prompts", "prompt_presets", "connector_options", "workflow", "sandbox", "kb", "db", "mcp", "placeholder", "locales", "uses", "search", "dependencies"} store.parseJSONFields(data, jsonFields) // Convert map to types.AssistantModel @@ -706,6 +680,16 @@ func (store *Xun) GetAssistant(assistantID string, fields []string, locale ...st } } + if deps, has := data["dependencies"]; has && deps != nil { + raw, err := jsoniter.Marshal(deps) + if err == nil { + var d map[string]string + if err := jsoniter.Unmarshal(raw, &d); err == nil { + model.Dependencies = d + } + } + } + // Apply i18n translation if locale is provided if len(locale) > 0 && locale[0] != "" { store.translate(model, assistantID, locale[0]) diff --git a/agent/store/xun/utils.go b/agent/store/xun/utils.go index 098b2989..13d97d1d 100644 --- a/agent/store/xun/utils.go +++ b/agent/store/xun/utils.go @@ -2,9 +2,44 @@ package xun import ( "fmt" + "reflect" "time" + + jsoniter "github.com/json-iterator/go" ) +// isNil checks whether a value is truly nil, handling the Go typed-nil-in-interface pitfall. +// A nil map, slice, or pointer stored in an interface{} is not == nil in Go; +// this helper uses reflect to detect that case. +func isNil(v interface{}) bool { + if v == nil { + return true + } + rv := reflect.ValueOf(v) + switch rv.Kind() { + case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Interface, reflect.Chan, reflect.Func: + return rv.IsNil() + } + return false +} + +// marshalJSONFields serialises each value in fields to a JSON string and writes +// it into data. Truly-nil values (including typed nils) are skipped so the +// database column keeps its SQL NULL / default. +func marshalJSONFields(data map[string]interface{}, fields map[string]interface{}) error { + for field, value := range fields { + if isNil(value) { + continue + } + jsonStr, err := jsoniter.MarshalToString(value) + if err != nil { + return fmt.Errorf("failed to marshal %s: %w", field, err) + } + data[field] = jsonStr + } + return nil +} + // Helper functions for type conversion func getString(data map[string]interface{}, key string) string { if v, ok := data[key].(string); ok { diff --git a/agent/store/xun/utils_test.go b/agent/store/xun/utils_test.go new file mode 100644 index 00000000..f7efd831 --- /dev/null +++ b/agent/store/xun/utils_test.go @@ -0,0 +1,190 @@ +package xun + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +type testStruct struct{ Name string } + +func TestIsNil(t *testing.T) { + // Untyped nil + t.Run("UntypedNil", func(t *testing.T) { + assert.True(t, isNil(nil)) + }) + + // Typed nil pointer + t.Run("TypedNilPointer", func(t *testing.T) { + var p *testStruct + assert.True(t, isNil(p)) + }) + + // Typed nil map + t.Run("TypedNilMap", func(t *testing.T) { + var m map[string]string + assert.True(t, isNil(m)) + }) + + // Typed nil slice + t.Run("TypedNilSlice", func(t *testing.T) { + var s []string + assert.True(t, isNil(s)) + }) + + // Non-nil pointer + t.Run("NonNilPointer", func(t *testing.T) { + p := &testStruct{Name: "test"} + assert.False(t, isNil(p)) + }) + + // Non-nil map (empty) + t.Run("NonNilEmptyMap", func(t *testing.T) { + m := map[string]string{} + assert.False(t, isNil(m)) + }) + + // Non-nil map with values + t.Run("NonNilMap", func(t *testing.T) { + m := map[string]string{"a": "1"} + assert.False(t, isNil(m)) + }) + + // Non-nil slice (empty) + t.Run("NonNilEmptySlice", func(t *testing.T) { + s := []string{} + assert.False(t, isNil(s)) + }) + + // Non-nil slice with values + t.Run("NonNilSlice", func(t *testing.T) { + s := []string{"a"} + assert.False(t, isNil(s)) + }) + + // Scalar types (never nil) + t.Run("String", func(t *testing.T) { + assert.False(t, isNil("hello")) + }) + t.Run("EmptyString", func(t *testing.T) { + assert.False(t, isNil("")) + }) + t.Run("Int", func(t *testing.T) { + assert.False(t, isNil(42)) + }) + t.Run("Bool", func(t *testing.T) { + assert.False(t, isNil(false)) + }) +} + +func TestMarshalJSONFields(t *testing.T) { + t.Run("SkipUntypedNil", func(t *testing.T) { + data := make(map[string]interface{}) + err := marshalJSONFields(data, map[string]interface{}{ + "field1": nil, + }) + require.NoError(t, err) + _, exists := data["field1"] + assert.False(t, exists, "untyped nil should be skipped") + }) + + t.Run("SkipTypedNilMap", func(t *testing.T) { + data := make(map[string]interface{}) + var m map[string]string + err := marshalJSONFields(data, map[string]interface{}{ + "deps": m, + }) + require.NoError(t, err) + _, exists := data["deps"] + assert.False(t, exists, "typed nil map should be skipped") + }) + + t.Run("SkipTypedNilSlice", func(t *testing.T) { + data := make(map[string]interface{}) + var s []string + err := marshalJSONFields(data, map[string]interface{}{ + "tags": s, + }) + require.NoError(t, err) + _, exists := data["tags"] + assert.False(t, exists, "typed nil slice should be skipped") + }) + + t.Run("SkipTypedNilPointer", func(t *testing.T) { + data := make(map[string]interface{}) + var p *testStruct + err := marshalJSONFields(data, map[string]interface{}{ + "kb": p, + }) + require.NoError(t, err) + _, exists := data["kb"] + assert.False(t, exists, "typed nil pointer should be skipped") + }) + + t.Run("MarshalNonNilMap", func(t *testing.T) { + data := make(map[string]interface{}) + err := marshalJSONFields(data, map[string]interface{}{ + "deps": map[string]string{"echo": "^1.0.0"}, + }) + require.NoError(t, err) + assert.Equal(t, `{"echo":"^1.0.0"}`, data["deps"]) + }) + + t.Run("MarshalEmptyMap", func(t *testing.T) { + data := make(map[string]interface{}) + err := marshalJSONFields(data, map[string]interface{}{ + "deps": map[string]string{}, + }) + require.NoError(t, err) + assert.Equal(t, `{}`, data["deps"]) + }) + + t.Run("MarshalSlice", func(t *testing.T) { + data := make(map[string]interface{}) + err := marshalJSONFields(data, map[string]interface{}{ + "tags": []string{"ai", "bot"}, + }) + require.NoError(t, err) + assert.Equal(t, `["ai","bot"]`, data["tags"]) + }) + + t.Run("MarshalPointer", func(t *testing.T) { + data := make(map[string]interface{}) + err := marshalJSONFields(data, map[string]interface{}{ + "kb": &testStruct{Name: "test"}, + }) + require.NoError(t, err) + assert.Equal(t, `{"Name":"test"}`, data["kb"]) + }) + + t.Run("MixedNilAndNonNil", func(t *testing.T) { + data := make(map[string]interface{}) + var nilMap map[string]string + var nilSlice []string + var nilPtr *testStruct + + err := marshalJSONFields(data, map[string]interface{}{ + "nil_map": nilMap, + "nil_slice": nilSlice, + "nil_ptr": nilPtr, + "nil_raw": nil, + "good_map": map[string]string{"k": "v"}, + "good_list": []string{"a"}, + }) + require.NoError(t, err) + + assert.Len(t, data, 2, "only non-nil fields should be written") + assert.Equal(t, `{"k":"v"}`, data["good_map"]) + assert.Equal(t, `["a"]`, data["good_list"]) + + _, exists := data["nil_map"] + assert.False(t, exists) + _, exists = data["nil_slice"] + assert.False(t, exists) + _, exists = data["nil_ptr"] + assert.False(t, exists) + _, exists = data["nil_raw"] + assert.False(t, exists) + }) +} diff --git a/data/bindata.go b/data/bindata.go index 03685eef..69496782 100644 --- a/data/bindata.go +++ b/data/bindata.go @@ -551,7 +551,7 @@ func cuiSetupIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/setup/index.html", size: 10, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "cui/setup/index.html", size: 10, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -571,7 +571,7 @@ func cuiV09IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v0.9/index.html", size: 13, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "cui/v0.9/index.html", size: 13, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -591,7 +591,7 @@ func cuiV10IndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v1.0/index.html", size: 49, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "cui/v1.0/index.html", size: 49, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -611,7 +611,7 @@ func cuiV10Layouts__indexAsyncJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v1.0/layouts__index.async.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "cui/v1.0/layouts__index.async.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -631,7 +631,7 @@ func cuiV10UmiJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/v1.0/umi.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "cui/v1.0/umi.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -651,7 +651,7 @@ func initCursorSkillsSuiDevelopmentSkillMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/sui-development/SKILL.md", size: 12654, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/sui-development/SKILL.md", size: 12654, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -671,7 +671,7 @@ func initCursorSkillsSuiDevelopmentReferencesBackendApiMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/sui-development/references/backend-api.md", size: 7313, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/sui-development/references/backend-api.md", size: 7313, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -691,7 +691,7 @@ func initCursorSkillsSuiDevelopmentReferencesFrontendApiMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/sui-development/references/frontend-api.md", size: 9375, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/sui-development/references/frontend-api.md", size: 9375, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -711,7 +711,7 @@ func initCursorSkillsSuiDevelopmentReferencesTemplateFunctionsMd() (*asset, erro return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/sui-development/references/template-functions.md", size: 9960, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/sui-development/references/template-functions.md", size: 9960, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -731,7 +731,7 @@ func initCursorSkillsYaoAgentDevelopmentSkillMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/SKILL.md", size: 13543, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/SKILL.md", size: 13543, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -751,7 +751,7 @@ func initCursorSkillsYaoAgentDevelopmentReferencesContextApiMd() (*asset, error) return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/context-api.md", size: 13643, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/context-api.md", size: 13643, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -771,7 +771,7 @@ func initCursorSkillsYaoAgentDevelopmentReferencesHooksPatternsMd() (*asset, err return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/hooks-patterns.md", size: 12826, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/hooks-patterns.md", size: 12826, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -791,7 +791,7 @@ func initCursorSkillsYaoAgentDevelopmentReferencesRuntimeApiMd() (*asset, error) return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/runtime-api.md", size: 16786, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/runtime-api.md", size: 16786, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -811,7 +811,7 @@ func initCursorSkillsYaoAgentDevelopmentReferencesTestingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/testing.md", size: 11412, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.cursor/skills/yao-agent-development/references/testing.md", size: 11412, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -831,7 +831,7 @@ func initEnv() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.env", size: 8585, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.env", size: 8585, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -851,7 +851,7 @@ func initVscodeSettingsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/settings.json", size: 4666, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/settings.json", size: 4666, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -871,7 +871,7 @@ func initVscodeTypesRuntimeAgentDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/agent.d.ts", size: 21775, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/agent.d.ts", size: 21775, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -891,7 +891,7 @@ func initVscodeTypesRuntimeConsoleDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/console.d.ts", size: 694, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/console.d.ts", size: 694, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -911,7 +911,7 @@ func initVscodeTypesRuntimeEvalDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/eval.d.ts", size: 65, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/eval.d.ts", size: 65, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -931,7 +931,7 @@ func initVscodeTypesRuntimeExceptionDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/exception.d.ts", size: 738, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/exception.d.ts", size: 738, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -951,7 +951,7 @@ func initVscodeTypesRuntimeFsDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/fs.d.ts", size: 8554, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/fs.d.ts", size: 8554, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -971,7 +971,7 @@ func initVscodeTypesRuntimeGlobalDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/global.d.ts", size: 2888, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/global.d.ts", size: 2888, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -991,7 +991,7 @@ func initVscodeTypesRuntimeHttpDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/http.d.ts", size: 6179, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/http.d.ts", size: 6179, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1011,7 +1011,7 @@ func initVscodeTypesRuntimeIoDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/io.d.ts", size: 587, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/io.d.ts", size: 587, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1031,7 +1031,7 @@ func initVscodeTypesRuntimeLogDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/log.d.ts", size: 1692, mode: os.FileMode(493), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/log.d.ts", size: 1692, mode: os.FileMode(493), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1051,7 +1051,7 @@ func initVscodeTypesRuntimeNeoDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/neo.d.ts", size: 3750, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/neo.d.ts", size: 3750, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1071,7 +1071,7 @@ func initVscodeTypesRuntimePlanDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/plan.d.ts", size: 2070, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/plan.d.ts", size: 2070, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1091,7 +1091,7 @@ func initVscodeTypesRuntimeProcessFsDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process/fs.d.ts", size: 11133, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/fs.d.ts", size: 11133, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1111,7 +1111,7 @@ func initVscodeTypesRuntimeProcessHttpDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process/http.d.ts", size: 5653, mode: os.FileMode(493), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/http.d.ts", size: 5653, mode: os.FileMode(493), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1131,7 +1131,7 @@ func initVscodeTypesRuntimeProcessModelDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process/model.d.ts", size: 6656, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/model.d.ts", size: 6656, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1151,7 +1151,7 @@ func initVscodeTypesRuntimeProcessDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/process.d.ts", size: 23165, mode: os.FileMode(493), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process.d.ts", size: 23165, mode: os.FileMode(493), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1171,7 +1171,7 @@ func initVscodeTypesRuntimeQueryDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/query.d.ts", size: 6125, mode: os.FileMode(493), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/query.d.ts", size: 6125, mode: os.FileMode(493), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1191,7 +1191,7 @@ func initVscodeTypesRuntimeStoreDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/store.d.ts", size: 5891, mode: os.FileMode(493), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/store.d.ts", size: 5891, mode: os.FileMode(493), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1211,7 +1211,7 @@ func initVscodeTypesRuntimeSuiDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/sui.d.ts", size: 1713, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/sui.d.ts", size: 1713, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1231,7 +1231,7 @@ func initVscodeTypesRuntimeTestingDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/testing.d.ts", size: 9077, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/testing.d.ts", size: 9077, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1251,7 +1251,7 @@ func initVscodeTypesRuntimeTimeDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/time.d.ts", size: 711, mode: os.FileMode(493), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/time.d.ts", size: 711, mode: os.FileMode(493), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1271,7 +1271,7 @@ func initVscodeTypesRuntimeDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime.d.ts", size: 525, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime.d.ts", size: 525, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1291,7 +1291,7 @@ func initVscodeTypesSuiDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/sui.d.ts", size: 18323, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/.vscode/types/sui.d.ts", size: 18323, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1311,7 +1311,7 @@ func initAgentAgentYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/agent.yml", size: 1583, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/agent.yml", size: 1583, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1331,7 +1331,7 @@ func initAgentLocalesEnUsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/locales/en-us.yml", size: 151, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/locales/en-us.yml", size: 151, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1351,7 +1351,7 @@ func initAgentLocalesZhCnYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/locales/zh-cn.yml", size: 135, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/locales/zh-cn.yml", size: 135, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1371,7 +1371,7 @@ func initAgentPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/prompts.yml", size: 713, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/prompts.yml", size: 713, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1391,7 +1391,7 @@ func initAgentSearchYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/search.yml", size: 330, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/search.yml", size: 330, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1411,7 +1411,7 @@ func initAgentTemplate__assetsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1431,7 +1431,7 @@ func initAgentTemplate__assetsBrandsAppleSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/brands/apple.svg", size: 650, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/brands/apple.svg", size: 650, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1451,7 +1451,7 @@ func initAgentTemplate__assetsBrandsGithubSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/brands/github.svg", size: 822, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/brands/github.svg", size: 822, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1471,7 +1471,7 @@ func initAgentTemplate__assetsBrandsGoogleSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/brands/google.svg", size: 457, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/brands/google.svg", size: 457, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1491,7 +1491,7 @@ func initAgentTemplate__assetsBrandsMicrosoftSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/brands/microsoft.svg", size: 206, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/brands/microsoft.svg", size: 206, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1511,7 +1511,7 @@ func initAgentTemplate__assetsCssVarsCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/css/vars.css", size: 7296, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/css/vars.css", size: 7296, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1531,7 +1531,7 @@ func initAgentTemplate__assetsImagesAssistantsExpensePng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/images/assistants/expense.png", size: 1434910, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/images/assistants/expense.png", size: 1434910, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1551,7 +1551,7 @@ func initAgentTemplate__assetsImagesAssistantsTasksSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/images/assistants/tasks.svg", size: 1686, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/images/assistants/tasks.svg", size: 1686, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1571,7 +1571,7 @@ func initAgentTemplate__assetsImagesIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/images/icons/app.png", size: 18302, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/images/icons/app.png", size: 18302, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1591,7 +1591,7 @@ func initAgentTemplate__assetsImagesLogosLogo_colorSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/images/logos/logo_color.svg", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/images/logos/logo_color.svg", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1611,7 +1611,7 @@ func initAgentTemplate__assetsImagesLogosWordmarkSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/images/logos/wordmark.svg", size: 8648, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/images/logos/wordmark.svg", size: 8648, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1631,7 +1631,7 @@ func initAgentTemplate__assetsJsEcharts543MinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/js/echarts-5.4.3.min.js", size: 1024740, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/js/echarts-5.4.3.min.js", size: 1024740, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1651,7 +1651,7 @@ func initAgentTemplate__assetsJsHighlightMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/js/highlight.min.js", size: 65157, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/js/highlight.min.js", size: 65157, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1671,7 +1671,7 @@ func initAgentTemplate__assetsJsRemarkableMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/js/remarkable.min.js", size: 122397, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/js/remarkable.min.js", size: 122397, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1691,7 +1691,7 @@ func initAgentTemplate__assetsJsYaoAgentDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/js/yao-agent.d.ts", size: 2082, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/js/yao-agent.d.ts", size: 2082, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1711,7 +1711,7 @@ func initAgentTemplate__assetsJsYaoAgentJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__assets/js/yao-agent.js", size: 15828, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__assets/js/yao-agent.js", size: 15828, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1731,7 +1731,7 @@ func initAgentTemplate__dataJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__data.json", size: 538, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__data.json", size: 538, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1751,7 +1751,7 @@ func initAgentTemplate__documentHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/__document.html", size: 4391, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/__document.html", size: 4391, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1771,7 +1771,7 @@ func initAgentTemplatePackageJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/package.json", size: 356, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/package.json", size: 356, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1791,7 +1791,7 @@ func initAgentTemplatePages401401Css() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/401/401.css", size: 700, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/401/401.css", size: 700, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1811,7 +1811,7 @@ func initAgentTemplatePages401401Html() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/401/401.html", size: 531, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/401/401.html", size: 531, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1831,7 +1831,7 @@ func initAgentTemplatePages401401Json() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/401/401.json", size: 54, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/401/401.json", size: 54, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1851,7 +1851,7 @@ func initAgentTemplatePages401401Ts() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/401/401.ts", size: 214, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/401/401.ts", size: 214, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1871,7 +1871,7 @@ func initAgentTemplatePages401__localesEnUsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/401/__locales/en-us.yml", size: 145, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/401/__locales/en-us.yml", size: 145, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1891,7 +1891,7 @@ func initAgentTemplatePages401__localesZhCnYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/401/__locales/zh-cn.yml", size: 139, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/401/__locales/zh-cn.yml", size: 139, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1911,7 +1911,7 @@ func initAgentTemplatePages404404Css() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/404/404.css", size: 1877, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/404/404.css", size: 1877, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1931,7 +1931,7 @@ func initAgentTemplatePages404404Html() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/404/404.html", size: 896, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/404/404.html", size: 896, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1951,7 +1951,7 @@ func initAgentTemplatePages404404Json() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/404/404.json", size: 32, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/404/404.json", size: 32, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1971,7 +1971,7 @@ func initAgentTemplatePages404404Ts() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/404/404.ts", size: 450, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/404/404.ts", size: 450, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1991,7 +1991,7 @@ func initAgentTemplatePages404__localesEnUsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/404/__locales/en-us.yml", size: 243, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/404/__locales/en-us.yml", size: 243, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2011,7 +2011,7 @@ func initAgentTemplatePages404__localesZhCnYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/agent/template/pages/404/__locales/zh-cn.yml", size: 232, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/agent/template/pages/404/__locales/zh-cn.yml", size: 232, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2031,7 +2031,7 @@ func initAiDocsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/README.md", size: 6145, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/README.md", size: 6145, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2051,7 +2051,7 @@ func initAiDocsAgentMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/agent.md", size: 11433, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/agent.md", size: 11433, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2071,7 +2071,7 @@ func initAiDocsAttachmentMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/attachment.md", size: 1891, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/attachment.md", size: 1891, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2091,7 +2091,7 @@ func initAiDocsAuthorizedMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/authorized.md", size: 4178, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/authorized.md", size: 4178, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2111,7 +2111,7 @@ func initAiDocsConcurrentMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/concurrent.md", size: 2833, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/concurrent.md", size: 2833, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2131,7 +2131,7 @@ func initAiDocsExcelMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/excel.md", size: 1911, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/excel.md", size: 1911, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2151,7 +2151,7 @@ func initAiDocsExceptionMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/exception.md", size: 1440, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/exception.md", size: 1440, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2171,7 +2171,7 @@ func initAiDocsFfmpegMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/ffmpeg.md", size: 1204, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/ffmpeg.md", size: 1204, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2191,7 +2191,7 @@ func initAiDocsFsMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/fs.md", size: 3614, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/fs.md", size: 3614, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2211,7 +2211,7 @@ func initAiDocsHttpMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/http.md", size: 2110, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/http.md", size: 2110, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2231,7 +2231,7 @@ func initAiDocsJobMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/job.md", size: 3034, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/job.md", size: 3034, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2251,7 +2251,7 @@ func initAiDocsModelMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/model.md", size: 3558, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/model.md", size: 3558, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2271,7 +2271,7 @@ func initAiDocsOfficeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/office.md", size: 1265, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/office.md", size: 1265, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2291,7 +2291,7 @@ func initAiDocsPdfMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/pdf.md", size: 860, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/pdf.md", size: 860, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2311,7 +2311,7 @@ func initAiDocsRssMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/rss.md", size: 7229, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/rss.md", size: 7229, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2331,7 +2331,7 @@ func initAiDocsSitemapMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/sitemap.md", size: 9902, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/sitemap.md", size: 9902, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2351,7 +2351,7 @@ func initAiDocsStoreMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/store.md", size: 3226, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/store.md", size: 3226, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2371,7 +2371,7 @@ func initAiDocsSuiMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/sui.md", size: 22445, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/sui.md", size: 22445, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2391,7 +2391,7 @@ func initAiDocsTestingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/testing.md", size: 13980, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/testing.md", size: 13980, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2411,7 +2411,7 @@ func initAiDocsTextMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/ai-docs/text.md", size: 2401, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/ai-docs/text.md", size: 2401, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2431,7 +2431,7 @@ func initAppYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/app.yao", size: 1894, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/app.yao", size: 1894, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2451,7 +2451,7 @@ func initAssistantsLlmsLocalesEnUsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/llms/locales/en-us.yml", size: 235, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/llms/locales/en-us.yml", size: 235, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2471,7 +2471,7 @@ func initAssistantsLlmsLocalesZhCnYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/llms/locales/zh-cn.yml", size: 231, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/llms/locales/zh-cn.yml", size: 231, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2491,7 +2491,7 @@ func initAssistantsLlmsPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/llms/package.yao", size: 546, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/llms/package.yao", size: 546, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2511,7 +2511,7 @@ func initAssistantsLlmsPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/llms/prompts.yml", size: 127, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/llms/prompts.yml", size: 127, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2531,7 +2531,7 @@ func initAssistantsMessagesLocalesEnUsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/locales/en-us.yml", size: 383, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/locales/en-us.yml", size: 383, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2551,7 +2551,7 @@ func initAssistantsMessagesLocalesZhCnYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/locales/zh-cn.yml", size: 371, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/locales/zh-cn.yml", size: 371, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2571,7 +2571,7 @@ func initAssistantsMessagesPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/package.yao", size: 562, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/package.yao", size: 562, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2591,7 +2591,7 @@ func initAssistantsMessagesSrcActionTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/src/action.ts", size: 4752, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/src/action.ts", size: 4752, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2611,7 +2611,7 @@ func initAssistantsMessagesSrcBasicTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/src/basic.ts", size: 3310, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/src/basic.ts", size: 3310, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2631,7 +2631,7 @@ func initAssistantsMessagesSrcCodeTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/src/code.ts", size: 2463, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/src/code.ts", size: 2463, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2651,7 +2651,7 @@ func initAssistantsMessagesSrcErrorTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/src/error.ts", size: 6281, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/src/error.ts", size: 6281, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2671,7 +2671,7 @@ func initAssistantsMessagesSrcIndexTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/src/index.ts", size: 3326, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/src/index.ts", size: 3326, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2691,7 +2691,7 @@ func initAssistantsMessagesSrcMarkdownTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/messages/src/markdown.ts", size: 7045, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/messages/src/markdown.ts", size: 7045, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2711,7 +2711,7 @@ func initAssistantsYaoLocalesEnUsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/yao/locales/en-us.yml", size: 353, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/yao/locales/en-us.yml", size: 353, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2731,7 +2731,7 @@ func initAssistantsYaoLocalesZhCnYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/yao/locales/zh-cn.yml", size: 363, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/yao/locales/zh-cn.yml", size: 363, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2751,7 +2751,7 @@ func initAssistantsYaoPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/yao/package.yao", size: 582, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/yao/package.yao", size: 582, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2771,7 +2771,7 @@ func initAssistantsYaoPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/assistants/yao/prompts.yml", size: 648, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/assistants/yao/prompts.yml", size: 648, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2791,7 +2791,7 @@ func initConnectorsAnthropicClaudeOpus4_5ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/anthropic/claude-opus-4_5.conn.yao", size: 385, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/anthropic/claude-opus-4_5.conn.yao", size: 385, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2811,7 +2811,7 @@ func initConnectorsAnthropicClaudeSonnet4_5ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/anthropic/claude-sonnet-4_5.conn.yao", size: 389, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/anthropic/claude-sonnet-4_5.conn.yao", size: 389, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2831,7 +2831,7 @@ func initConnectorsAzureGpt5_2ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/azure/gpt-5_2.conn.yao", size: 377, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/azure/gpt-5_2.conn.yao", size: 377, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2851,7 +2851,7 @@ func initConnectorsClaudeHaiku3_0ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/claude/haiku-3_0.conn.yao", size: 250, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/claude/haiku-3_0.conn.yao", size: 250, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2871,7 +2871,7 @@ func initConnectorsClaudeHaiku4_5ThinkingConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/claude/haiku-4_5-thinking.conn.yao", size: 403, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/claude/haiku-4_5-thinking.conn.yao", size: 403, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2891,7 +2891,7 @@ func initConnectorsClaudeHaiku4_5ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/claude/haiku-4_5.conn.yao", size: 306, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/claude/haiku-4_5.conn.yao", size: 306, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2911,7 +2911,7 @@ func initConnectorsClaudeOpus4_6ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/claude/opus-4_6.conn.yao", size: 360, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/claude/opus-4_6.conn.yao", size: 360, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2931,7 +2931,7 @@ func initConnectorsClaudeSonnet4_5ThinkingConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/claude/sonnet-4_5-thinking.conn.yao", size: 405, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/claude/sonnet-4_5-thinking.conn.yao", size: 405, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2951,7 +2951,7 @@ func initConnectorsClaudeSonnet4_5ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/claude/sonnet-4_5.conn.yao", size: 308, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/claude/sonnet-4_5.conn.yao", size: 308, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2971,7 +2971,7 @@ func initConnectorsDeepseekDeepseekChatConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/deepseek/deepseek-chat.conn.yao", size: 377, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/deepseek/deepseek-chat.conn.yao", size: 377, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2991,7 +2991,7 @@ func initConnectorsDeepseekDeepseekReasonerConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/deepseek/deepseek-reasoner.conn.yao", size: 385, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/deepseek/deepseek-reasoner.conn.yao", size: 385, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3011,7 +3011,7 @@ func initConnectorsFireworksLlama4MaverickConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/fireworks/llama-4-maverick.conn.yao", size: 449, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/fireworks/llama-4-maverick.conn.yao", size: 449, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3031,7 +3031,7 @@ func initConnectorsGoogleGemini2_5ProConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/google/gemini-2_5-pro.conn.yao", size: 406, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/google/gemini-2_5-pro.conn.yao", size: 406, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3051,7 +3051,7 @@ func initConnectorsGoogleGemini3FlashConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/google/gemini-3-flash.conn.yao", size: 416, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/google/gemini-3-flash.conn.yao", size: 416, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3071,7 +3071,7 @@ func initConnectorsGroqLlama4MaverickConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/groq/llama-4-maverick.conn.yao", size: 420, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/groq/llama-4-maverick.conn.yao", size: 420, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3091,7 +3091,7 @@ func initConnectorsMetaLlama4MaverickConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/meta/llama-4-maverick.conn.yao", size: 400, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/meta/llama-4-maverick.conn.yao", size: 400, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3111,7 +3111,7 @@ func initConnectorsMistralMistralLarge3ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/mistral/mistral-large-3.conn.yao", size: 381, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/mistral/mistral-large-3.conn.yao", size: 381, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3131,7 +3131,7 @@ func initConnectorsMoonshotKimiK20905PreviewConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-0905-preview.conn.yao", size: 316, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-0905-preview.conn.yao", size: 316, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3151,7 +3151,7 @@ func initConnectorsMoonshotKimiK2ThinkingTurboConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-thinking-turbo.conn.yao", size: 345, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-thinking-turbo.conn.yao", size: 345, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3171,7 +3171,7 @@ func initConnectorsMoonshotKimiK2ThinkingConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-thinking.conn.yao", size: 333, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-thinking.conn.yao", size: 333, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3191,7 +3191,7 @@ func initConnectorsMoonshotKimiK2TurboPreviewConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-turbo-preview.conn.yao", size: 318, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2-turbo-preview.conn.yao", size: 318, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3211,7 +3211,7 @@ func initConnectorsMoonshotKimiK2_5CodeConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2_5-code.conn.yao", size: 303, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2_5-code.conn.yao", size: 303, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3231,7 +3231,7 @@ func initConnectorsMoonshotKimiK2_5ThinkingConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2_5-thinking.conn.yao", size: 401, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2_5-thinking.conn.yao", size: 401, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3251,7 +3251,7 @@ func initConnectorsMoonshotKimiK2_5ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2_5.conn.yao", size: 368, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/moonshot/kimi-k2_5.conn.yao", size: 368, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3271,7 +3271,7 @@ func initConnectorsOllamaDeepseekR1ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/ollama/deepseek-r1.conn.yao", size: 356, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/ollama/deepseek-r1.conn.yao", size: 356, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3291,7 +3291,7 @@ func initConnectorsOllamaGemma3ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/ollama/gemma3.conn.yao", size: 350, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/ollama/gemma3.conn.yao", size: 350, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3311,7 +3311,7 @@ func initConnectorsOllamaLlama3_3ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/ollama/llama3_3.conn.yao", size: 355, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/ollama/llama3_3.conn.yao", size: 355, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3331,7 +3331,7 @@ func initConnectorsOllamaQwen2_50_5bConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/ollama/qwen2_5-0_5b.conn.yao", size: 362, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/ollama/qwen2_5-0_5b.conn.yao", size: 362, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3351,7 +3351,7 @@ func initConnectorsOllamaQwen2_5Coder0_5bYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/ollama/qwen2_5-coder-0_5b.yao", size: 373, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/ollama/qwen2_5-coder-0_5b.yao", size: 373, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3371,7 +3371,7 @@ func initConnectorsOllamaQwen2_5CoderConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/ollama/qwen2_5-coder.conn.yao", size: 364, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/ollama/qwen2_5-coder.conn.yao", size: 364, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3391,7 +3391,7 @@ func initConnectorsOllamaQwen3ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/ollama/qwen3.conn.yao", size: 345, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/ollama/qwen3.conn.yao", size: 345, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3411,7 +3411,7 @@ func initConnectorsOpenaiGpt4oMiniConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/gpt-4o-mini.conn.yao", size: 371, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openai/gpt-4o-mini.conn.yao", size: 371, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3431,7 +3431,7 @@ func initConnectorsOpenaiGpt4oConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/gpt-4o.conn.yao", size: 360, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openai/gpt-4o.conn.yao", size: 360, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3451,7 +3451,7 @@ func initConnectorsOpenaiGpt5_2ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/gpt-5_2.conn.yao", size: 362, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openai/gpt-5_2.conn.yao", size: 362, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3471,7 +3471,7 @@ func initConnectorsOpenaiO3ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/o3.conn.yao", size: 354, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openai/o3.conn.yao", size: 354, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3491,7 +3491,7 @@ func initConnectorsOpenaiTextEmbedding3LargeConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openai/text-embedding-3-large.conn.yao", size: 394, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openai/text-embedding-3-large.conn.yao", size: 394, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3511,7 +3511,7 @@ func initConnectorsOpenrouterAutoConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openrouter/auto.conn.yao", size: 395, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openrouter/auto.conn.yao", size: 395, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3531,7 +3531,7 @@ func initConnectorsOpenrouterClaudeOpus4_5ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openrouter/claude-opus-4_5.conn.yao", size: 409, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openrouter/claude-opus-4_5.conn.yao", size: 409, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3551,7 +3551,7 @@ func initConnectorsOpenrouterNovaPremierConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/openrouter/nova-premier.conn.yao", size: 410, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/openrouter/nova-premier.conn.yao", size: 410, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3571,7 +3571,7 @@ func initConnectorsSiliconflowDeepseekV3ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/siliconflow/deepseek-v3.conn.yao", size: 405, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/siliconflow/deepseek-v3.conn.yao", size: 405, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3591,7 +3591,7 @@ func initConnectorsSiliconflowQwen2_572bConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/siliconflow/qwen-2_5-72b.conn.yao", size: 408, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/siliconflow/qwen-2_5-72b.conn.yao", size: 408, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3611,7 +3611,7 @@ func initConnectorsTogetherDeepseekR1ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/together/deepseek-r1.conn.yao", size: 396, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/together/deepseek-r1.conn.yao", size: 396, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3631,7 +3631,7 @@ func initConnectorsTogetherLlama4MaverickConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/together/llama-4-maverick.conn.yao", size: 429, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/together/llama-4-maverick.conn.yao", size: 429, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3651,7 +3651,7 @@ func initConnectorsVolcengineDeepseekR1ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/volcengine/deepseek-r1.conn.yao", size: 408, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/volcengine/deepseek-r1.conn.yao", size: 408, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3671,7 +3671,7 @@ func initConnectorsVolcengineDeepseekV3ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/volcengine/deepseek-v3.conn.yao", size: 408, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/volcengine/deepseek-v3.conn.yao", size: 408, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3691,7 +3691,7 @@ func initConnectorsVolcengineDoubao1_5ProConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/volcengine/doubao-1_5-pro.conn.yao", size: 412, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/volcengine/doubao-1_5-pro.conn.yao", size: 412, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3711,7 +3711,7 @@ func initConnectorsVolcengineGlm4PlusConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/volcengine/glm-4-plus.conn.yao", size: 399, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/volcengine/glm-4-plus.conn.yao", size: 399, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3731,7 +3731,7 @@ func initConnectorsVolcengineQwenVlMaxConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/volcengine/qwen-vl-max.conn.yao", size: 403, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/volcengine/qwen-vl-max.conn.yao", size: 403, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3751,7 +3751,7 @@ func initConnectorsXaiGrok4ConnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/connectors/xai/grok-4.conn.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/connectors/xai/grok-4.conn.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3771,7 +3771,7 @@ func initDataReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/README.md", size: 41, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/README.md", size: 41, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3791,7 +3791,7 @@ func initDataTemplatesDefault__assetsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3811,7 +3811,7 @@ func initDataTemplatesDefault__assetsBrandsAppleSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/apple.svg", size: 650, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/apple.svg", size: 650, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3831,7 +3831,7 @@ func initDataTemplatesDefault__assetsBrandsDiscordSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/discord.svg", size: 1373, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/discord.svg", size: 1373, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3851,7 +3851,7 @@ func initDataTemplatesDefault__assetsBrandsGithubSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/github.svg", size: 822, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/github.svg", size: 822, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3871,7 +3871,7 @@ func initDataTemplatesDefault__assetsBrandsGoogleSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/google.svg", size: 457, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/google.svg", size: 457, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3891,7 +3891,7 @@ func initDataTemplatesDefault__assetsBrandsMicrosoftSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/microsoft.svg", size: 206, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/microsoft.svg", size: 206, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3911,7 +3911,7 @@ func initDataTemplatesDefault__assetsBrandsTwitterSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/twitter.svg", size: 252, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/twitter.svg", size: 252, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3931,7 +3931,7 @@ func initDataTemplatesDefault__assetsBrandsYaoSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/yao.svg", size: 2894, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/yao.svg", size: 2894, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3951,7 +3951,7 @@ func initDataTemplatesDefault__assetsBrandsYaoagentsSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/yaoagents.svg", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/brands/yaoagents.svg", size: 2608, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3971,7 +3971,7 @@ func initDataTemplatesDefault__assetsImagesIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3991,7 +3991,7 @@ func initDataTemplatesDefault__assetsImagesLogosLogo_colorSvg() (*asset, error) return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4011,7 +4011,7 @@ func initDataTemplatesDefault__assetsImagesLogosWordmarkSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4031,7 +4031,7 @@ func initDataTemplatesDefault__dataJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__data.json", size: 32, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__data.json", size: 32, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4051,7 +4051,7 @@ func initDataTemplatesDefault__documentHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__document.html", size: 492, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__document.html", size: 492, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4071,7 +4071,7 @@ func initDataTemplatesDefaultIndexIndexBackendTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.backend.ts", size: 1033, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.backend.ts", size: 1033, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4091,7 +4091,7 @@ func initDataTemplatesDefaultIndexIndexCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.css", size: 3466, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.css", size: 3466, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4111,7 +4111,7 @@ func initDataTemplatesDefaultIndexIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.html", size: 4708, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.html", size: 4708, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4131,7 +4131,7 @@ func initDataTemplatesDefaultIndexIndexJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.json", size: 52, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.json", size: 52, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4151,7 +4151,7 @@ func initDbReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/db/README.md", size: 84, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/db/README.md", size: 84, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4171,7 +4171,7 @@ func initIconsAppIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4191,7 +4191,7 @@ func initIconsAppIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4211,7 +4211,7 @@ func initIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4231,7 +4231,7 @@ func initLogsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/logs/README.md", size: 28, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/logs/README.md", size: 28, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4251,7 +4251,7 @@ func initMessengersChannelsYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/channels.yao", size: 477, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/channels.yao", size: 477, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4271,7 +4271,7 @@ func initMessengersProvidersPrimarySmtpYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/providers/primary.smtp.yao", size: 440, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/providers/primary.smtp.yao", size: 440, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4291,7 +4291,7 @@ func initMessengersProvidersSecondaryMailgunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/providers/secondary.mailgun.yao", size: 337, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/providers/secondary.mailgun.yao", size: 337, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4311,7 +4311,7 @@ func initMessengersProvidersUnifiedTwilioYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/providers/unified.twilio.yao", size: 508, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/providers/unified.twilio.yao", size: 508, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4331,7 +4331,7 @@ func initMessengersTemplatesEnInvite_memberMailHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/en/invite_member.mail.html", size: 483, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/en/invite_member.mail.html", size: 483, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4351,7 +4351,7 @@ func initMessengersTemplatesEnInvite_memberSmsTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/en/invite_member.sms.txt", size: 114, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/en/invite_member.sms.txt", size: 114, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4371,7 +4371,7 @@ func initMessengersTemplatesEnVerify_emailMailHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/en/verify_email.mail.html", size: 397, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/en/verify_email.mail.html", size: 397, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4391,7 +4391,7 @@ func initMessengersTemplatesEnVerify_mobileSmsTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/en/verify_mobile.sms.txt", size: 124, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/en/verify_mobile.sms.txt", size: 124, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4411,7 +4411,7 @@ func initMessengersTemplatesZhCnInvite_mailHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/zh-cn/invite_mail.html", size: 373, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/zh-cn/invite_mail.html", size: 373, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4431,7 +4431,7 @@ func initMessengersTemplatesZhCnInvite_memberMailHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/zh-cn/invite_member.mail.html", size: 441, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/zh-cn/invite_member.mail.html", size: 441, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4451,7 +4451,7 @@ func initMessengersTemplatesZhCnInvite_smsTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/zh-cn/invite_sms.txt", size: 122, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/zh-cn/invite_sms.txt", size: 122, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4471,7 +4471,7 @@ func initMessengersTemplatesZhCnVerify_emailMailHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/zh-cn/verify_email.mail.html", size: 347, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/zh-cn/verify_email.mail.html", size: 347, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4491,7 +4491,7 @@ func initMessengersTemplatesZhCnVerify_mobileSmsTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/messengers/templates/zh-cn/verify_mobile.sms.txt", size: 114, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/messengers/templates/zh-cn/verify_mobile.sms.txt", size: 114, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4511,7 +4511,7 @@ func initModelsMenuModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/models/menu.mod.yao", size: 3246, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/models/menu.mod.yao", size: 3246, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4531,7 +4531,7 @@ func initOpenapiCertsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/certs/README.md", size: 10174, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/certs/README.md", size: 10174, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4551,7 +4551,7 @@ func initOpenapiCertsMtlsClientCaKeyTestingOnlyDoNotUseInProductionPem() (*asset return nil, err } - info := bindataFileInfo{name: "init/openapi/certs/mtls-client-ca-key-TESTING-ONLY-DO-NOT-USE-IN-PRODUCTION.pem", size: 3268, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/certs/mtls-client-ca-key-TESTING-ONLY-DO-NOT-USE-IN-PRODUCTION.pem", size: 3268, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4571,7 +4571,7 @@ func initOpenapiCertsMtlsClientCaPem() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/certs/mtls-client-ca.pem", size: 2029, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/certs/mtls-client-ca.pem", size: 2029, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4591,7 +4591,7 @@ func initOpenapiCertsSigningCertPem() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/certs/signing-cert.pem", size: 2090, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/certs/signing-cert.pem", size: 2090, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4611,7 +4611,7 @@ func initOpenapiCertsSigningKeyPem() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/certs/signing-key.pem", size: 3272, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/certs/signing-key.pem", size: 3272, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4631,7 +4631,7 @@ func initOpenapiFeaturesAliasYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/features/alias.yml", size: 800, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/features/alias.yml", size: 800, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4651,7 +4651,7 @@ func initOpenapiFeaturesFeaturesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/features/features.yml", size: 1202, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/features/features.yml", size: 1202, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4671,7 +4671,7 @@ func initOpenapiFeaturesUserProfileYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/features/user/profile.yml", size: 96, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/features/user/profile.yml", size: 96, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4691,7 +4691,7 @@ func initOpenapiFeaturesUserTeamYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/features/user/team.yml", size: 286, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/features/user/team.yml", size: 286, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4711,7 +4711,7 @@ func initOpenapiOpenapiYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/openapi.yao", size: 8378, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/openapi.yao", size: 8378, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4731,7 +4731,7 @@ func initOpenapiScopes__yaoYaoYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/__yao/yao.yml", size: 747, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/__yao/yao.yml", size: 747, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4751,7 +4751,7 @@ func initOpenapiScopesAgentAssistantsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/agent/assistants.yml", size: 2054, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/agent/assistants.yml", size: 2054, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4771,7 +4771,7 @@ func initOpenapiScopesAgentRobotsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/agent/robots.yml", size: 4625, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/agent/robots.yml", size: 4625, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4791,7 +4791,7 @@ func initOpenapiScopesAliasYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/alias.yml", size: 18283, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/alias.yml", size: 18283, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4811,7 +4811,7 @@ func initOpenapiScopesApiApiYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/api/api.yml", size: 727, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/api/api.yml", size: 727, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4831,7 +4831,7 @@ func initOpenapiScopesAppMenuYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/app/menu.yml", size: 476, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/app/menu.yml", size: 476, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4851,7 +4851,7 @@ func initOpenapiScopesChatCompletionsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/chat/completions.yml", size: 2001, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/chat/completions.yml", size: 2001, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4871,7 +4871,7 @@ func initOpenapiScopesChatModelsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/chat/models.yml", size: 589, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/chat/models.yml", size: 589, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4891,7 +4891,7 @@ func initOpenapiScopesChatReferencesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/chat/references.yml", size: 581, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/chat/references.yml", size: 581, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4911,7 +4911,7 @@ func initOpenapiScopesChatSessionsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/chat/sessions.yml", size: 1603, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/chat/sessions.yml", size: 1603, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4931,7 +4931,7 @@ func initOpenapiScopesDslDslsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/dsl/dsls.yml", size: 2911, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/dsl/dsls.yml", size: 2911, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4951,7 +4951,7 @@ func initOpenapiScopesFileFilesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/file/files.yml", size: 1486, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/file/files.yml", size: 1486, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4971,7 +4971,7 @@ func initOpenapiScopesJobCategoriesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/job/categories.yml", size: 249, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/job/categories.yml", size: 249, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -4991,7 +4991,7 @@ func initOpenapiScopesJobExecutionsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/job/executions.yml", size: 1217, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/job/executions.yml", size: 1217, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5011,7 +5011,7 @@ func initOpenapiScopesJobJobsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/job/jobs.yml", size: 937, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/job/jobs.yml", size: 937, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5031,7 +5031,7 @@ func initOpenapiScopesJobLogsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/job/logs.yml", size: 564, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/job/logs.yml", size: 564, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5051,7 +5051,7 @@ func initOpenapiScopesJobStatsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/job/stats.yml", size: 419, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/job/stats.yml", size: 419, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5071,7 +5071,7 @@ func initOpenapiScopesKbBackupsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/backups.yml", size: 713, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/backups.yml", size: 713, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5091,7 +5091,7 @@ func initOpenapiScopesKbCollectionsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/collections.yml", size: 1725, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/collections.yml", size: 1725, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5111,7 +5111,7 @@ func initOpenapiScopesKbDocumentsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/documents.yml", size: 2235, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/documents.yml", size: 2235, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5131,7 +5131,7 @@ func initOpenapiScopesKbGraphsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/graphs.yml", size: 1847, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/graphs.yml", size: 1847, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5151,7 +5151,7 @@ func initOpenapiScopesKbHitsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/hits.yml", size: 1766, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/hits.yml", size: 1766, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5171,7 +5171,7 @@ func initOpenapiScopesKbProvidersYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/providers.yml", size: 351, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/providers.yml", size: 351, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5191,7 +5191,7 @@ func initOpenapiScopesKbSearchYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/search.yml", size: 535, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/search.yml", size: 535, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5211,7 +5211,7 @@ func initOpenapiScopesKbSegmentsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/segments.yml", size: 2580, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/segments.yml", size: 2580, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5231,7 +5231,7 @@ func initOpenapiScopesKbVotesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/kb/votes.yml", size: 1805, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/kb/votes.yml", size: 1805, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5251,7 +5251,7 @@ func initOpenapiScopesLlmProvidersYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/llm/providers.yml", size: 268, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/llm/providers.yml", size: 268, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5271,7 +5271,7 @@ func initOpenapiScopesMcpServersYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/mcp/servers.yml", size: 242, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/mcp/servers.yml", size: 242, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5291,7 +5291,7 @@ func initOpenapiScopesMessengerChannelsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/messenger/channels.yml", size: 244, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/messenger/channels.yml", size: 244, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5311,7 +5311,7 @@ func initOpenapiScopesMessengerProvidersYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/messenger/providers.yml", size: 306, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/messenger/providers.yml", size: 306, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5331,7 +5331,7 @@ func initOpenapiScopesMessengerWebhooksYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/messenger/webhooks.yml", size: 512, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/messenger/webhooks.yml", size: 512, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5351,7 +5351,7 @@ func initOpenapiScopesOtpCodesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/otp/codes.yml", size: 346, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/otp/codes.yml", size: 346, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5371,7 +5371,7 @@ func initOpenapiScopesSandboxVncYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/sandbox/vnc.yml", size: 707, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/sandbox/vnc.yml", size: 707, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5391,7 +5391,7 @@ func initOpenapiScopesScopesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/scopes.yml", size: 547, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/scopes.yml", size: 547, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5411,7 +5411,7 @@ func initOpenapiScopesTraceTracesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/trace/traces.yml", size: 1456, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/trace/traces.yml", size: 1456, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5431,7 +5431,7 @@ func initOpenapiScopesUserEntryYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/user/entry.yml", size: 794, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/user/entry.yml", size: 794, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5451,7 +5451,7 @@ func initOpenapiScopesUserFeaturesYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/user/features.yml", size: 231, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/user/features.yml", size: 231, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5471,7 +5471,7 @@ func initOpenapiScopesUserInvitationsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/user/invitations.yml", size: 1458, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/user/invitations.yml", size: 1458, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5491,7 +5491,7 @@ func initOpenapiScopesUserMembersYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/user/members.yml", size: 1873, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/user/members.yml", size: 1873, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5511,7 +5511,7 @@ func initOpenapiScopesUserProfileYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/user/profile.yml", size: 366, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/user/profile.yml", size: 366, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5531,7 +5531,7 @@ func initOpenapiScopesUserTeamsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/scopes/user/teams.yml", size: 1724, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/scopes/user/teams.yml", size: 1724, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5551,7 +5551,7 @@ func initOpenapiUserClientYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/client.yao", size: 624, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/client.yao", size: 624, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5571,7 +5571,7 @@ func initOpenapiUserEntryEnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/entry/en.yao", size: 2494, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/entry/en.yao", size: 2494, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5591,7 +5591,7 @@ func initOpenapiUserEntryZhCnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/entry/zh-cn.yao", size: 2378, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/entry/zh-cn.yao", size: 2378, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5611,7 +5611,7 @@ func initOpenapiUserProvidersAppleYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/providers/apple.yao", size: 946, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/providers/apple.yao", size: 946, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5631,7 +5631,7 @@ func initOpenapiUserProvidersGithubYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/providers/github.yao", size: 428, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/providers/github.yao", size: 428, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5651,7 +5651,7 @@ func initOpenapiUserProvidersGoogleYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/providers/google.yao", size: 434, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/providers/google.yao", size: 434, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5671,7 +5671,7 @@ func initOpenapiUserProvidersMicrosoftYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/providers/microsoft.yao", size: 487, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/providers/microsoft.yao", size: 487, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5691,7 +5691,7 @@ func initOpenapiUserTeamEnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/team/en.yao", size: 2662, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/team/en.yao", size: 2662, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5711,7 +5711,7 @@ func initOpenapiUserTeamZhCnYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/openapi/user/team/zh-cn.yao", size: 2576, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/openapi/user/team/zh-cn.yao", size: 2576, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5731,7 +5731,7 @@ func initScriptsMenuTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/menu.ts", size: 15362, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/scripts/menu.ts", size: 15362, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5751,7 +5751,7 @@ func initScriptsSetupTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/setup.ts", size: 12586, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/scripts/setup.ts", size: 12586, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5771,7 +5771,7 @@ func initSeedsInvitation_codesCsv() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/seeds/invitation_codes.csv", size: 643, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/seeds/invitation_codes.csv", size: 643, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5791,7 +5791,7 @@ func initSeedsMenusCsv() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/seeds/menus.csv", size: 976, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/seeds/menus.csv", size: 976, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5811,7 +5811,7 @@ func initSeedsRolesCsv() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/seeds/roles.csv", size: 2799, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/seeds/roles.csv", size: 2799, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5831,7 +5831,7 @@ func initSeedsTypesCsv() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/seeds/types.csv", size: 3357, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/seeds/types.csv", size: 3357, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5851,7 +5851,7 @@ func initServicesReademeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/services/READEME.md", size: 18, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/services/READEME.md", size: 18, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5871,7 +5871,7 @@ func initSuisWebSuiYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/suis/web.sui.yao", size: 675, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/suis/web.sui.yao", size: 675, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5891,7 +5891,7 @@ func initTsconfigJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/tsconfig.json", size: 178, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "init/tsconfig.json", size: 178, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5911,7 +5911,7 @@ func libsuiIndexTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/index.ts", size: 13051, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "libsui/index.ts", size: 13051, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5931,7 +5931,7 @@ func libsuiOpenapiTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/openapi.ts", size: 22959, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "libsui/openapi.ts", size: 22959, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5951,7 +5951,7 @@ func libsuiUtilsTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/utils.ts", size: 5959, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "libsui/utils.ts", size: 5959, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5971,7 +5971,7 @@ func libsuiYaoTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/yao.ts", size: 4338, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "libsui/yao.ts", size: 4338, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -5991,7 +5991,7 @@ func publicIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6011,7 +6011,7 @@ func uiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6031,7 +6031,7 @@ func yaoAssistantsEntityPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/entity/package.yao", size: 212, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/entity/package.yao", size: 212, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6051,7 +6051,7 @@ func yaoAssistantsEntityPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/entity/prompts.yml", size: 930, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/entity/prompts.yml", size: 930, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6071,7 +6071,7 @@ func yaoAssistantsKeywordPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/keyword/package.yao", size: 200, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/keyword/package.yao", size: 200, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6091,7 +6091,7 @@ func yaoAssistantsKeywordPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/keyword/prompts.yml", size: 990, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/keyword/prompts.yml", size: 990, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6111,7 +6111,7 @@ func yaoAssistantsKeywordSrcIndexTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/keyword/src/index.ts", size: 4104, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/keyword/src/index.ts", size: 4104, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6131,7 +6131,7 @@ func yaoAssistantsNeedsearchPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/needsearch/package.yao", size: 207, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/needsearch/package.yao", size: 207, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6151,7 +6151,7 @@ func yaoAssistantsNeedsearchPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/needsearch/prompts.yml", size: 3092, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/needsearch/prompts.yml", size: 3092, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6171,7 +6171,7 @@ func yaoAssistantsNeedsearchSrcIndexTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/needsearch/src/index.ts", size: 2767, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/needsearch/src/index.ts", size: 2767, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6191,7 +6191,7 @@ func yaoAssistantsPromptPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/prompt/package.yao", size: 186, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/prompt/package.yao", size: 186, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6211,7 +6211,7 @@ func yaoAssistantsPromptPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/prompt/prompts.yml", size: 621, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/prompt/prompts.yml", size: 621, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6231,7 +6231,7 @@ func yaoAssistantsQuerydslPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/querydsl/package.yao", size: 196, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/querydsl/package.yao", size: 196, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6251,7 +6251,7 @@ func yaoAssistantsQuerydslPromptsAggregationYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/aggregation.yml", size: 6982, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/aggregation.yml", size: 6982, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6271,7 +6271,7 @@ func yaoAssistantsQuerydslPromptsComplexYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/complex.yml", size: 7352, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/complex.yml", size: 7352, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6291,7 +6291,7 @@ func yaoAssistantsQuerydslPromptsFilterYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/filter.yml", size: 7087, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/filter.yml", size: 7087, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6311,7 +6311,7 @@ func yaoAssistantsQuerydslPromptsJoinYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/join.yml", size: 8167, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/querydsl/prompts/join.yml", size: 8167, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6331,7 +6331,7 @@ func yaoAssistantsQuerydslPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/querydsl/prompts.yml", size: 5836, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/querydsl/prompts.yml", size: 5836, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6351,7 +6351,7 @@ func yaoAssistantsQuerydslSrcIndexTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/querydsl/src/index.ts", size: 1873, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/querydsl/src/index.ts", size: 1873, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6371,7 +6371,7 @@ func yaoAssistantsRobot_promptPackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/robot_prompt/package.yao", size: 204, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/robot_prompt/package.yao", size: 204, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6391,7 +6391,7 @@ func yaoAssistantsRobot_promptPromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/robot_prompt/prompts.yml", size: 2606, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/robot_prompt/prompts.yml", size: 2606, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6411,7 +6411,7 @@ func yaoAssistantsTitlePackageYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/title/package.yao", size: 178, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/title/package.yao", size: 178, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6431,7 +6431,7 @@ func yaoAssistantsTitlePromptsYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/assistants/title/prompts.yml", size: 958, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/assistants/title/prompts.yml", size: 958, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6451,7 +6451,7 @@ func yaoDataIcons404Png() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6471,7 +6471,7 @@ func yaoDataIconsIconIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6491,7 +6491,7 @@ func yaoDataIconsIconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6511,7 +6511,7 @@ func yaoDataIconsIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/icons/icon.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6531,7 +6531,7 @@ func yaoDataIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6551,7 +6551,7 @@ func yaoDataKbProvidersChunkingSemanticEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/chunking/semantic/en.json", size: 5543, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/semantic/en.json", size: 5543, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6571,7 +6571,7 @@ func yaoDataKbProvidersChunkingSemanticZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/chunking/semantic/zh-cn.json", size: 5446, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/semantic/zh-cn.json", size: 5446, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6591,7 +6591,7 @@ func yaoDataKbProvidersChunkingStructuredEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/chunking/structured/en.json", size: 2423, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/structured/en.json", size: 2423, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6611,7 +6611,7 @@ func yaoDataKbProvidersChunkingStructuredZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/chunking/structured/zh-cn.json", size: 2321, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/structured/zh-cn.json", size: 2321, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6631,7 +6631,7 @@ func yaoDataKbProvidersConverterMcpEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/mcp/en.json", size: 4235, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/mcp/en.json", size: 4235, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6651,7 +6651,7 @@ func yaoDataKbProvidersConverterMcpZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/mcp/zh-cn.json", size: 4060, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/mcp/zh-cn.json", size: 4060, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6671,7 +6671,7 @@ func yaoDataKbProvidersConverterOcrEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/ocr/en.json", size: 6631, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/ocr/en.json", size: 6631, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6691,7 +6691,7 @@ func yaoDataKbProvidersConverterOcrZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/ocr/zh-cn.json", size: 6501, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/ocr/zh-cn.json", size: 6501, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6711,7 +6711,7 @@ func yaoDataKbProvidersConverterOfficeEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/office/en.json", size: 5476, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/office/en.json", size: 5476, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6731,7 +6731,7 @@ func yaoDataKbProvidersConverterOfficeZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/office/zh-cn.json", size: 5356, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/office/zh-cn.json", size: 5356, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6751,7 +6751,7 @@ func yaoDataKbProvidersConverterUtf8EnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/utf8/en.json", size: 292, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/utf8/en.json", size: 292, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6771,7 +6771,7 @@ func yaoDataKbProvidersConverterUtf8ZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/utf8/zh-cn.json", size: 281, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/utf8/zh-cn.json", size: 281, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6791,7 +6791,7 @@ func yaoDataKbProvidersConverterVideoEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/video/en.json", size: 6411, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/video/en.json", size: 6411, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6811,7 +6811,7 @@ func yaoDataKbProvidersConverterVideoZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/video/zh-cn.json", size: 6297, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/video/zh-cn.json", size: 6297, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6831,7 +6831,7 @@ func yaoDataKbProvidersConverterVisionEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/vision/en.json", size: 4085, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/vision/en.json", size: 4085, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6851,7 +6851,7 @@ func yaoDataKbProvidersConverterVisionZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/vision/zh-cn.json", size: 3949, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/vision/zh-cn.json", size: 3949, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6871,7 +6871,7 @@ func yaoDataKbProvidersConverterWhisperEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/whisper/en.json", size: 4449, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/whisper/en.json", size: 4449, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6891,7 +6891,7 @@ func yaoDataKbProvidersConverterWhisperZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/converter/whisper/zh-cn.json", size: 4312, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/whisper/zh-cn.json", size: 4312, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6911,7 +6911,7 @@ func yaoDataKbProvidersEmbeddingFastembedEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/embedding/fastembed/en.json", size: 6865, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/fastembed/en.json", size: 6865, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6931,7 +6931,7 @@ func yaoDataKbProvidersEmbeddingFastembedZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/embedding/fastembed/zh-cn.json", size: 6685, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/fastembed/zh-cn.json", size: 6685, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6951,7 +6951,7 @@ func yaoDataKbProvidersEmbeddingOpenaiEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/embedding/openai/en.json", size: 5636, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/openai/en.json", size: 5636, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6971,7 +6971,7 @@ func yaoDataKbProvidersEmbeddingOpenaiZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/embedding/openai/zh-cn.json", size: 5463, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/openai/zh-cn.json", size: 5463, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -6991,7 +6991,7 @@ func yaoDataKbProvidersExtractionOpenaiEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/extraction/openai/en.json", size: 9110, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/extraction/openai/en.json", size: 9110, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7011,7 +7011,7 @@ func yaoDataKbProvidersExtractionOpenaiZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/extraction/openai/zh-cn.json", size: 8827, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/extraction/openai/zh-cn.json", size: 8827, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7031,7 +7031,7 @@ func yaoDataKbProvidersFetcherHttpEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/http/en.json", size: 5885, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/http/en.json", size: 5885, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7051,7 +7051,7 @@ func yaoDataKbProvidersFetcherHttpZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/http/zh-cn.json", size: 5925, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/http/zh-cn.json", size: 5925, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7071,7 +7071,7 @@ func yaoDataKbProvidersFetcherMcpEnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/mcp/en.json", size: 6819, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/mcp/en.json", size: 6819, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7091,7 +7091,7 @@ func yaoDataKbProvidersFetcherMcpZhCnJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/mcp/zh-cn.json", size: 6611, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/mcp/zh-cn.json", size: 6611, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7111,7 +7111,7 @@ func yaoFieldsModelTransJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/fields/model.trans.json", size: 14938, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/fields/model.trans.json", size: 14938, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7131,7 +7131,7 @@ func yaoLangsEnUsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/en-US.json", size: 66, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/langs/en-US.json", size: 66, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7151,7 +7151,7 @@ func yaoLangsZhCnGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7171,7 +7171,7 @@ func yaoLangsZhCnLoginsAdminLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7191,7 +7191,7 @@ func yaoLangsZhCnLoginsUserLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-cn/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7211,7 +7211,7 @@ func yaoLangsZhHkGlobalYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7231,7 +7231,7 @@ func yaoLangsZhHkLoginsAdminLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7251,12 +7251,12 @@ func yaoLangsZhHkLoginsUserLoginYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/langs/zh-hk/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _yaoModelsAgentAssistantModYao = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\x5b\x6f\xdc\xb6\x12\x7e\xf7\xaf\x18\xe8\x29\x01\x14\x27\xe7\x00\xe7\xa0\xf6\x53\x9d\x18\x68\x8d\xc6\x8d\x91\x4b\xf3\x10\x04\x8b\x91\x34\xab\x65\x4d\x91\x2a\x39\xb2\xbd\x35\xfc\xdf\x0b\x52\xda\x15\xb5\xe2\x5e\xb4\x6e\x5e\x92\x35\x39\x33\xfc\xe6\xc2\x99\xe1\xe8\xf1\x04\x20\x51\x58\x51\x72\x0e\xc9\x85\xb5\xc2\x32\x2a\x4e\x52\xb7\x2c\x31\x23\x19\x59\x2f\xc8\xe6\x46\xd4\x2c\xb4\x1a\xec\x02\x63\x26\x09\xe6\xda\x80\x65\x6d\x84\x2a\xe1\xe2\x0a\x70\xbd\x9d\x6b\x35\x17\x65\x63\xd0\x71\x5a\x40\x55\x40\x45\x8c\x05\x32\xb6\x82\x19\x4b\x9b\x9c\xc3\xb7\x04\x4b\x72\x87\x41\x62\x97\x96\xa9\x4a\xbe\xfb\xed\xac\x11\x92\x85\x3b\x93\x4d\x43\x7e\xc9\x10\x16\x5a\xc9\x65\xb8\x66\xb5\xe1\xe4\x1c\xce\xce\xce\xce\x3a\xa9\x99\x74\xea\x3d\xf6\x8a\x7a\xf9\x33\xec\xd5\x82\x24\xd7\x55\xe5\x0e\x75\x0a\xb9\xdd\x00\x77\x2b\x00\x9e\xbc\xb4\x5c\xcb\xa6\x52\x1e\xe6\x09\x00\xc0\xa3\xff\x37\x30\xa2\x28\xbc\x32\x7e\x8d\x97\xb5\x5f\xbb\xba\xec\xd7\xc6\x56\x85\x70\x3b\xc0\xf1\x45\x89\xbf\x1a\x0a\x80\x88\x82\x14\x8b\xb9\x20\x93\x78\xf2\xa7\x34\x0e\x61\xcd\x31\x8b\x81\xb1\xec\x5c\x73\x0c\xa0\x8b\x18\x92\x5e\x0e\xa9\x92\x17\xc9\x39\xfc\xf7\xcd\x9b\xf5\xa2\x6a\xa4\xec\xec\x3f\x47\x69\x69\xbd\xd1\x78\xe5\x02\xbf\xf9\x55\xa1\x0a\x7a\xe8\x16\x77\xaa\xe8\x95\x39\x5c\xb5\xcf\x03\xf2\xa8\x4a\x43\x89\x51\x65\x0a\x9a\x63\x23\x79\x60\xe2\x64\x3a\x76\xff\xff\xe1\xd8\x7f\x1f\x90\x47\xb1\x0f\x25\xee\x73\xc4\x5e\x80\x78\x87\x8c\x66\x4a\xe4\x6c\x30\x44\x41\xb6\x52\xe1\xcb\xc7\xf7\xff\x22\xd4\x5c\x2b\x45\x39\xeb\x29\x68\xdf\x8d\x79\xa2\x80\x3b\x77\xc3\xfa\x8c\x14\xc4\x1c\x94\x66\xb0\xc4\x29\x34\x96\x80\x17\x04\xa5\xd4\x19\xca\x31\xf5\xc4\x9b\x71\x98\x9a\x33\xed\xf3\xae\x1d\xab\xfb\xa7\xd5\x6a\x97\xb2\xf0\x61\x93\x33\x50\xba\xa7\xb2\x24\x29\x77\x84\xd0\x9d\x74\xde\xfd\x40\x09\x73\x89\x65\xea\xfc\x28\x3c\xf2\x5e\x55\x0b\x52\x58\x4e\x7d\x4a\xcf\xb1\xc6\x4c\x48\xc1\x4b\x98\x0b\xc9\x64\x82\x13\xa7\x78\x36\xac\x32\x87\xfb\xf6\x32\xc6\xb5\xc5\xbb\x11\xca\xb5\xa7\xfe\xbf\x3d\x1e\xa7\x5f\xf8\xb5\x49\x04\x45\x1c\xb7\x3d\x4e\xa3\x6c\x51\x65\xc2\x13\x42\xcd\x7c\x94\xce\x1b\xe9\x8b\xf2\x47\x9d\x69\x06\x6d\xf2\x05\x59\x6e\xab\xf0\x8f\xd6\xbc\x46\x5e\x4c\xd0\xf8\x66\x40\x1e\xd5\xd4\x75\x16\x58\x12\x0c\x25\x3f\x3b\x8f\xf8\xa6\x61\x04\x54\x28\xa6\x72\x50\xe3\x56\x48\x3f\x0d\xe8\xe3\x48\xb5\x71\xd6\x2e\x42\xfe\xbe\x82\xac\xda\x93\x69\xf6\xf4\x2d\xd0\x4c\x44\x6e\x44\xa6\xb5\x24\x8c\x65\x80\xb7\x8e\x07\xae\xe2\xf7\xe1\xeb\x82\x78\x41\x06\x78\x21\x2c\x08\x0b\x08\xfe\x88\x57\x42\x41\xa4\xc4\xf5\xf0\x87\xc5\xfc\xf0\x78\x90\x98\xd3\x42\xcb\x81\x51\xf6\x64\xb0\x9b\x18\x4f\xd4\xe2\x51\xe9\x53\xa2\x60\x6a\x72\xdd\x95\x52\x7b\x58\x23\xa9\x53\x20\xd5\x46\x57\x35\x1f\x0e\xe9\x66\x93\x7e\x67\x69\x1b\x49\x9f\x0e\x6d\x56\x1b\xb2\x34\x19\x21\xdc\x6c\xb2\x05\x40\x3b\x92\x4e\x32\x68\x53\xa2\x12\x7f\x53\x01\xd9\x12\x2a\x5d\x10\xbc\xa0\xd3\xf2\x34\x85\x7c\x81\x9c\x02\xa3\xbd\x4d\x81\x38\x3f\x7d\x79\x64\xa9\x11\xd6\x91\xce\xda\x4a\x3e\xdb\x6a\xf2\xed\x77\xec\xb2\x95\x00\xbf\xb4\xbd\xc0\x2e\x27\xac\x6f\x9c\x86\xee\xdc\x55\x07\xd1\x9d\xeb\x73\xb5\xbf\x8f\x3f\xe2\x06\xde\x6b\x73\x3b\x97\xfa\xfe\x60\x77\x7d\x1d\x31\x44\x23\x6a\x2c\x77\x8a\x07\x6e\xb3\x83\xf1\xfc\xa6\xf4\xbd\xa4\xa2\x24\x78\x8b\x76\x5f\x63\x7c\xbb\x26\xce\xd0\xba\x86\x45\x76\xdd\xcd\xb1\x4d\xc9\xe1\x38\x2f\x91\x31\xdb\x8f\xb0\xe8\xc8\x7c\x5c\xcb\x23\x61\x55\x79\x7d\x30\xae\xeb\x77\x37\xf0\x89\xcc\xdd\xa0\x31\x0b\xa0\xb9\x7d\xdb\xee\x07\xad\x5e\x1b\x93\xe1\x63\x94\xb5\xeb\x2d\x8e\xc3\x6b\x51\x15\x99\x7e\x38\x18\xf3\xa7\x4d\xfa\x00\x6f\xb7\x37\x9c\x2e\x78\xbc\xb9\x2e\x84\x2a\xc1\x3f\xf6\x2d\xbc\x70\x3c\xa8\x8a\x14\x44\x85\x25\xa5\xc0\xa2\x22\xdd\xf0\xb3\x32\x87\xd5\x8d\xc9\x23\x8f\x39\xa6\x07\x8e\x76\x0d\x43\xf2\x40\x8d\x5f\xb5\xbe\x85\xb6\x6f\x83\x56\xaa\xc3\x7f\xa4\x7d\xfd\x20\xe5\x50\xe3\x7e\x1e\x10\xc7\xdf\xc6\x03\x92\x49\x91\xa9\x8b\x58\xcf\xbb\x2d\x36\x87\xd4\xa1\x97\x9b\xba\xd6\x86\xa9\xf0\xf7\xc4\x8e\x0b\xc0\xcb\x14\x1c\x2e\xa8\x08\x95\x05\x74\xbf\x3c\x21\x1a\x02\xbb\x62\x3e\xf6\x25\xe2\x73\xee\xac\x1a\xf8\xe3\x80\xa7\x48\x5b\x63\xaf\x07\x6c\x81\x4e\x2b\x02\x5f\xd1\x46\x17\x2c\xd2\xdc\xfe\xef\xb8\xde\x76\x3d\x24\x9b\x50\xd0\x3e\x8e\x78\xa2\x81\xb1\x12\x0d\x96\x91\x1b\x7b\x5c\x9d\xda\xd2\x5d\x34\x99\x14\xf9\x14\xcc\x37\x9e\x03\x2e\xc6\x16\xdc\xd6\xf0\x06\xa3\x35\x0b\x76\x81\x86\x0a\xc0\xdc\x68\xdb\x46\x10\x13\x56\x16\x84\xf2\x8e\xa9\x25\xf2\x5c\x9b\x6a\xbf\x8e\x93\x5e\xf6\xfe\xd4\xb1\x96\xa4\x9a\x2a\x96\x40\x86\xd4\xf1\x77\xc7\x02\xfd\xec\xd5\xe6\x3a\x9c\x68\xe9\xd5\xc0\xf6\x5b\xb7\x02\xae\x83\x13\x77\xc8\x94\xa4\xf0\xfa\x35\x7c\x70\x7e\xbc\x13\x56\xb8\x7c\xcf\xda\x2b\xad\xef\x15\x99\x9e\xde\x19\x24\x71\xb4\x7f\xf4\x64\x2b\x43\x41\x45\x55\x46\xc6\x76\xd4\xdf\x23\x66\xea\xcf\xdb\x66\xaa\x23\xe2\x44\xea\x1c\xe5\x84\x1c\xf3\x7e\x93\x3e\x3e\xe0\xfc\xcf\x4f\x0a\x46\xa2\xa7\xdc\xba\xc6\x4e\x00\xf5\xc5\xee\x43\xf4\xca\xd6\x94\x8b\xb9\xc8\xe1\xde\x60\x5d\x93\xd9\x1c\xa7\xbb\x04\xe2\xbc\xe7\x1e\xfd\xd8\x14\x42\xb7\x85\x0d\xae\x36\x46\x56\x5d\xb3\x69\x89\x59\xa8\x63\xd3\xba\x25\x34\x79\xe4\x65\xbf\xad\x7e\x6f\x90\x87\x89\xdd\x6f\x6d\x54\xef\x17\xf7\x94\xa5\x70\x9b\xa5\x50\x64\x29\xe4\x82\xb1\x1d\x66\xdc\x93\x28\x17\x6c\x9f\x55\xb2\xb1\x61\x5d\xe1\xa0\x18\xec\x4f\x2d\x17\x63\xa6\xf8\x8c\x73\x45\xb7\x23\x21\x1e\x37\x49\x71\x67\x09\xad\xbc\x96\x13\x80\x5f\xc7\xd8\xf6\xa7\xc3\x1c\x15\xb8\x28\x43\xe3\xd2\xdf\xcf\xd0\x9d\xee\xc7\x7c\x47\xe8\x74\xd2\xe5\x83\xc4\x90\x6c\xc3\x35\x39\xef\x54\x4c\x5c\x09\xef\xff\x0c\x94\x5a\xa0\xbd\x46\x15\x54\x20\xdf\x21\xbb\x9d\xd9\x6c\x89\xfa\xd4\xf7\x75\xa7\x8e\xbd\x27\xb9\xa5\x65\xb2\xf5\x03\xc8\x5c\x1b\x12\xa5\x1a\x11\xac\x31\xb6\x5f\x78\x3c\x7c\xda\xf9\x85\xe7\x61\xb6\xf1\x05\x69\xe6\x40\xcf\x56\x1f\xa8\x02\x43\xaf\x3f\x16\x75\x5f\x2c\x82\x11\xce\xf7\x91\x1b\x5b\xc3\xc5\xdc\x74\xe5\x76\xfc\x15\xc7\xc1\x07\x0b\x3f\x71\x5d\x4f\x6c\xba\x98\xdb\x19\x47\x31\xf0\x76\x63\x98\xd5\x83\x6e\x77\xc2\x4b\xf3\x5c\xd4\x4e\xa2\xef\xca\x55\xb1\xba\x2d\xae\x2c\x6d\xc4\xc9\xba\x58\x3d\x42\xe2\xfa\x74\xcb\x58\xd5\x76\x15\x68\xae\xef\x9e\xf3\xac\x20\x49\xec\x1d\xd5\xd6\x0e\x48\x6a\x32\x95\xb0\xb6\x65\x75\xa4\xf0\x74\xf2\x74\xf2\x4f\x00\x00\x00\xff\xff\xcc\xd2\xd8\xdf\xe4\x1c\x00\x00") +var _yaoModelsAgentAssistantModYao = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\xdd\x6f\xdc\x38\x0e\x7f\xcf\x5f\x41\xf8\xa9\x05\xdc\xb4\x77\xc0\x1d\x2e\x79\x38\x6c\xda\x00\xbb\xc1\x36\xdb\xa0\x1f\xdb\x87\xa2\x18\xd0\x36\xc7\xa3\x8d\x2c\x79\x25\x3a\xc9\x6c\x90\xff\x7d\x21\xd9\x33\x96\xc7\x9a\x0f\x4f\xb6\x2f\xed\x44\x22\xa9\x1f\x3f\x44\x52\xf4\xe3\x09\x40\xa2\xb0\xa2\xe4\x1c\x92\x0b\x6b\x85\x65\x54\x9c\xa4\x6e\x59\x62\x46\x32\xb2\x5e\x90\xcd\x8d\xa8\x59\x68\x35\xd8\x05\xc6\x4c\x12\xcc\xb5\x01\xcb\xda\x08\x55\xc2\xc5\x15\xe0\x7a\x3b\xd7\x6a\x2e\xca\xc6\xa0\xe3\xb4\x80\xaa\x80\x8a\x18\x0b\x64\x6c\x05\x33\x96\x36\x39\x87\x6f\x09\x96\xe4\x0e\x83\xc4\x2e\x2d\x53\x95\x7c\xf7\xdb\x59\x23\x24\x0b\x77\x26\x9b\x86\xfc\x92\x21\x2c\xb4\x92\xcb\x70\xcd\x6a\xc3\xc9\x39\x9c\x9d\x9d\x9d\x75\x52\x33\xe9\xd4\x7b\xec\x15\xf5\xf2\x67\xd8\xab\x05\x49\xae\xab\xca\x1d\xea\x14\x72\xbb\x01\xee\x56\x00\x3c\x79\x69\xb9\x96\x4d\xa5\x3c\xcc\x13\x00\x80\x47\xff\x6f\x60\x44\x51\x78\x65\xfc\x1a\x2f\x6b\xbf\x76\x75\xd9\xaf\x8d\xad\x0a\xe1\x76\x80\xe3\x8b\x12\x7f\x36\x14\x00\x11\x05\x29\x16\x73\x41\x26\xf1\xe4\x4f\x69\x1c\xc2\x9a\x63\x16\x03\x63\xd9\xb9\xe6\x18\x40\x17\x31\x24\xbd\x1c\x52\x25\x2f\x92\x73\xf8\xf7\x9b\x37\xeb\x45\xd5\x48\xd9\xd9\x7f\x8e\xd2\xd2\x7a\xa3\xf1\xca\x05\x7e\xf3\xab\x42\x15\xf4\xd0\x2d\xee\x54\xd1\x2b\x73\xb8\x6a\x9f\x07\xe4\x51\x95\x86\x12\xa3\xca\x14\x34\xc7\x46\xf2\xc0\xc4\xc9\x74\xec\xfe\xff\xc3\xb1\xff\x36\x20\x8f\x62\x1f\x4a\xdc\xe7\x88\xbd\x00\xf1\x0e\x19\xcd\x94\xc8\xd9\x60\x88\x82\x6c\xa5\xc2\x97\x8f\xef\xff\x41\xa8\xb9\x56\x8a\x72\xd6\x53\xd0\xbe\x1b\xf3\x44\x01\x77\xee\x86\xf5\x19\x29\x88\x39\x28\xcd\x60\x89\x53\x68\x2c\x01\x2f\x08\x4a\xa9\x33\x94\x63\xea\x89\x37\xe3\x30\x35\x67\xda\xe7\x5d\x3b\x56\xf7\x0f\xab\xd5\x2e\x65\xe1\xc3\x26\x67\xa0\x74\x4f\x65\x49\x52\xee\x08\xa1\x3b\xe9\xbc\xfb\x81\x12\xe6\x12\xcb\xd4\xf9\x51\x78\xe4\xbd\xaa\x16\xa4\xb0\x9c\xfa\x94\x9e\x63\x8d\x99\x90\x82\x97\x30\x17\x92\xc9\x04\x27\x4e\xf1\x6c\x58\x65\x0e\xf7\xed\x65\x8c\x6b\x8b\x77\x23\x94\x6b\x4f\xfd\x77\x7b\x3c\x4e\xbf\xf0\x6b\x93\x08\x8a\x38\x6e\x7b\x9c\x46\xd9\xa2\xca\x84\x27\x84\x9a\xf9\x28\x9d\x37\xd2\x17\xe5\x8f\x3a\xd3\x0c\xda\xe4\x0b\xb2\xdc\x56\xe1\x1f\xad\x79\x8d\xbc\x98\xa0\xf1\xcd\x80\x3c\xaa\xa9\xeb\x2c\xb0\x24\x18\x4a\x7e\x76\x1e\xf1\x4d\xc3\x08\xa8\x50\x4c\xe5\xa0\xc6\xad\x90\x7e\x1a\xd0\xc7\x91\x6a\xe3\xac\x5d\x84\xfc\x7d\x05\x59\xb5\x27\xd3\xec\xe9\x5b\xa0\x99\x88\xdc\x88\x4c\x6b\x49\x18\xcb\x00\x6f\x1d\x0f\x5c\xc5\xef\xc3\xd7\x05\xf1\x82\x0c\xf0\x42\x58\x10\x16\x10\xfc\x11\xaf\x84\x82\x48\x89\xeb\xe1\x0f\x8b\xf9\xe1\xf1\x20\x31\xa7\x85\x96\x03\xa3\xec\xc9\x60\x37\x31\x9e\xa8\xc5\xa3\xd2\xa7\x44\xc1\xd4\xe4\xba\x2b\xa5\xf6\xb0\x46\x52\xa7\x40\xaa\x8d\xae\x6a\x3e\x1c\xd2\xcd\x26\xfd\xce\xd2\x36\x92\x3e\x1d\xda\xac\x36\x64\x69\x32\x42\xb8\xd9\x64\x0b\x80\x76\x24\x9d\x64\xd0\xa6\x44\x25\xfe\xa2\x02\xb2\x25\x54\xba\x20\x78\x41\xa7\xe5\x69\x0a\xf9\x02\x39\x05\x46\x7b\x9b\x02\x71\x7e\xfa\xf2\xc8\x52\x23\xac\x23\x9d\xb5\x95\x7c\xb6\xd5\xe4\xdb\xef\xd8\x65\x2b\x01\x7e\x6e\x7b\x81\x5d\x4e\x58\xdf\x38\x0d\xdd\xb9\xab\x0e\xa2\x3b\xd7\xe7\x6a\x7f\x1f\x7f\xc4\x0d\xbc\xd7\xe6\x76\x2e\xf5\xfd\xc1\xee\xfa\x3a\x62\x88\x46\xd4\x58\xee\x14\x0f\xdc\x66\x07\xe3\xf9\x55\xe9\x7b\x49\x45\x49\xf0\x16\xed\xbe\xc6\xf8\x76\x4d\x9c\xa1\x75\x0d\x8b\xec\xba\x9b\x63\x9b\x92\xc3\x71\x5e\x22\x63\xb6\x1f\x61\xd1\x91\xf9\xb8\x96\x47\xc2\xaa\xf2\xfa\x60\x5c\xd7\xef\x6e\xe0\x13\x99\xbb\x41\x63\x16\x40\x73\xfb\xb6\xdd\x0f\x5a\xbd\x36\x26\xc3\xc7\x28\x6b\xd7\x5b\x1c\x87\xd7\xa2\x2a\x32\xfd\x70\x30\xe6\x4f\x9b\xf4\x01\xde\x6e\x6f\x38\x5d\xf0\x78\x73\x5d\x08\x55\x82\x7f\xec\x5b\x78\xe1\x78\x50\x15\x29\x88\x0a\x4b\x4a\x81\x45\x45\xba\xe1\x67\x65\x0e\xab\x1b\x93\x47\x1e\x73\x4c\x0f\x1c\xed\x1a\x86\xe4\x81\x1a\xbf\x68\x7d\x0b\x6d\xdf\x06\xad\x54\x87\xff\x48\xfb\xfa\x41\xca\xa1\xc6\xfd\x3c\x20\x8e\xbf\x8d\x07\x24\x93\x22\x53\x17\xb1\x9e\x77\x5b\x6c\x0e\xa9\x43\x2f\x37\x75\xad\x0d\x53\xe1\xef\x89\x1d\x17\x80\x97\x29\x38\x5c\x50\x11\x2a\x0b\xe8\x7e\x79\x42\x34\x04\x76\xc5\x7c\xec\x4b\xc4\xe7\xdc\x59\x35\xf0\xc7\x01\x4f\x91\xb6\xc6\x5e\x0f\xd8\x02\x9d\x56\x04\xbe\xa2\x8d\x2e\x58\xa4\xb9\xfd\xcf\x71\xbd\xed\x7a\x48\x36\xa1\xa0\x7d\x1c\xf1\x44\x03\x63\x25\x1a\x2c\x23\x37\xf6\xb8\x3a\xb5\xa5\xbb\x68\x32\x29\xf2\x29\x98\x6f\x3c\x07\x5c\x8c\x2d\xb8\xad\xe1\x0d\x46\x6b\x16\xec\x02\x0d\x15\x80\xb9\xd1\xb6\x8d\x20\x26\xac\x2c\x08\xe5\x1d\x53\x4b\xe4\xb9\x36\xd5\x7e\x1d\x27\xbd\xec\xfd\xa9\x63\x2d\x49\x35\x55\x2c\x81\x0c\xa9\xe3\xef\x8e\x05\xfa\xd9\xab\xcd\x75\x38\xd1\xd2\xab\x81\xed\xb7\x6e\x05\x5c\x07\x27\xee\x90\x29\x49\xe1\xf5\x6b\xf8\xe0\xfc\x78\x27\xac\x70\xf9\x9e\xb5\x57\x5a\xdf\x2b\x32\x3d\xbd\x33\x48\xe2\x68\x7f\xef\xc9\x56\x86\x82\x8a\xaa\x8c\x8c\xed\xa8\xbf\x47\xcc\xd4\x9f\xb7\xcd\x54\x47\xc4\x89\xd4\x39\xca\x09\x39\xe6\xfd\x26\x7d\x7c\xc0\xf9\xaf\xff\x29\x18\x89\x9e\x72\xeb\x1a\x3b\x01\xd4\x17\xbb\x0f\xd1\x2b\x5b\x53\x2e\xe6\x22\x87\x7b\x83\x75\x4d\x66\x73\x9c\xee\x12\x88\xf3\x9e\x7b\xf4\x63\x53\x08\xdd\x16\x36\xb8\xda\x18\x59\x75\xcd\xa6\x25\x66\xa1\x8e\x4d\xeb\x96\xd0\xe4\x91\x97\xfd\xb6\xfa\xbd\x41\x1e\x26\x76\xbf\xb5\x51\xbd\x5f\xdc\x53\x96\xc2\x6d\x96\x42\x91\xa5\x90\x0b\xc6\x76\x98\x71\x4f\xa2\x5c\xb0\x7d\x5e\xb3\x4f\x35\xa9\x82\x54\x1e\x1d\xc6\x6c\x6b\xe6\xa2\x4c\x83\x5c\xde\x13\x80\x56\xa0\x7d\x92\x71\xbd\xd4\x3b\x29\xda\xfe\xc3\x01\x80\x57\xff\x07\xd7\x59\x39\x25\x73\xad\x2c\x1b\x14\x8a\x8f\xd4\x04\x1b\xd6\x15\x0e\xca\xda\xfe\x24\x79\x31\x66\x8a\x4f\x6b\x57\x74\x3b\x52\xfb\x71\x33\x21\x77\x96\xd0\xca\x6b\x39\x01\xf8\x75\x8c\x6d\x7f\x62\xcf\x51\x81\xbb\x2f\x68\x5c\x22\xff\x09\xba\xd3\xfd\xc0\xf2\x08\x9d\x4e\xba\xcc\x96\x18\x92\xed\xc5\x4b\xce\x3b\x15\x13\xd7\x8c\xf4\x7f\x06\x4a\x2d\xd0\x5e\xa3\x0a\x6a\xa9\xef\xf5\xdd\xce\x6c\xb6\x44\x7d\xea\x3b\xd4\x53\xc7\xde\x93\xdc\xd2\x32\xd9\xfa\x29\x67\xae\x0d\x89\x52\x8d\x08\xd6\x18\xdb\x6f\x55\x1e\x3e\xed\xfc\x56\xf5\x30\xdb\xf8\x16\x36\x73\xa0\x67\xab\x4f\x6d\x81\xa1\xd7\x9f\xbd\xba\x6f\x2f\xc1\x30\xea\xfb\xc8\x8d\xad\xe1\x62\x6e\xba\x72\x3b\x3e\x59\xe1\xe0\xd3\x8b\x9f\x1d\xaf\x67\x4f\x5d\xcc\xed\x8c\xa3\x18\x78\xbb\x31\x96\xeb\x41\xb7\x3b\xe1\xa5\x79\x2e\x6a\x27\xd1\xbf\x2f\x54\xb1\xba\x2d\xae\xc0\x6e\xc4\xc9\xba\xec\x3e\x42\xe2\x5e\x1c\x96\xb1\xaa\xed\x2a\xd0\xdc\x0b\x62\xce\xb3\x82\x24\xb1\x77\x54\x5b\x05\x21\xa9\xc9\x54\xc2\xda\x96\xd5\x91\xc2\xd3\xc9\xd3\xc9\xdf\x01\x00\x00\xff\xff\x43\xc7\x16\x1e\xae\x1d\x00\x00") func yaoModelsAgentAssistantModYaoBytes() ([]byte, error) { return bindataRead( @@ -7271,7 +7271,7 @@ func yaoModelsAgentAssistantModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/assistant.mod.yao", size: 7396, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/agent/assistant.mod.yao", size: 7598, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7291,7 +7291,7 @@ func yaoModelsAgentChatModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/chat.mod.yao", size: 3093, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/agent/chat.mod.yao", size: 3093, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7311,7 +7311,7 @@ func yaoModelsAgentExecutionModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/execution.mod.yao", size: 6651, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/agent/execution.mod.yao", size: 6651, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7331,7 +7331,7 @@ func yaoModelsAgentMessageModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/message.mod.yao", size: 3712, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/agent/message.mod.yao", size: 3712, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7351,7 +7351,7 @@ func yaoModelsAgentResumeModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/resume.mod.yao", size: 3896, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/agent/resume.mod.yao", size: 3896, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7371,7 +7371,7 @@ func yaoModelsAgentSearchModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/search.mod.yao", size: 3103, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/agent/search.mod.yao", size: 3103, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7391,7 +7391,7 @@ func yaoModelsAttachmentModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/attachment.mod.yao", size: 4687, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/attachment.mod.yao", size: 4687, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7411,7 +7411,7 @@ func yaoModelsAuditModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/audit.mod.yao", size: 5588, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/audit.mod.yao", size: 5588, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7431,7 +7431,7 @@ func yaoModelsConfigModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/config.mod.yao", size: 1649, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/config.mod.yao", size: 1649, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7451,7 +7451,7 @@ func yaoModelsDslModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/dsl.mod.yao", size: 3826, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/dsl.mod.yao", size: 3826, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7471,7 +7471,7 @@ func yaoModelsInvitationModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/invitation.mod.yao", size: 6693, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/invitation.mod.yao", size: 6693, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7491,7 +7491,7 @@ func yaoModelsJobCategoryModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/job/category.mod.yao", size: 2041, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/job/category.mod.yao", size: 2041, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7511,7 +7511,7 @@ func yaoModelsJobExecutionModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/job/execution.mod.yao", size: 7201, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/job/execution.mod.yao", size: 7201, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7531,7 +7531,7 @@ func yaoModelsJobJobModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/job/job.mod.yao", size: 6429, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/job/job.mod.yao", size: 6429, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7551,7 +7551,7 @@ func yaoModelsJobLogModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/job/log.mod.yao", size: 4711, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/job/log.mod.yao", size: 4711, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7571,7 +7571,7 @@ func yaoModelsKbCollectionModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/kb/collection.mod.yao", size: 5390, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/kb/collection.mod.yao", size: 5390, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7591,7 +7591,7 @@ func yaoModelsKbDocumentModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/kb/document.mod.yao", size: 9906, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/kb/document.mod.yao", size: 9906, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7611,7 +7611,7 @@ func yaoModelsMemberModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/member.mod.yao", size: 14798, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/member.mod.yao", size: 14798, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7631,7 +7631,7 @@ func yaoModelsRoleModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/role.mod.yao", size: 6434, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/role.mod.yao", size: 6434, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7651,7 +7651,7 @@ func yaoModelsTeamModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/team.mod.yao", size: 15823, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/team.mod.yao", size: 15823, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7671,7 +7671,7 @@ func yaoModelsUserOauth_accountModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/user/oauth_account.mod.yao", size: 6928, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/user/oauth_account.mod.yao", size: 6928, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7691,7 +7691,7 @@ func yaoModelsUserTypeModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/user/type.mod.yao", size: 7502, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/user/type.mod.yao", size: 7502, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7711,7 +7711,7 @@ func yaoModelsUserModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/user.mod.yao", size: 12335, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/models/user.mod.yao", size: 12335, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7731,7 +7731,7 @@ func yaoReleaseAppYaz() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7751,7 +7751,7 @@ func yaoStoresAgentCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/agent/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7771,7 +7771,7 @@ func yaoStoresAgentMemoryChatXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/memory/chat.xun.yao", size: 497, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/agent/memory/chat.xun.yao", size: 497, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7791,7 +7791,7 @@ func yaoStoresAgentMemoryContextXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/memory/context.xun.yao", size: 507, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/agent/memory/context.xun.yao", size: 507, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7811,7 +7811,7 @@ func yaoStoresAgentMemoryTeamXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/memory/team.xun.yao", size: 483, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/agent/memory/team.xun.yao", size: 483, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7831,7 +7831,7 @@ func yaoStoresAgentMemoryUserXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/memory/user.xun.yao", size: 489, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/agent/memory/user.xun.yao", size: 489, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7851,7 +7851,7 @@ func yaoStoresCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/cache.lru.yao", size: 285, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/cache.lru.yao", size: 285, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7871,7 +7871,7 @@ func yaoStoresKbCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/kb/cache.lru.yao", size: 304, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/kb/cache.lru.yao", size: 304, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7891,7 +7891,7 @@ func yaoStoresKbStoreXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/kb/store.xun.yao", size: 373, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/kb/store.xun.yao", size: 373, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7911,7 +7911,7 @@ func yaoStoresOauthCacheLruYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7931,7 +7931,7 @@ func yaoStoresOauthClientXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/client.xun.yao", size: 377, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/client.xun.yao", size: 377, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7951,7 +7951,7 @@ func yaoStoresOauthStoreXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/store.xun.yao", size: 401, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/store.xun.yao", size: 401, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7971,7 +7971,7 @@ func yaoStoresStoreXunYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/store.xun.yao", size: 369, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/stores/store.xun.yao", size: 369, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -7991,7 +7991,7 @@ func yaoUploadersAttachmentLocalYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/uploaders/attachment.local.yao", size: 1163, mode: os.FileMode(420), modTime: time.Unix(1771993877, 0)} + info := bindataFileInfo{name: "yao/uploaders/attachment.local.yao", size: 1163, mode: os.FileMode(420), modTime: time.Unix(1772434053, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/openapi/mcp/mcp.go b/openapi/mcp/mcp.go index a73e5ef2..0f9c9484 100644 --- a/openapi/mcp/mcp.go +++ b/openapi/mcp/mcp.go @@ -9,12 +9,13 @@ import ( // Server represents an MCP server option (from user perspective) type Server struct { - Label string `json:"label"` - Value string `json:"value"` - Name string `json:"name"` - Description string `json:"description,omitempty"` - Transport string `json:"transport,omitempty"` // "stdio", "sse", "http" - Builtin bool `json:"builtin"` // true for system built-in, false for user-defined + Label string `json:"label"` + Value string `json:"value"` + Name string `json:"name"` + Description string `json:"description,omitempty"` + Tags []string `json:"tags,omitempty"` + Transport string `json:"transport,omitempty"` // "stdio", "sse", "http" + Builtin bool `json:"builtin"` // true for system built-in, false for user-defined } // Attach attaches the MCP server management handlers to the router with OAuth protection @@ -58,6 +59,7 @@ func listServers(c *gin.Context) { Value: id, Name: name, Description: meta.Description, + Tags: meta.Tags, Transport: transport, Builtin: meta.Builtin, }) diff --git a/openapi/oauth/guard.go b/openapi/oauth/guard.go index 2bb3110e..405be223 100644 --- a/openapi/oauth/guard.go +++ b/openapi/oauth/guard.go @@ -1,9 +1,11 @@ package oauth import ( + "errors" "fmt" "net/http" "strings" + "sync" "time" "github.com/gin-gonic/gin" @@ -14,6 +16,16 @@ import ( "github.com/yaoapp/yao/openapi/response" ) +var ( + errRefreshInProgress = errors.New("refresh in progress") + errRefreshAlreadyDone = errors.New("refresh already done") + refreshGates sync.Map // refreshToken → *refreshGate +) + +type refreshGate struct { + done chan struct{} // closed when rotation completes +} + // Guard is the OAuth guard middleware func (s *Service) Guard(c *gin.Context) { // Authenticate first (validates token and sets authorized info) @@ -69,12 +81,17 @@ func (s *Service) Authenticate(c *gin.Context) bool { if !expiredClaims.ExpiresAt.IsZero() && expiredClaims.ExpiresAt.Before(time.Now()) { newClaims, refreshErr := s.TryRefreshToken(c, expiredClaims) if refreshErr != nil { - log.Error("[OAuth] Token refresh failed: %v", refreshErr) - response.RespondWithError(c, http.StatusUnauthorized, types.ErrInvalidRefreshToken) - c.Abort() - return false + if errors.Is(refreshErr, errRefreshInProgress) || errors.Is(refreshErr, errRefreshAlreadyDone) { + claims = expiredClaims + } else { + log.Error("[OAuth] Token refresh failed: %v", refreshErr) + response.RespondWithError(c, http.StatusUnauthorized, types.ErrInvalidRefreshToken) + c.Abort() + return false + } + } else { + claims = newClaims } - claims = newClaims } else { response.RespondWithError(c, http.StatusUnauthorized, types.ErrInvalidToken) c.Abort() @@ -104,6 +121,29 @@ func (s *Service) TryRefreshToken(c *gin.Context, expiredClaims *types.TokenClai return nil, fmt.Errorf("refresh token missing") } + gate := &refreshGate{done: make(chan struct{})} + if actual, loaded := refreshGates.LoadOrStore(refreshToken, gate); loaded { + // Another goroutine owns the rotation for this refresh token. + // It may still be running or already finished. + existing := actual.(*refreshGate) + select { + case <-existing.done: + return nil, errRefreshAlreadyDone + default: + return nil, errRefreshInProgress + } + } + + // We own the gate — clean up when finished. + defer func() { + close(gate.done) + // Keep the gate in the map for 30 s so late arrivals see "done" + // instead of starting a new rotation with the now-revoked token. + time.AfterFunc(30*time.Second, func() { + refreshGates.CompareAndDelete(refreshToken, gate) + }) + }() + refreshClaims, err := s.VerifyRefreshToken(refreshToken) if err != nil { return nil, fmt.Errorf("invalid or expired refresh token: %w", err) @@ -244,6 +284,12 @@ func (s *Service) GetRefreshToken(c *gin.Context) string { return s.getRefreshToken(c) } +// IsRefreshInProgress checks whether an error signals that another goroutine +// is already rotating (or has just rotated) the same refresh token. +func IsRefreshInProgress(err error) bool { + return errors.Is(err, errRefreshInProgress) || errors.Is(err, errRefreshAlreadyDone) +} + // GetSessionID gets the session ID from the request (public method) func (s *Service) GetSessionID(c *gin.Context) string { return s.getSessionID(c) diff --git a/sui/api/guards.go b/sui/api/guards.go index 8332af41..40aead29 100644 --- a/sui/api/guards.go +++ b/sui/api/guards.go @@ -124,9 +124,14 @@ func guardOAuth(r *Request) error { !expiredClaims.ExpiresAt.IsZero() && expiredClaims.ExpiresAt.Before(time.Now()) { refreshed, refreshErr := oauth.OAuth.TryRefreshToken(c, expiredClaims) if refreshErr != nil { - return fmt.Errorf("Exception|401:Token expired and refresh failed") + if oauth.IsRefreshInProgress(refreshErr) { + claims = expiredClaims + } else { + return fmt.Errorf("Exception|401:Token expired and refresh failed") + } + } else { + claims = refreshed } - claims = refreshed } else { return fmt.Errorf("Exception|401:Invalid token") } diff --git a/yao/models/agent/assistant.mod.yao b/yao/models/agent/assistant.mod.yao index f2a701fc..ea7ba399 100644 --- a/yao/models/agent/assistant.mod.yao +++ b/yao/models/agent/assistant.mod.yao @@ -258,6 +258,13 @@ "comment": "Search configuration (web, kb, db, citation, weights, etc.)", "nullable": true }, + { + "name": "dependencies", + "type": "json", + "label": "Dependencies", + "comment": "Dependencies on other MCP Clients (name -> version constraint)", + "nullable": true + }, { "name": "automated", "type": "boolean",