diff --git a/attachment/README.md b/attachment/README.md index f2ebec09..4aec9b24 100644 --- a/attachment/README.md +++ b/attachment/README.md @@ -663,9 +663,13 @@ case "upload_failed": The attachment package supports storing parsed text content extracted from files (e.g., from PDFs, Word documents, or image OCR). This is useful for building search indexes or providing text-based previews. +The system automatically maintains two versions of the text content: +- **Full content** (`content`): Complete text, stored as longText (up to 4GB) +- **Preview** (`content_preview`): First 2000 characters, stored as text for quick access + ### Saving Parsed Text Content -Use `SaveText` to store the extracted text content for a file: +Use `SaveText` to store the extracted text content. It automatically saves both full content and preview: ```go // Upload a PDF file @@ -677,7 +681,7 @@ if err != nil { // Extract text from the PDF (using your preferred library) parsedText := extractTextFromPDF(file.ID) -// Save the parsed text to the attachment record +// Save the parsed text (automatically saves both full and preview) err = manager.SaveText(ctx, file.ID, parsedText) if err != nil { return fmt.Errorf("failed to save text content: %w", err) @@ -686,22 +690,45 @@ if err != nil { ### Retrieving Parsed Text Content -Use `GetText` to retrieve the stored text content: +Use `GetText` to retrieve text content. By default, it returns the preview for better performance: ```go -// Get the parsed text content -text, err := manager.GetText(ctx, file.ID) +// Get preview (first 2000 characters) - Fast, suitable for UI display +preview, err := manager.GetText(ctx, file.ID) if err != nil { - return fmt.Errorf("failed to get text content: %w", err) + return fmt.Errorf("failed to get preview: %w", err) } -if text == "" { +if preview == "" { fmt.Println("No text content available for this file") } else { - fmt.Printf("Text content (%d characters): %s\n", len(text), text) + fmt.Printf("Preview (%d characters): %s\n", len(preview), preview) } + +// Get full content - Use only when complete text is needed (e.g., for indexing) +fullText, err := manager.GetText(ctx, file.ID, true) +if err != nil { + return fmt.Errorf("failed to get full text: %w", err) +} + +fmt.Printf("Full content (%d characters)\n", len(fullText)) ``` +### Performance Optimization + +The text content fields are optimized for different use cases: + +| Field | Size Limit | Use Case | Performance | +|-------|------------|----------|-------------| +| `content_preview` | 2000 chars | Quick preview, UI display, snippets | ⚑ Very Fast | +| `content` | 4GB | Full text search, complete content | 🐌 Slow for large files | + +**Best Practices:** +1. Use preview by default: `GetText(ctx, fileID)` +2. Only request full content when necessary: `GetText(ctx, fileID, true)` +3. Both fields are excluded from `List()` by default for optimal performance +4. Preview uses character (rune) count, not bytes, for proper UTF-8 handling + ### Example: Complete Text Processing Workflow ```go @@ -750,11 +777,15 @@ fmt.Printf("Retrieved text: %s\n", savedText) ### Text Content Features -- **Storage**: Text content is stored in the `content` field (longText type) of the attachment record -- **Size**: Supports very large text content (up to 4GB with longText type) +- **Dual Storage**: Automatically maintains both full content and preview (2000 chars) +- **Size Limits**: + - Preview: 2000 characters (text type) + - Full content: Up to 4GB (longText type) +- **Smart Retrieval**: Returns preview by default, full content on demand - **Update**: Text content can be updated at any time using `SaveText` -- **Clear**: Set text to empty string to clear the content -- **Retrieval**: Returns empty string if no text content has been saved +- **Clear**: Set text to empty string to clear both fields +- **UTF-8 Safe**: Preview uses character (rune) count, not bytes, ensuring proper multi-byte character handling +- **Performance**: Both `content` and `content_preview` fields are excluded by default in `List()` and `Info()` operations to avoid loading text data. Use `GetText()` to explicitly retrieve text content when needed #### `RegisterDefault(name string) (*Manager, error)` diff --git a/attachment/manager.go b/attachment/manager.go index 9a2206e2..f68063ff 100644 --- a/attachment/manager.go +++ b/attachment/manager.go @@ -723,6 +723,16 @@ func (manager Manager) List(ctx context.Context, option ListOption) (*ListResult for _, field := range option.Select { queryParam.Select = append(queryParam.Select, field) } + } else { + // Default: exclude the 'content' field (which may contain large text data) + // Only include it if explicitly requested in Select + queryParam.Select = []interface{}{ + "id", "file_id", "uploader", "content_type", "name", "url", "description", + "type", "user_path", "path", "groups", "gzip", "bytes", "status", + "progress", "error", "preset", "public", "share", + "created_at", "updated_at", "deleted_at", + "__yao_created_by", "__yao_updated_by", "__yao_team_id", "__yao_tenant_id", + } } // Add filters @@ -1324,12 +1334,24 @@ func (manager Manager) getStoragePathFromDatabase(ctx context.Context, fileID st } // GetText retrieves the parsed text content for a file by its ID -// Returns the text content stored in the 'content' field of the attachment -func (manager Manager) GetText(ctx context.Context, fileID string) (string, error) { +// By default, returns the preview (first 2000 characters) from 'content_preview' field +// Set fullContent to true to retrieve the complete text from 'content' field +func (manager Manager) GetText(ctx context.Context, fileID string, fullContent ...bool) (string, error) { m := model.Select("__yao.attachment") + // Determine which field to query + wantFullContent := false + if len(fullContent) > 0 { + wantFullContent = fullContent[0] + } + + fieldName := "content_preview" + if wantFullContent { + fieldName = "content" + } + records, err := m.Get(model.QueryParam{ - Select: []interface{}{"content"}, + Select: []interface{}{fieldName}, Wheres: []model.QueryWhere{ {Column: "file_id", Value: fileID}, }, @@ -1345,7 +1367,7 @@ func (manager Manager) GetText(ctx context.Context, fileID string) (string, erro } // Handle content field - it may be nil, string, or other types - if content, ok := records[0]["content"].(string); ok { + if content, ok := records[0][fieldName].(string); ok { return content, nil } @@ -1354,7 +1376,8 @@ func (manager Manager) GetText(ctx context.Context, fileID string) (string, erro } // SaveText saves the parsed text content for a file by its ID -// Updates the 'content' field in the attachment record +// Automatically saves both full content and preview (first 2000 characters) +// Updates both 'content' and 'content_preview' fields in the attachment record func (manager Manager) SaveText(ctx context.Context, fileID string, text string) error { m := model.Select("__yao.attachment") @@ -1375,9 +1398,17 @@ func (manager Manager) SaveText(ctx context.Context, fileID string, text string) return fmt.Errorf("file not found: %s", fileID) } - // Update the content field + // Create preview: first 2000 characters (or runes for proper UTF-8 handling) + preview := text + const maxPreviewLength = 2000 + if len([]rune(text)) > maxPreviewLength { + preview = string([]rune(text)[:maxPreviewLength]) + } + + // Update both content and content_preview fields updateData := map[string]interface{}{ - "content": text, + "content": text, + "content_preview": preview, } _, err = m.UpdateWhere(model.QueryParam{ diff --git a/attachment/manager_test.go b/attachment/manager_test.go index c6445437..994a9f1b 100644 --- a/attachment/manager_test.go +++ b/attachment/manager_test.go @@ -1520,6 +1520,16 @@ func TestGetTextAndSaveText(t *testing.T) { if text != "" { t.Errorf("Expected empty text, got: %s", text) } + + // Also test full content + fullText, err := manager.GetText(context.Background(), file.ID, true) + if err != nil { + t.Fatalf("Failed to get full text: %v", err) + } + + if fullText != "" { + t.Errorf("Expected empty full text, got: %s", fullText) + } }) // Test 2: SaveText and verify @@ -1563,7 +1573,7 @@ func TestGetTextAndSaveText(t *testing.T) { } }) - // Test 4: Save long text content (simulating large document parsing) + // Test 4: Save long text content and verify preview vs full content t.Run("SaveLongText", func(t *testing.T) { // Generate a large text content (10KB) longText := strings.Repeat("This is a long text content that simulates parsing from a large document like PDF or Word. ", 100) @@ -1573,19 +1583,84 @@ func TestGetTextAndSaveText(t *testing.T) { t.Fatalf("Failed to save long text: %v", err) } - retrievedText, err := manager.GetText(context.Background(), file.ID) + // Get preview (default, should be limited to 2000 characters) + previewText, err := manager.GetText(context.Background(), file.ID) if err != nil { - t.Fatalf("Failed to get long text: %v", err) + t.Fatalf("Failed to get preview text: %v", err) } - if retrievedText != longText { - t.Errorf("Long text mismatch. Expected length: %d, Got: %d", len(longText), len(retrievedText)) + // Preview should be exactly 2000 characters (runes) + previewRunes := []rune(previewText) + if len(previewRunes) != 2000 { + t.Errorf("Preview length mismatch. Expected: 2000 runes, Got: %d runes", len(previewRunes)) } - t.Logf("Successfully saved and retrieved long text content (%d characters)", len(retrievedText)) + // Get full content + fullText, err := manager.GetText(context.Background(), file.ID, true) + if err != nil { + t.Fatalf("Failed to get full text: %v", err) + } + + if fullText != longText { + t.Errorf("Full text mismatch. Expected length: %d, Got: %d", len(longText), len(fullText)) + } + + t.Logf("Successfully saved long text - Preview: %d chars, Full: %d chars", len(previewText), len(fullText)) }) - // Test 5: GetText with non-existent file ID + // Test 5: Test UTF-8 character handling in preview + t.Run("UTF8PreviewHandling", func(t *testing.T) { + // Create text with multi-byte UTF-8 characters (Chinese, emoji, etc.) + // Each Chinese character is 3 bytes, emoji is 4 bytes + chineseText := strings.Repeat("θΏ™ζ˜―δΈ€δΈͺζ΅‹θ―•ζ–‡ζœ¬οΌŒεŒ…ε«δΈ­ζ–‡ε­—η¬¦γ€‚", 150) // Should exceed 2000 chars + emojiText := strings.Repeat("Hello πŸ‘‹ World 🌍 ", 150) + + // Test with Chinese text + err := manager.SaveText(context.Background(), file.ID, chineseText) + if err != nil { + t.Fatalf("Failed to save Chinese text: %v", err) + } + + previewChinese, err := manager.GetText(context.Background(), file.ID) + if err != nil { + t.Fatalf("Failed to get Chinese preview: %v", err) + } + + // Should be exactly 2000 runes (characters), not bytes + if len([]rune(previewChinese)) != 2000 { + t.Errorf("Chinese preview should be 2000 runes, got: %d", len([]rune(previewChinese))) + } + + // Full text should be complete + fullChinese, err := manager.GetText(context.Background(), file.ID, true) + if err != nil { + t.Fatalf("Failed to get full Chinese text: %v", err) + } + + if fullChinese != chineseText { + t.Errorf("Chinese text mismatch") + } + + // Test with emoji text + err = manager.SaveText(context.Background(), file.ID, emojiText) + if err != nil { + t.Fatalf("Failed to save emoji text: %v", err) + } + + previewEmoji, err := manager.GetText(context.Background(), file.ID) + if err != nil { + t.Fatalf("Failed to get emoji preview: %v", err) + } + + if len([]rune(previewEmoji)) != 2000 { + t.Errorf("Emoji preview should be 2000 runes, got: %d", len([]rune(previewEmoji))) + } + + t.Logf("UTF-8 handling verified - Chinese: %d bytes, Emoji: %d bytes", + len(previewChinese), len(previewEmoji)) + }) + + // Test 6: GetText with non-existent file ID t.Run("GetTextNonExistent", func(t *testing.T) { _, err := manager.GetText(context.Background(), "non-existent-id") if err == nil { @@ -1597,7 +1672,7 @@ func TestGetTextAndSaveText(t *testing.T) { } }) - // Test 6: SaveText with non-existent file ID + // Test 7: SaveText with non-existent file ID t.Run("SaveTextNonExistent", func(t *testing.T) { err := manager.SaveText(context.Background(), "non-existent-id", "some text") if err == nil { @@ -1609,7 +1684,7 @@ func TestGetTextAndSaveText(t *testing.T) { } }) - // Test 7: Save empty text (clear content) + // Test 8: Save empty text (clear content) t.Run("SaveEmptyText", func(t *testing.T) { err := manager.SaveText(context.Background(), file.ID, "") if err != nil { @@ -1626,6 +1701,103 @@ func TestGetTextAndSaveText(t *testing.T) { } }) + // Test 9: Verify List doesn't include content fields by default + t.Run("ListExcludesContentByDefault", func(t *testing.T) { + // Save some text content + testText := "This text should not appear in list results by default" + err := manager.SaveText(context.Background(), file.ID, testText) + if err != nil { + t.Fatalf("Failed to save text: %v", err) + } + + // List files without specifying select fields + result, err := manager.List(context.Background(), ListOption{ + Filters: map[string]interface{}{ + "file_id": file.ID, + }, + }) + if err != nil { + t.Fatalf("Failed to list files: %v", err) + } + + if len(result.Files) == 0 { + t.Fatal("Expected to find at least one file") + } + + // The List method returns File structs, but we need to verify + // the database query doesn't fetch the content field + // We can verify this by checking the database directly + m := model.Select("__yao.attachment") + records, err := m.Get(model.QueryParam{ + Wheres: []model.QueryWhere{ + {Column: "file_id", Value: file.ID}, + }, + }) + + if err != nil { + t.Fatalf("Failed to query database: %v", err) + } + + // When we do a full select, content should be present + if len(records) > 0 { + if content, ok := records[0]["content"].(string); ok && content == testText { + t.Logf("Content field exists in full query (expected): %d characters", len(content)) + } + } + }) + + // Test 10: Verify content can be explicitly selected in List + t.Run("ListIncludesContentWhenExplicitlySelected", func(t *testing.T) { + // Save some text content + testText := "This text SHOULD appear when explicitly selected" + err := manager.SaveText(context.Background(), file.ID, testText) + if err != nil { + t.Fatalf("Failed to save text: %v", err) + } + + // List files WITH content field explicitly selected + result, err := manager.List(context.Background(), ListOption{ + Select: []string{"file_id", "name", "content"}, + Filters: map[string]interface{}{ + "file_id": file.ID, + }, + }) + if err != nil { + t.Fatalf("Failed to list files with content: %v", err) + } + + if len(result.Files) == 0 { + t.Fatal("Expected to find at least one file") + } + + // Query database directly to verify content is included + m := model.Select("__yao.attachment") + records, err := m.Get(model.QueryParam{ + Select: []interface{}{"file_id", "name", "content"}, + Wheres: []model.QueryWhere{ + {Column: "file_id", Value: file.ID}, + }, + }) + + if err != nil { + t.Fatalf("Failed to query database: %v", err) + } + + if len(records) == 0 { + t.Fatal("Expected to find record") + } + + // Verify content is present + if content, ok := records[0]["content"].(string); ok { + if content != testText { + t.Errorf("Expected content '%s', got '%s'", testText, content) + } + t.Logf("Content field correctly included when explicitly selected: %d characters", len(content)) + } else { + t.Error("Content field not found when explicitly selected") + } + }) + // Clean up err = manager.Delete(context.Background(), file.ID) if err != nil { diff --git a/attachment/types.go b/attachment/types.go index 022c0048..b370299e 100644 --- a/attachment/types.go +++ b/attachment/types.go @@ -49,9 +49,11 @@ type FileManager interface { LocalPath(ctx context.Context, fileID string) (string, string, error) // GetText retrieves the parsed text content for a file - GetText(ctx context.Context, fileID string) (string, error) + // By default returns preview (first 2000 chars), set fullContent=true for complete text + GetText(ctx context.Context, fileID string, fullContent ...bool) (string, error) // SaveText saves the parsed text content for a file + // Automatically saves both full content and preview SaveText(ctx context.Context, fileID string, text string) error } diff --git a/data/bindata.go b/data/bindata.go index 7253e8f4..1d6b4a1b 100644 --- a/data/bindata.go +++ b/data/bindata.go @@ -319,7 +319,7 @@ func cuiSetupIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "cui/setup/index.html", size: 10, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "cui/setup/index.html", size: 10, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -339,7 +339,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(1764756928, 0)} + info := bindataFileInfo{name: "cui/v0.9/index.html", size: 13, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -359,7 +359,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(1764756928, 0)} + info := bindataFileInfo{name: "cui/v1.0/index.html", size: 49, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -379,7 +379,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(1764756928, 0)} + info := bindataFileInfo{name: "cui/v1.0/layouts__index.async.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -399,7 +399,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(1764756928, 0)} + info := bindataFileInfo{name: "cui/v1.0/umi.js", size: 71, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -419,7 +419,7 @@ func initEnv() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.env", size: 219, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.env", size: 219, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -439,7 +439,7 @@ func initVscodeSettingsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/settings.json", size: 4666, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/settings.json", size: 4666, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -459,7 +459,7 @@ func initVscodeTypesRuntimeConsoleDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/console.d.ts", size: 221, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/console.d.ts", size: 221, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -479,7 +479,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/exception.d.ts", size: 738, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -499,7 +499,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/fs.d.ts", size: 8554, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -519,7 +519,7 @@ func initVscodeTypesRuntimeGlobalDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/global.d.ts", size: 1759, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/global.d.ts", size: 1759, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -539,7 +539,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/http.d.ts", size: 6179, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -559,7 +559,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/io.d.ts", size: 587, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -579,7 +579,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/log.d.ts", size: 1692, mode: os.FileMode(493), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -599,7 +599,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/neo.d.ts", size: 3750, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -619,7 +619,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/fs.d.ts", size: 11133, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -639,7 +639,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/http.d.ts", size: 5653, mode: os.FileMode(493), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -659,7 +659,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process/model.d.ts", size: 6656, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -679,7 +679,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/process.d.ts", size: 23165, mode: os.FileMode(493), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -699,7 +699,7 @@ func initVscodeTypesRuntimeQueryDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/query.d.ts", size: 6124, mode: os.FileMode(493), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/query.d.ts", size: 6124, mode: os.FileMode(493), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -719,7 +719,7 @@ func initVscodeTypesRuntimeStoreDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime/store.d.ts", size: 2251, mode: os.FileMode(493), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/store.d.ts", size: 2251, mode: os.FileMode(493), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -739,7 +739,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/sui.d.ts", size: 1713, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -759,7 +759,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(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime/time.d.ts", size: 711, mode: os.FileMode(493), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -779,7 +779,7 @@ func initVscodeTypesRuntimeDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/runtime.d.ts", size: 424, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/runtime.d.ts", size: 424, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -799,7 +799,7 @@ func initVscodeTypesSuiDTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/.vscode/types/sui.d.ts", size: 8931, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/.vscode/types/sui.d.ts", size: 8931, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -819,7 +819,7 @@ func initAppYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/app.yao", size: 3115, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/app.yao", size: 3115, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -839,7 +839,7 @@ func initDataReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/README.md", size: 41, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/data/README.md", size: 41, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -859,7 +859,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(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -879,7 +879,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(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -899,7 +899,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(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -919,7 +919,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(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -939,7 +939,7 @@ func initDataTemplatesDefault__dataJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/__data.json", size: 30, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__data.json", size: 30, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -959,7 +959,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(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/__document.html", size: 492, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -979,7 +979,7 @@ func initDataTemplatesDefaultIndexIndexCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.css", size: 2896, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.css", size: 2896, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -999,7 +999,7 @@ func initDataTemplatesDefaultIndexIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.html", size: 2361, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.html", size: 2361, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1019,7 +1019,7 @@ func initDataTemplatesDefaultIndexIndexJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/data/templates/default/index/index.json", size: 31, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/data/templates/default/index/index.json", size: 31, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1039,7 +1039,7 @@ func initDbReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/db/README.md", size: 84, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/db/README.md", size: 84, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1059,7 +1059,7 @@ func initFlowsMenuFlowYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/flows/menu.flow.yao", size: 813, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/flows/menu.flow.yao", size: 813, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1079,7 +1079,7 @@ func initFormsAccountFormYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/forms/account.form.yao", size: 1194, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/forms/account.form.yao", size: 1194, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1099,7 +1099,7 @@ func initIconsAppIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/icons/app.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1119,7 +1119,7 @@ func initIconsAppIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/icons/app.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1139,7 +1139,7 @@ func initIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1159,7 +1159,7 @@ func initLoginsAdminLoginYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/logins/admin.login.yao", size: 302, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/logins/admin.login.yao", size: 302, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1179,7 +1179,7 @@ func initLogsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/logs/README.md", size: 28, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/logs/README.md", size: 28, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1199,7 +1199,7 @@ func initModelsAdminUserModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/models/admin/user.mod.yao", size: 6416, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/models/admin/user.mod.yao", size: 6416, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1219,7 +1219,7 @@ func initModelsTestsPetModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/models/tests/pet.mod.yao", size: 525, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/models/tests/pet.mod.yao", size: 525, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1239,7 +1239,7 @@ func initNeoNeoYml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/neo/neo.yml", size: 724, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/neo/neo.yml", size: 724, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1259,7 +1259,7 @@ func initPublicReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/README.md", size: 108, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/README.md", size: 108, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1279,7 +1279,7 @@ func initPublicAssetsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/assets/README.md", size: 33, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1299,7 +1299,7 @@ func initPublicAssetsImagesIconsAppPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/assets/images/icons/app.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1319,7 +1319,7 @@ func initPublicAssetsImagesLogosLogo_colorSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/assets/images/logos/logo_color.svg", size: 2909, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1339,7 +1339,7 @@ func initPublicAssetsImagesLogosWordmarkSvg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/assets/images/logos/wordmark.svg", size: 3615, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1359,7 +1359,7 @@ func initPublicAssetsLibsuiMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/libsui.min.js", size: 12569, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/assets/libsui.min.js", size: 12569, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1379,7 +1379,7 @@ func initPublicAssetsLibsuiMinJsMap() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/assets/libsui.min.js.map", size: 38553, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/assets/libsui.min.js.map", size: 38553, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1399,7 +1399,7 @@ func initPublicIndexCfg() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/index.cfg", size: 85, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/index.cfg", size: 85, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1419,7 +1419,7 @@ func initPublicIndexSui() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/public/index.sui", size: 5682, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/public/index.sui", size: 5682, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1439,7 +1439,7 @@ func initScriptsAccountTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/account.ts", size: 2521, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/scripts/account.ts", size: 2521, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1459,7 +1459,7 @@ func initScriptsAiNeoTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/ai/neo.ts", size: 375, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/scripts/ai/neo.ts", size: 375, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1479,7 +1479,7 @@ func initScriptsTestsTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/tests.ts", size: 1044, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/scripts/tests.ts", size: 1044, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1499,7 +1499,7 @@ func initScriptsUtilsTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/scripts/utils.ts", size: 1230, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/scripts/utils.ts", size: 1230, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1519,7 +1519,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(1764756928, 0)} + info := bindataFileInfo{name: "init/suis/web.sui.yao", size: 675, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1539,7 +1539,7 @@ func initTablesAccountTabYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/tables/account.tab.yao", size: 5597, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/tables/account.tab.yao", size: 5597, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1559,7 +1559,7 @@ func initTsconfigJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "init/tsconfig.json", size: 178, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "init/tsconfig.json", size: 178, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1579,7 +1579,7 @@ func libsuiAgentTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/agent.ts", size: 15267, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "libsui/agent.ts", size: 15267, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1599,7 +1599,7 @@ func libsuiIndexTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/index.ts", size: 13049, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "libsui/index.ts", size: 13049, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1619,7 +1619,7 @@ func libsuiUtilsTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/utils.ts", size: 5959, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "libsui/utils.ts", size: 5959, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1639,7 +1639,7 @@ func libsuiYaoTs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "libsui/yao.ts", size: 4338, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "libsui/yao.ts", size: 4338, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1659,7 +1659,7 @@ func publicIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "public/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1679,7 +1679,7 @@ func uiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "ui/index.html", size: 11, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1699,7 +1699,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1719,7 +1719,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.icns", size: 67465, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1739,7 +1739,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.ico", size: 54993, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1759,7 +1759,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/icons/icon.png", size: 34558, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1779,7 +1779,7 @@ func yaoDataIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/index.html", size: 282, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1799,7 +1799,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/semantic/en.json", size: 5543, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1819,7 +1819,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/semantic/zh-cn.json", size: 5446, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1839,7 +1839,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/structured/en.json", size: 2423, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1859,7 +1859,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/chunking/structured/zh-cn.json", size: 2321, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1879,7 +1879,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/mcp/en.json", size: 4235, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1899,7 +1899,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/mcp/zh-cn.json", size: 4060, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1919,7 +1919,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/ocr/en.json", size: 6631, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1939,7 +1939,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/ocr/zh-cn.json", size: 6501, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1959,7 +1959,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/office/en.json", size: 5476, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1979,7 +1979,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/office/zh-cn.json", size: 5356, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1999,7 +1999,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/utf8/en.json", size: 292, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2019,7 +2019,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/utf8/zh-cn.json", size: 281, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2039,7 +2039,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/video/en.json", size: 6411, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2059,7 +2059,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/video/zh-cn.json", size: 6297, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2079,7 +2079,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/vision/en.json", size: 4085, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2099,7 +2099,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/vision/zh-cn.json", size: 3949, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2119,7 +2119,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/whisper/en.json", size: 4449, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2139,7 +2139,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/converter/whisper/zh-cn.json", size: 4312, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2159,7 +2159,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/fastembed/en.json", size: 6865, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2179,7 +2179,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/fastembed/zh-cn.json", size: 6685, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2199,7 +2199,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/openai/en.json", size: 5636, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2219,7 +2219,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/embedding/openai/zh-cn.json", size: 5463, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2239,7 +2239,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/extraction/openai/en.json", size: 9110, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2259,7 +2259,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/extraction/openai/zh-cn.json", size: 8827, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2279,7 +2279,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/http/en.json", size: 5885, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2299,7 +2299,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/http/zh-cn.json", size: 5925, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2319,7 +2319,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/mcp/en.json", size: 6819, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2339,7 +2339,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/data/kb/providers/fetcher/mcp/zh-cn.json", size: 6611, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2359,7 +2359,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/fields/model.trans.json", size: 14938, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2379,7 +2379,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/langs/en-US.json", size: 66, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2399,7 +2399,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2419,7 +2419,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2439,7 +2439,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/langs/zh-cn/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2459,7 +2459,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/global.yml", size: 1762, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2479,7 +2479,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/admin.login.yml", size: 94, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2499,7 +2499,7 @@ 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(1764756928, 0)} + info := bindataFileInfo{name: "yao/langs/zh-hk/logins/user.login.yml", size: 90, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2519,7 +2519,7 @@ func yaoModelsAgentAssistantModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/assistant.mod.yao", size: 6758, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/agent/assistant.mod.yao", size: 6758, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2539,7 +2539,7 @@ func yaoModelsAgentChatModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/chat.mod.yao", size: 1741, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/agent/chat.mod.yao", size: 1741, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2559,12 +2559,12 @@ func yaoModelsAgentHistoryModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/agent/history.mod.yao", size: 2941, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/agent/history.mod.yao", size: 2941, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _yaoModelsAttachmentModYao = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x57\x5f\x6f\xdb\x36\x10\x7f\xf7\xa7\x38\xf0\xd9\x43\xb3\x01\x19\x90\xbc\x65\xed\x36\x14\x18\xb6\x60\x6b\xb7\x87\xa2\x30\x28\xe9\x24\x73\xa0\x48\x8d\x77\x6a\xe2\x06\xf9\xee\x03\x29\x4b\xa6\x64\xca\x8e\xdc\xad\x4f\x86\x8f\xf7\xe7\xf7\xbb\xe3\x9d\x8e\x4f\x2b\x00\x61\x64\x8d\xe2\x16\x84\x64\x96\xf9\xb6\x46\xc3\x62\xed\xe5\x5a\x66\xa8\xfd\xc1\xdd\xe4\xa0\x40\xca\x9d\x6a\x58\x59\x33\x3e\x06\x96\x99\x46\x28\xad\x03\x62\xeb\x94\xa9\xa0\x54\x1a\xe1\xe0\x99\xe0\x41\xf1\x16\x6a\x64\x59\x48\x96\x20\x4d\x01\x32\xcf\x91\x08\x72\x6b\xd8\x59\xdd\x85\x60\x59\x91\xb8\x85\x0f\x82\x76\xc4\x58\x8b\x8f\x41\x9a\xb5\x4a\xb3\xf2\x41\xd9\xb5\x18\x44\x0e\x65\x61\x8d\xde\xc5\x32\xb2\x8e\xc5\x2d\xdc\xdc\xdc\xdc\xec\x9d\x65\xda\x33\xf4\x6c\xe7\xf9\x02\x88\xdc\xd6\xe1\x6f\x82\x94\x58\x01\x3c\x07\x6f\xb9\xd5\x6d\x6d\x02\xba\x60\xd5\x79\x8d\xfc\xaa\x62\xef\xcf\x87\xde\x35\x41\xf6\xf6\xcd\x41\x96\xc8\x2b\xc4\xe7\x11\x8a\xf7\x46\xfd\xd3\xc6\xf9\x03\x55\xa0\x61\x55\x2a\x74\x22\xe8\x3f\xaf\xd3\x20\x7c\xde\x37\x29\x24\xc4\xbe\x2e\x09\x34\x3f\xf9\x4a\xcd\xe0\x08\x67\x51\xe8\x83\x35\x9a\x8a\xb7\xe2\x16\xbe\xbb\xbe\x1e\x84\xa6\xd5\x7a\x9f\xf2\x52\x6a\xc2\xe1\xa0\x0d\x74\xa2\x52\x05\xa9\x32\x05\x3e\xee\x85\x27\x39\xb5\x8d\xb6\xb2\x88\xc3\x9f\x25\xf5\xfe\xc8\x64\xca\xaa\x77\x0a\xc1\x57\x82\xd8\xd5\xd5\x79\x62\x2f\xa6\xe0\x2f\x39\x1a\xde\x8c\x83\x9d\xa5\xf1\xba\x33\x83\x77\x23\xb3\x29\x95\xbd\xf3\xaf\xca\xe4\x98\x84\xb6\xa6\x7a\x87\x8f\x3c\x4f\x23\xc9\xe0\x5e\x3a\xc2\x02\x18\x1f\x79\x20\x52\x3a\x5b\x83\xaa\x65\x85\x6b\x68\x8a\x72\x0d\x0f\xd6\x15\x61\x66\x58\xde\xa2\xeb\x86\x8b\x8f\x4b\x22\xc5\xec\x2c\x87\xf0\xfb\xf2\x2a\xfc\x3a\x52\x9f\x66\x7f\xec\x6c\xc8\xfa\xf5\x7f\x9a\xf5\xd6\xe9\x25\xb7\xff\xf7\x5f\xe6\xf1\x8e\x0e\x07\xb8\xdf\x5e\xa5\xf1\x26\x3b\x36\x90\x38\x89\x37\xfe\x54\xbc\x1c\xf7\x9b\x94\xd5\x14\x7f\xd2\xf5\xff\xc5\x63\x61\xbf\x9e\xee\xd3\x65\xfd\x79\xe1\xac\x24\x74\x9b\x46\xf2\x76\xc9\x75\x21\x74\x70\x3f\xb2\x89\xbf\x45\x84\xee\x1b\x6a\x30\xf7\x9f\x80\x02\x72\x5b\x37\x1a\x19\xbb\x26\x1c\x47\xba\xac\x0a\x67\x39\x2d\xa4\xf3\x07\x5b\x27\x2b\x9c\x67\x74\x97\x73\x2b\x75\x58\x55\xbc\x9e\x77\x1f\x76\x17\xde\x76\xac\x16\x10\xba\xb0\x9d\x2b\x67\xdb\x86\x8e\x39\xfd\x4d\xa3\x4b\xdd\x33\xfa\x79\xa2\x3e\xbd\x58\x53\x77\x4b\x66\x61\xf5\x59\x35\xc7\x40\x32\x6b\x35\xca\x24\x96\x91\x7e\x84\xe4\xaf\x2d\x1e\x86\xb3\x22\xf0\x8e\x1b\x8c\x36\x91\x02\x4b\xd9\x6a\xbe\x3c\x6b\xd9\x8e\x31\x91\xb4\x4c\x55\x6f\x0d\x63\x35\xda\x4f\x7a\xb8\x3f\x8c\x6d\xa6\x99\x23\xf5\x19\x41\x19\x98\xb8\xfe\xf2\x0a\x13\x4b\x6e\x13\x60\xd1\xb4\x75\xf2\xce\x8e\xd5\xa7\x38\x1b\x67\xfd\xb2\xec\x37\xeb\xa9\x67\xdb\x2f\xe4\x1f\xf6\x12\xe8\x37\xa6\xb8\x3d\x06\x61\x54\x91\x9e\xcf\x44\x2f\xc8\xc6\x6a\x9d\xe9\xa6\x94\x4a\x27\xec\x7b\xf9\x5e\xfc\x31\x51\xf1\x04\xa2\x05\xfd\xef\x6c\xe5\x90\x12\xd9\x9c\x9d\x01\xf7\x47\x26\xf1\xca\x71\x48\x66\xef\x1a\x94\x29\xad\xab\xe5\xcc\x57\xe5\xc4\x88\x3e\x89\x1c\x9d\xb3\x4b\xd6\xd6\x1f\xc7\xfa\x11\xe6\x70\x72\x06\xe5\xf7\xe7\x51\xce\x25\x18\x09\x13\x2b\xdd\xfc\x14\xb8\x0f\x16\x70\x37\x7d\x4a\xa5\x47\x02\x6f\x15\xf9\x91\x20\xa1\x8b\x04\x47\x4f\xb0\x13\xe3\x61\xda\x8b\x67\xa8\xb4\x99\x56\xf9\x22\x2a\xc1\x62\x11\x95\xf8\x5d\x46\x40\x5b\xe9\xd0\x3f\x67\x9d\x25\x02\xa9\x35\x30\xca\xda\x5f\xa9\xf0\x45\x69\xb4\x64\x5f\xb5\x2f\x64\xfa\xea\x15\xbc\x6e\x89\x6d\x0d\x0d\xba\x5a\x11\x29\x6b\x68\x66\xf6\x78\x40\x2f\x1f\x3d\x63\xed\xf4\x5b\xd8\xbb\x0c\xc3\x27\xb7\xf1\x0e\x93\x9a\x3d\x8d\x53\x9f\x24\xa3\x58\x7b\xc8\xbf\x19\xbd\x83\x4f\x8a\x54\xe6\xf7\x1f\x1b\x12\x62\x1f\x0c\xba\x83\xbe\x4f\x96\xf0\xba\x7f\x1e\xd4\xfa\x24\x42\x8d\x75\x86\x8e\x4e\x4d\x96\x21\xde\x05\xc3\x7b\xb5\xf7\x29\x1c\xea\xd0\x55\xfe\x79\xff\xd4\xbd\xf7\xbb\x31\x18\xde\xfb\x9d\xce\x40\xf6\x09\x04\xab\x1a\x89\x65\xdd\x50\xbf\xd5\x80\x20\x5b\xf2\xa6\x40\xbf\x1c\xd1\x10\x1b\xc4\xa1\x5c\x7b\x55\x78\x5e\x3d\xaf\xfe\x0d\x00\x00\xff\xff\x5c\x10\x1f\x9b\x82\x11\x00\x00") +var _yaoModelsAttachmentModYao = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x58\xdf\x6f\xe4\x34\x10\x7e\xef\x5f\x31\xf2\x13\x48\x45\x57\x90\x8a\xd4\xbe\x95\x3b\x40\x27\x21\xa8\xe0\x0e\x1e\x4e\xa7\x95\x93\x4c\x12\x23\xc7\x0e\x9e\x49\xdb\xbd\xaa\xff\x3b\xb2\xf3\x63\x93\xac\xb3\xbb\xd9\x83\x7b\xaa\x3a\x9e\x19\x7f\xdf\x8c\xf3\x79\xbc\xcf\x17\x00\xc2\xc8\x0a\xc5\x2d\x08\xc9\x2c\xd3\xb2\x42\xc3\xe2\xd2\xdb\xb5\x4c\x50\xfb\x85\xbb\xd9\x42\x86\x94\x3a\x55\xb3\xb2\x66\xba\x0c\x2c\x13\x8d\x90\x5b\x07\xc4\xd6\x29\x53\x40\xae\x34\xc2\x2e\x33\xc1\xa3\xe2\x12\x2a\x64\x99\x49\x96\x20\x4d\x06\x32\x4d\x91\x08\x52\x6b\xd8\x59\xdd\x6e\xc1\xb2\x20\x71\x0b\x1f\x04\x6d\x89\xb1\x12\x1f\x83\x35\x69\x94\x66\xe5\x37\x65\xd7\x60\x30\x39\x94\x99\x35\x7a\x3b\xb6\x91\x75\x2c\x6e\xe1\xe6\xe6\xe6\xa6\x4b\x96\x68\xcf\xd0\xb3\x5d\xe6\x0b\x20\x52\x5b\x85\x7f\x23\xa4\xc4\x05\xc0\x4b\xc8\x96\x5a\xdd\x54\x26\xa0\x0b\x51\x6d\xd6\x51\x5e\x95\x75\xf9\xfc\xd6\xdb\x3a\xd8\xde\xbe\xd9\xd9\x22\x75\x85\xf1\xfa\x08\xc5\x7b\xa3\xfe\x69\xc6\xf5\x03\x95\xa1\x61\x95\x2b\x74\x22\xf8\xbf\x5c\xc6\x41\xf8\xba\x6f\x62\x48\x88\x7d\x5f\x22\x68\x7e\xf2\x9d\x5a\xc0\x11\xd6\x46\x5b\xef\xa2\xd1\x14\x5c\x8a\x5b\xf8\xee\xfa\x7a\x30\x9a\x46\xeb\xae\xe4\xb9\xd4\x84\xc3\x42\x13\xe8\x8c\x5a\x15\xac\xca\x64\xf8\xd4\x19\x0f\x72\x6a\x6a\x6d\x65\x36\xde\xfe\x28\xa9\xf7\x7b\x21\x73\x56\x7d\x52\x08\xb9\x22\xc4\xae\xae\x8e\x13\x3b\x99\x82\x3f\xe4\x68\x78\x33\xdd\xec\x28\x8d\xd7\x6d\x18\xbc\x9b\x84\xcd\xa9\x74\xc9\xbf\x28\x93\x7d\x12\xda\x9a\xe2\x1d\x3e\xf1\x32\x8d\x38\x83\x46\x6b\xa8\xa5\x23\xcc\x80\xf1\x89\x07\x36\xb9\xb3\x15\xa8\x4a\x16\x78\x09\x75\x96\x5f\xc2\xa3\x75\x59\x10\x0e\xcb\x25\xba\x56\x61\xfc\xe6\x24\x62\xf4\x4e\x6e\x49\xed\xf0\x41\xe1\xe3\x3e\x21\x3e\x48\x06\xee\xe7\x71\x23\x52\xdd\x1a\xd8\x3c\x4a\xed\xab\x5c\x39\x62\xdf\x98\x2b\x48\x4b\xe9\x64\xca\xe8\xe8\xeb\xf3\x78\x84\xbf\xa7\x1f\xa9\x5f\x27\xee\xf3\xa3\x34\x4d\x36\x1c\xa1\xeb\xff\xf4\x08\x35\x4e\xaf\xf9\x94\x7f\xff\x65\x19\xef\x64\x71\x80\xfb\xed\x55\x1c\x6f\x54\x7e\x02\x89\x83\x78\xc7\xf7\xde\xe9\xb8\xdf\xc4\xa2\xe6\xf8\xa3\xa9\xff\x2f\x1e\x2b\xc5\xe7\xb0\xe8\xac\x13\x9b\x33\x85\x9f\xd0\x6d\x6a\xc9\xe5\x9a\xe3\x42\xe8\xe0\x7e\x12\x33\xbe\x58\x09\xdd\x37\x54\x63\xea\xef\xb3\x0c\x52\x5b\xd5\x1a\x19\x5b\x31\x99\xee\x74\x5e\x17\x8e\x72\x5a\x49\xe7\x0f\xb6\x4e\x16\xb8\xcc\xe8\x2e\xe5\x46\xea\x30\x77\x79\x3f\x9f\x3e\x0c\x62\x5c\xb6\xac\x56\x10\x3a\xf3\x73\x2e\x9c\x6d\x6a\xda\xe7\xf4\x37\x4d\x0e\x75\xcf\xe8\xe7\x99\xfb\xfc\x60\xcd\xd3\xad\xd1\xc2\xe2\x93\xaa\xf7\x81\x24\xd6\x6a\x94\x51\x2c\x13\xff\x11\x92\xbf\x4a\xdc\x5d\x32\x8a\xc0\x27\xae\x71\x34\x56\x65\x98\xcb\x46\xf3\xf9\x55\x4b\xb6\x8c\x91\xa2\x25\xaa\x78\x6b\x18\x8b\xc9\xb0\xd5\xc3\xfd\x61\x1a\x33\xaf\x1c\xa9\x4f\x08\xca\xc0\x2c\xf5\xe7\x77\x98\x58\x72\x13\x01\x8b\xa6\xa9\xa2\x67\x76\xea\x3e\xc7\x59\x3b\xeb\x27\x7f\xff\x4c\x98\x67\xb6\xfd\xeb\xe2\x43\x67\x81\x7e\xfc\x1b\x7f\x1e\x83\x71\xd4\x91\x9e\xcf\xcc\x2f\xd8\xa6\x6e\x6d\xe8\x26\x97\x4a\x47\xe2\x7b\x7b\x67\xfe\x18\xe9\x78\x04\xd1\x8a\xef\xdf\xd9\xc2\x21\x45\xaa\xb9\xa8\x01\xf7\x7b\x21\x93\x51\x63\x28\x66\x9f\x1a\x94\xc9\xad\xab\xe4\xc2\xad\x72\x40\xa2\x0f\x22\x47\xe7\xec\x9a\x19\xfc\xc7\xa9\xff\x08\x73\x58\x39\x82\xf2\xfb\xe3\x28\x97\x0a\x8c\x84\x91\xf9\x74\x59\x05\xee\x43\x04\xdc\xcd\xdf\x85\x71\x49\xe0\x52\x91\x97\x04\x09\xed\x4e\xb0\xf7\x9e\x3c\x20\x0f\xf3\x6f\xf1\x08\x95\x26\xd1\x2a\x5d\x45\x25\x44\xac\xa2\x32\x7e\x64\x12\x50\x29\x1d\xfa\xb7\xb9\xb3\x44\x20\xb5\x06\x46\x59\xf9\x23\x15\x6e\x94\x5a\x4b\xf6\x5d\xfb\x4c\xa6\xaf\x5e\xc1\xeb\x86\xd8\x56\x50\xa3\xab\x14\x91\xb2\x86\x16\xb4\xc7\x03\x3a\x5d\x7a\xa6\xde\xf1\x87\xbd\x4f\x19\xc4\x27\xb5\xe3\x19\x26\xa6\x3d\xb5\x53\x0f\x92\x51\x5c\x7a\xc8\xbf\x19\xbd\x85\x07\x45\x2a\xf1\xf3\x8f\x0d\x05\xb1\x8f\x06\xdd\xce\xdf\x17\x4b\x78\xdf\x3f\x77\x6e\x7d\x11\xa1\xc2\x2a\x41\x47\x87\x94\x65\xd8\xef\x0c\xf1\xbe\xe8\x72\x0a\x87\x3a\x7c\x55\x24\x6e\xe1\xb9\xfd\xf1\xa2\x95\xc1\xf0\xe3\x45\xeb\x33\x90\x7d\x06\xc1\xaa\x42\x62\x59\xd5\xd4\x4f\x35\x20\xc8\xe6\xbc\xc9\xd0\x0f\x47\x34\xec\x0d\x62\xd7\xae\xce\x15\x5e\x2e\x5e\x2e\xfe\x0d\x00\x00\xff\xff\xd7\xa2\x63\x02\x4f\x12\x00\x00") func yaoModelsAttachmentModYaoBytes() ([]byte, error) { return bindataRead( @@ -2579,7 +2579,7 @@ func yaoModelsAttachmentModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/attachment.mod.yao", size: 4482, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/attachment.mod.yao", size: 4687, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2599,7 +2599,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/audit.mod.yao", size: 5588, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2619,7 +2619,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/config.mod.yao", size: 1649, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2639,7 +2639,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/dsl.mod.yao", size: 3826, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2659,7 +2659,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/invitation.mod.yao", size: 6693, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2679,7 +2679,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/job/category.mod.yao", size: 2041, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2699,7 +2699,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/job/execution.mod.yao", size: 7201, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2719,7 +2719,7 @@ func yaoModelsJobJobModYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/models/job/job.mod.yao", size: 6330, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/job/job.mod.yao", size: 6330, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2739,7 +2739,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/job/log.mod.yao", size: 4711, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2759,7 +2759,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/kb/collection.mod.yao", size: 5390, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2779,7 +2779,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/kb/document.mod.yao", size: 9906, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2799,7 +2799,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/member.mod.yao", size: 14798, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2819,7 +2819,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/role.mod.yao", size: 6434, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2839,7 +2839,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/team.mod.yao", size: 15823, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2859,7 +2859,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/user/oauth_account.mod.yao", size: 6928, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2879,7 +2879,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/user/type.mod.yao", size: 7502, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2899,7 +2899,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/models/user.mod.yao", size: 12335, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2919,7 +2919,7 @@ func yaoReleaseAppYaz() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/release/app.yaz", size: 181682, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2939,7 +2939,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/agent/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2959,7 +2959,7 @@ func yaoStoresAgentMemoryBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/agent/memory.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/agent/memory.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2979,7 +2979,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/cache.lru.yao", size: 285, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2999,7 +2999,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/kb/cache.lru.yao", size: 304, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3019,7 +3019,7 @@ func yaoStoresKbStoreBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/kb/store.badger.yao", size: 349, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/kb/store.badger.yao", size: 349, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3039,7 +3039,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/cache.lru.yao", size: 301, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3059,7 +3059,7 @@ func yaoStoresOauthClientBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/client.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/client.badger.yao", size: 352, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3079,7 +3079,7 @@ func yaoStoresOauthStoreBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/oauth/store.badger.yao", size: 376, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/oauth/store.badger.yao", size: 376, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3099,7 +3099,7 @@ func yaoStoresStoreBadgerYao() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "yao/stores/store.badger.yao", size: 341, mode: os.FileMode(420), modTime: time.Unix(1764756928, 0)} + info := bindataFileInfo{name: "yao/stores/store.badger.yao", size: 341, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -3119,7 +3119,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(1764756928, 0)} + info := bindataFileInfo{name: "yao/uploaders/attachment.local.yao", size: 1163, mode: os.FileMode(420), modTime: time.Unix(1764757588, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/yao/models/attachment.mod.yao b/yao/models/attachment.mod.yao index 8b02b913..b2a78ecb 100644 --- a/yao/models/attachment.mod.yao +++ b/yao/models/attachment.mod.yao @@ -49,7 +49,14 @@ "name": "content", "type": "longText", "label": "Content", - "comment": "Parsed text content from image, pdf, word and other file types", + "comment": "Full parsed text content from image, pdf, word and other file types", + "nullable": true + }, + { + "name": "content_preview", + "type": "text", + "label": "Content Preview", + "comment": "Preview of parsed text content (first 2000 characters)", "nullable": true }, {