@stndrds/constants 1.0.0-alpha.293 → 1.0.0-alpha.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/index.d.mts +146 -173
- package/dist/index.d.ts +146 -173
- package/dist/index.js +304 -486
- package/dist/index.mjs +300 -466
- package/package.json +4 -8
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ const code: CurrencyCode = "EUR"; // Type-safe
|
|
|
60
60
|
### File Sizes
|
|
61
61
|
|
|
62
62
|
```typescript
|
|
63
|
-
import { FILE_SIZE, RECOMMENDED_MAX_SIZES, mbToBytes } from "@stndrds/constants";
|
|
63
|
+
import { FILE_SIZE, RECOMMENDED_MAX_SIZES, formatBytes, mbToBytes } from "@stndrds/constants";
|
|
64
64
|
|
|
65
65
|
// Intuitive constants
|
|
66
66
|
const avatarMaxSize = FILE_SIZE.MB_2; // 2,097,152 bytes
|
|
@@ -74,6 +74,7 @@ const maxSize = RECOMMENDED_MAX_SIZES.VIDEO; // 500 MB
|
|
|
74
74
|
|
|
75
75
|
// Conversion utilities
|
|
76
76
|
const bytes = mbToBytes(5); // 5,242,880
|
|
77
|
+
const formatted = formatBytes(1048576); // "1 MB"
|
|
77
78
|
|
|
78
79
|
// Validation
|
|
79
80
|
import { isWithinSizeLimit } from "@stndrds/constants";
|
|
@@ -90,6 +91,7 @@ import {
|
|
|
90
91
|
WEB_IMAGES,
|
|
91
92
|
OFFICE_DOCUMENTS,
|
|
92
93
|
isImageMimeType,
|
|
94
|
+
getExtensionFromMimeType,
|
|
93
95
|
} from "@stndrds/constants";
|
|
94
96
|
|
|
95
97
|
// Individual MIME types
|
|
@@ -105,6 +107,9 @@ const officeFiles = OFFICE_DOCUMENTS; // [PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX
|
|
|
105
107
|
const isImage = isImageMimeType("image/jpeg"); // true
|
|
106
108
|
const isDoc = isDocumentMimeType("application/pdf"); // true
|
|
107
109
|
|
|
110
|
+
// Get extension
|
|
111
|
+
const ext = getExtensionFromMimeType("image/jpeg"); // "jpg"
|
|
112
|
+
|
|
108
113
|
// Type-safe MIME types
|
|
109
114
|
import type { MimeType, ImageMimeType } from "@stndrds/constants";
|
|
110
115
|
const type: MimeType = "image/jpeg"; // Type-safe
|
package/dist/index.d.mts
CHANGED
|
@@ -1,42 +1,3 @@
|
|
|
1
|
-
import { ClassValue } from 'clsx';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* AI Chat constants shared between frontend and backend.
|
|
5
|
-
*
|
|
6
|
-
* These define the allowed file types, size limits, and count limits
|
|
7
|
-
* for AI chat attachments. Both the UI and the backend validate against
|
|
8
|
-
* these values to ensure consistency.
|
|
9
|
-
*/
|
|
10
|
-
/** Image MIME types supported by AI chat (subset of all image types) */
|
|
11
|
-
declare const AI_CHAT_SUPPORTED_IMAGES: readonly ["image/jpeg", "image/png", "image/webp", "image/gif", "image/svg+xml"];
|
|
12
|
-
/** Document MIME types supported by AI chat */
|
|
13
|
-
declare const AI_CHAT_SUPPORTED_DOCUMENTS: readonly ["application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "text/markdown", "text/csv"];
|
|
14
|
-
/** All MIME types supported by AI chat */
|
|
15
|
-
declare const AI_CHAT_SUPPORTED_MIME_TYPES: readonly ["image/jpeg", "image/png", "image/webp", "image/gif", "image/svg+xml", "application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "text/markdown", "text/csv"];
|
|
16
|
-
/** Comma-separated accept string for file inputs */
|
|
17
|
-
declare const AI_CHAT_ACCEPTED_TYPES: string;
|
|
18
|
-
/** Maximum file size for AI chat attachments (50 MB) */
|
|
19
|
-
declare const AI_CHAT_MAX_FILE_SIZE: number;
|
|
20
|
-
/** Maximum number of file attachments per message */
|
|
21
|
-
declare const AI_CHAT_MAX_FILES = 5;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Maximal built-in agent tool catalogue shared by runtime ownership tests and
|
|
25
|
-
* the UI rendering coverage guard. Optional tools still belong here: the map
|
|
26
|
-
* describes every native tool a fully wired runtime can expose.
|
|
27
|
-
*/
|
|
28
|
-
declare const BUILT_IN_AGENT_TOOL_GROUPS: {
|
|
29
|
-
readonly bulk: readonly ["bulk_create_records", "bulk_delete_records", "bulk_search", "bulk_update_records"];
|
|
30
|
-
readonly calendar: readonly ["get_calendar_event", "get_meeting_transcript", "search_calendar_events"];
|
|
31
|
-
readonly core: readonly ["archive_document", "ask_questions", "attach_file", "call_reflex", "create_folder", "create_record", "delete_record", "exec_command", "get_record", "get_schema", "get_skill", "global_search", "initialize_record_drive_structure", "list_record_drive", "list_workspace_users", "load_toolset", "publish_artifact", "read_document", "remove_file", "request_work_mode", "sandbox_get_file", "sandbox_upload_file", "sandbox_validate_payload", "search_records", "update_document", "update_record", "write_todos"];
|
|
32
|
-
readonly email: readonly ["download_email_attachments", "get_email", "get_email_thread", "search_emails"];
|
|
33
|
-
readonly memory: readonly ["get_memory", "save_memory", "search_memories"];
|
|
34
|
-
readonly orchestration: readonly ["message_agent", "spawn_agent"];
|
|
35
|
-
readonly schema: readonly ["apply_architect_operation", "describe_architect_operation", "discard_architect_draft", "get_default_view", "get_schema_history", "request_design_review", "search_icons"];
|
|
36
|
-
readonly web: readonly ["read_webpage", "web_search"];
|
|
37
|
-
};
|
|
38
|
-
declare const BUILT_IN_AGENT_TOOL_NAMES: ("bulk_create_records" | "bulk_delete_records" | "bulk_search" | "bulk_update_records" | "get_calendar_event" | "get_meeting_transcript" | "search_calendar_events" | "archive_document" | "ask_questions" | "attach_file" | "call_reflex" | "create_folder" | "create_record" | "delete_record" | "exec_command" | "get_record" | "get_schema" | "get_skill" | "global_search" | "initialize_record_drive_structure" | "list_record_drive" | "list_workspace_users" | "load_toolset" | "publish_artifact" | "read_document" | "remove_file" | "request_work_mode" | "sandbox_get_file" | "sandbox_upload_file" | "sandbox_validate_payload" | "search_records" | "update_document" | "update_record" | "write_todos" | "download_email_attachments" | "get_email" | "get_email_thread" | "search_emails" | "get_memory" | "save_memory" | "search_memories" | "message_agent" | "spawn_agent" | "apply_architect_operation" | "describe_architect_operation" | "discard_architect_draft" | "get_default_view" | "get_schema_history" | "request_design_review" | "search_icons" | "read_webpage" | "web_search")[];
|
|
39
|
-
|
|
40
1
|
declare const ICONS: readonly ["a-arrow-down", "a-arrow-up", "academic-hat", "accessibility", "activity-square", "activity", "add-queue", "aeroplane", "air-conditioner", "airplay", "airpods", "alarm-check", "alarm-minus", "alarm-plus", "alarm-smoke", "alarm-snooze", "alarm-x", "alarm", "album", "align-bottom", "align-horizontal", "align-left", "align-right", "align-top", "align-vertical", "alt", "ambulance", "ampersand-square", "ampersand", "ampersands", "anchor", "angry-circle", "angry-ghost", "angry-square", "annoyed-circle", "annoyed-ghost", "annoyed-square", "aperture", "api", "ar", "archive", "arrow-diagonal-one", "arrow-diagonal-two", "arrow-down-circle", "arrow-down-left-circle", "arrow-down-left-square", "arrow-down-left-waves", "arrow-down-left", "arrow-down-right-circle", "arrow-down-right-square", "arrow-down-right-waves", "arrow-down-right", "arrow-down-square", "arrow-down-waves", "arrow-down", "arrow-left-circle", "arrow-left-right", "arrow-left-square", "arrow-left-waves", "arrow-left", "arrow-long-down-left", "arrow-long-down-right", "arrow-long-down", "arrow-long-left", "arrow-long-right", "arrow-long-up-left", "arrow-long-up-right", "arrow-long-up", "arrow-right-circle", "arrow-right-square", "arrow-right-waves", "arrow-right", "arrow-up-circle", "arrow-up-down", "arrow-up-left-circle", "arrow-up-left-square", "arrow-up-left-waves", "arrow-up-left", "arrow-up-right-circle", "arrow-up-right-square", "arrow-up-right-waves", "arrow-up-right", "arrow-up-square", "arrow-up-waves", "arrow-up", "asterisk-circle", "asterisk-diamond", "asterisk-hexagon", "asterisk-octagon", "asterisk-square", "asterisk-waves", "at", "atom", "baby", "backpack", "badge", "baggage-claim", "ban", "bank", "baseball", "bath", "battery-charging-four", "battery-charging-one", "battery-charging-three", "battery-charging-two", "battery-charging", "battery-check", "battery-empty", "battery-full", "battery-minus", "battery-plus", "battery-x", "bell-check", "bell-home", "bell-minus", "bell-on", "bell-plus", "bell-slash", "bell-snooze", "bell-user", "bell-x", "bell", "binoculars", "bitcoin-circle", "bitcoin-diamond", "bitcoin-hexagon", "bitcoin-octagon", "bitcoin-square", "bitcoin-waves", "bitcoin", "bluetooth", "boat", "book-check", "book-dot", "book-home", "book-image", "book-minus", "book-open", "book-plus", "book-slash", "book-snooze", "book-user", "book-x", "book", "bookmark-check", "bookmark-dot", "bookmark-home", "bookmark-minus", "bookmark-plus", "bookmark-slash", "bookmark-snooze", "bookmark-user", "bookmark-x", "bookmark", "bounding-box", "bowl", "box", "brand-chrome", "brand-codepen", "brand-codesandbox", "brand-dribbble", "brand-facebook", "brand-figma", "brand-framer", "brand-github", "brand-gitlab", "brand-google", "brand-instagram", "brand-linkedin", "brand-pinterest", "brand-pocket", "brand-slack", "brand-spotify", "brand-telegram", "brand-threads", "brand-trello", "brand-twitch", "brand-twitter", "brand-x", "brand-youtube", "briefcase-conveyor-belt", "briefcase", "brightness-high", "brightness-low", "bubbles", "building-one", "building", "cable-car", "cake", "calendar-check", "calendar-down", "calendar-minus", "calendar-plus", "calendar-slash", "calendar-up", "calendar-x", "calendar", "camera-slash", "camera", "campfire", "cannabis", "caravan", "cart-check", "cart-minus", "cart-plus", "cart-x", "cart", "cast-screen", "center-focus", "chart-area", "chart-bar-big", "chart-bar-decreasing", "chart-bar-increasing", "chart-bar-one", "chart-bar-stacked", "chart-bar", "chart-bubble", "chart-candlestick", "chart-column-big", "chart-column-decreasing", "chart-column-increasing", "chart-column-stacked", "chart-column", "chart-gantt", "chart-graph", "chart-line", "chart-network", "chart-no-axes-column-decreasing", "chart-no-axes-column-increasing", "chart-no-axes-column", "chart-no-axes-combined", "chart-no-axes-gantt", "chart-pie-one", "chart-pie-two", "chart-pie", "chart-scatter", "chart-spline", "chat-check", "chat-dots", "chat-messages", "chat-minus", "chat-plus", "chat-x", "chat", "check-circle-one", "check-circle", "check-diamond", "check-hexagon", "check-octagon", "check-square-one", "check-square", "check-waves", "check", "chevron-double-down-left", "chevron-double-down-right", "chevron-double-down", "chevron-double-left", "chevron-double-right", "chevron-double-up-left", "chevron-double-up-right", "chevron-double-up", "chevron-down-circle", "chevron-down-left-circle", "chevron-down-left-square", "chevron-down-left-waves", "chevron-down-left", "chevron-down-right-circle", "chevron-down-right-square", "chevron-down-right-waves", "chevron-down-right", "chevron-down-square", "chevron-down-waves", "chevron-down", "chevron-left-circle", "chevron-left-square", "chevron-left-waves", "chevron-left", "chevron-right-circle", "chevron-right-square", "chevron-right-waves", "chevron-right", "chevron-up-circle", "chevron-up-down", "chevron-up-left-circle", "chevron-up-left-square", "chevron-up-left-waves", "chevron-up-left", "chevron-up-right-circle", "chevron-up-right-square", "chevron-up-right-waves", "chevron-up-right", "chevron-up-square", "chevron-up-waves", "chevron-up", "chip", "cigarette-off", "cigarette", "circle-dashed", "circle-half-circle", "circle-half", "circle-notch", "circle", "click", "clipboard", "clock-circle", "clock-diamond", "clock-eight", "clock-eleven", "clock-five", "clock-four", "clock-hand", "clock-hexagon", "clock-nine", "clock-octagon", "clock-one", "clock-seven", "clock-six", "clock-square", "clock-ten", "clock-three", "clock-twelve", "clock-two", "clock-waves", "cloud-download", "cloud-drizzle", "cloud-fog", "cloud-hail", "cloud-lightning", "cloud-moon-rain", "cloud-moon", "cloud-off", "cloud-rain-wind", "cloud-rain", "cloud-snow", "cloud-sun-rain", "cloud-sun", "cloud-upload", "cloud", "cloudy", "cocktail", "code-circle", "code-diamond", "code-hexagon", "code-octagon", "code-square", "code-waves", "code", "coffee", "cog-four", "cog-one", "cog-three", "cog-two", "cog", "columns", "command", "compass", "components", "confetti", "config-vertical", "config", "contactless-circle", "contactless", "controller", "cookie", "copy", "copyleft", "copyright-slash", "copyright", "corner-down-left", "corner-down-right", "corner-left-down", "corner-left-up", "corner-right-down", "corner-right-up", "corner-up-left", "corner-up-right", "credit-card-check", "credit-card-minus", "credit-card-plus", "credit-card-x", "credit-card", "croissant", "crop", "crosshair", "cupcake", "danger-circle", "danger-diamond", "danger-hexagon", "danger-octagon", "danger-square", "danger-triangle", "danger-waves", "danger", "database", "daze-circle", "daze-ghost", "daze-square", "delete", "desktop", "diamond", "dice-five", "dice-four", "dice-one", "dice-six", "dice-three", "dice-two", "dislike", "divide", "dollar-circle", "dollar-diamond", "dollar-hexagon", "dollar-octagon", "dollar-square", "dollar-waves", "dollar", "door-closed-locked", "door-closed", "door-open", "dots-circle", "dots-diamond", "dots-hexagon", "dots-octagon", "dots-square", "dots-vertical-circle", "dots-vertical-diamond", "dots-vertical-hexagon", "dots-vertical-octagon", "dots-vertical-square", "dots-vertical-waves", "dots-vertical", "dots-waves", "dots", "download", "drop", "droplet-off", "droplet", "droplets", "ear-slash", "ear", "earth", "eclipse", "edit-one", "edit", "egg", "eight-circle", "eight-diamond", "eight-hexagon", "eight-octagon", "eight-square", "eight-waves", "eight", "elevator", "envelope-open", "envelope", "euro-circle", "euro-diamond", "euro-hexagon", "euro-octagon", "euro-square", "euro-waves", "euro", "exclude", "external-link", "eye-slash", "eye", "face-id", "fat-arrow-down-left", "fat-arrow-down-right", "fat-arrow-down", "fat-arrow-left", "fat-arrow-right", "fat-arrow-up-left", "fat-arrow-up-right", "fat-arrow-up", "fat-corner-down-left", "fat-corner-down-right", "fat-corner-left-down", "fat-corner-left-up", "fat-corner-right-down", "fat-corner-right-up", "fat-corner-up-left", "fat-corner-up-right", "female", "file-check", "file-minus", "file-plus", "file-text", "file-x", "file", "film", "filter-one", "filter", "fine-tune", "fire", "five-circle", "five-diamond", "five-hexagon", "five-octagon", "five-square", "five-waves", "five", "flag-one", "flag", "flame-kindling", "flame", "flask", "flower-2", "flower", "folder-check", "folder-heart", "folder-kanban", "folder-minus", "folder-one", "folder-plus", "folder-slash", "folder-two", "folder-x", "folder", "forward-circle", "forward-diamond", "forward-hexagon", "forward-octagon", "forward-square", "forward-waves", "forward", "four-circle", "four-diamond", "four-hexagon", "four-octagon", "four-square", "four-waves", "four", "frame", "funny-circle", "funny-ghost", "funny-square", "gift", "git-branch", "git-circle", "git-commit", "git-diamond", "git-diff", "git-hexagon", "git-merge", "git-octagon", "git-pull-request", "git-square", "git-waves", "glasses", "globe", "grid-one", "grid", "hand", "hard-drive", "hash-circle", "hash-diamond", "hash-hexagon", "hash-octagon", "hash-square", "hash-waves", "hash", "haze", "heading-five", "heading-four", "heading-one", "heading-six", "heading-three", "heading-two", "heading", "headphones", "heart-broken", "heart-check", "heart-circle", "heart-diamond", "heart-dot", "heart-hexagon", "heart-home", "heart-minus", "heart-octagon", "heart-plus", "heart-slash", "heart-snooze", "heart-square", "heart-user", "heart-waves", "heart-x", "heart", "hexagon", "home-check", "home-minus", "home-plus", "home-smile", "home-x", "home", "image-circle", "image-rectangle", "image", "inbox-archive", "inbox-check", "inbox-down", "inbox-minus", "inbox-plus", "inbox-up", "inbox-x", "inbox", "incognito", "indifferent-circle", "indifferent-ghost", "indifferent-square", "infinity", "info-circle", "info-diamond", "info-hexagon", "info-octagon", "info-square", "info-triangle", "info-waves", "info", "intersect", "kanban", "key", "keyboard-brightness-high", "keyboard-brightness-low", "keyboard", "label", "lamp", "layers-one", "layers-three", "layers-two", "layout", "leaf", "leaves", "letter-a-circle", "letter-a-diamond", "letter-a-hexagon", "letter-a-octagon", "letter-a-square", "letter-a-waves", "letter-a", "letter-b-circle", "letter-b-diamond", "letter-b-hexagon", "letter-b-octagon", "letter-b-square", "letter-b-waves", "letter-b", "letter-c-circle", "letter-c-diamond", "letter-c-hexagon", "letter-c-octagon", "letter-c-square", "letter-c-waves", "letter-c", "letter-d-circle", "letter-d-diamond", "letter-d-hexagon", "letter-d-octagon", "letter-d-square", "letter-d-waves", "letter-d", "letter-e-circle", "letter-e-diamond", "letter-e-hexagon", "letter-e-octagon", "letter-e-square", "letter-e-waves", "letter-e", "letter-f-circle", "letter-f-diamond", "letter-f-hexagon", "letter-f-octagon", "letter-f-square", "letter-f-waves", "letter-f", "letter-g-circle", "letter-g-diamond", "letter-g-hexagon", "letter-g-octagon", "letter-g-square", "letter-g-waves", "letter-g", "letter-h-circle", "letter-h-diamond", "letter-h-hexagon", "letter-h-octagon", "letter-h-square", "letter-h-waves", "letter-h", "letter-i-circle", "letter-i-diamond", "letter-i-hexagon", "letter-i-octagon", "letter-i-square", "letter-i-waves", "letter-i", "letter-j-circle", "letter-j-diamond", "letter-j-hexagon", "letter-j-octagon", "letter-j-square", "letter-j-waves", "letter-j", "letter-k-circle", "letter-k-diamond", "letter-k-hexagon", "letter-k-octagon", "letter-k-square", "letter-k-waves", "letter-k", "letter-l-circle", "letter-l-diamond", "letter-l-hexagon", "letter-l-octagon", "letter-l-square", "letter-l-waves", "letter-l", "letter-m-circle", "letter-m-diamond", "letter-m-hexagon", "letter-m-octagon", "letter-m-square", "letter-m-waves", "letter-m", "letter-n-circle", "letter-n-diamond", "letter-n-hexagon", "letter-n-octagon", "letter-n-square", "letter-n-waves", "letter-n", "letter-o-circle", "letter-o-diamond", "letter-o-hexagon", "letter-o-octagon", "letter-o-square", "letter-o-waves", "letter-o", "letter-p-circle", "letter-p-diamond", "letter-p-hexagon", "letter-p-octagon", "letter-p-square", "letter-p-waves", "letter-p", "letter-q-circle", "letter-q-diamond", "letter-q-hexagon", "letter-q-octagon", "letter-q-square", "letter-q-waves", "letter-q", "letter-r-circle", "letter-r-diamond", "letter-r-hexagon", "letter-r-octagon", "letter-r-square", "letter-r-waves", "letter-r", "letter-s-circle", "letter-s-diamond", "letter-s-hexagon", "letter-s-octagon", "letter-s-square", "letter-s-waves", "letter-s", "letter-t-circle", "letter-t-diamond", "letter-t-hexagon", "letter-t-octagon", "letter-t-square", "letter-t-waves", "letter-t", "letter-u-circle", "letter-u-diamond", "letter-u-hexagon", "letter-u-octagon", "letter-u-square", "letter-u-waves", "letter-u", "letter-v-circle", "letter-v-diamond", "letter-v-hexagon", "letter-v-octagon", "letter-v-square", "letter-v-waves", "letter-v", "letter-w-circle", "letter-w-diamond", "letter-w-hexagon", "letter-w-octagon", "letter-w-square", "letter-w-waves", "letter-w", "letter-x-circle", "letter-x-diamond", "letter-x-hexagon", "letter-x-octagon", "letter-x-square", "letter-x-waves", "letter-x", "letter-y-circle", "letter-y-diamond", "letter-y-hexagon", "letter-y-octagon", "letter-y-square", "letter-y-waves", "letter-y", "letter-z-circle", "letter-z-diamond", "letter-z-hexagon", "letter-z-octagon", "letter-z-square", "letter-z-waves", "letter-z", "lightning-off", "lightning", "like", "line-chart-circle", "line-chart-diamond", "line-chart-hexagon", "line-chart-octagon", "line-chart-square", "line-chart-waves", "link-one", "link-two", "link", "list-check", "list-number", "list", "location-check", "location-home", "location-minus", "location-plus", "location-selected", "location-slash", "location-snooze", "location-user", "location-x", "location", "lock-circle", "lock-diamond", "lock-hexagon", "lock-keyhole", "lock-octagon", "lock-open-keyhole", "lock-open-password", "lock-open", "lock-password", "lock-square", "lock-waves", "lock", "login", "logout", "magnet", "male", "map", "mask", "math-square", "math", "maximize-one", "maximize", "menu", "message-check", "message-dots", "message-minus", "message-plus", "message-reply", "message-x", "message", "microphone-slash", "microphone", "minimize-one", "minimize", "minus-circle", "minus-diamond", "minus-hexagon", "minus-octagon", "minus-square", "minus-waves", "minus", "mobile-signal-five", "mobile-signal-four", "mobile-signal-one", "mobile-signal-three", "mobile-signal-two", "mobile", "moon-star", "moon", "mountain-snow", "mountain", "mouse-pointer", "move-diagonal-one", "move-diagonal", "move-horizontal", "move-vertical", "move", "music-circle", "music-diamond", "music-hexagon", "music-octagon", "music-square", "music-waves", "music", "myna", "navigation-one", "navigation", "nine-circle", "nine-diamond", "nine-hexagon", "nine-octagon", "nine-square", "nine-waves", "nine", "notification", "octagon", "one-circle", "one-diamond", "one-hexagon", "one-octagon", "one-square", "one-waves", "one", "option", "package", "paint", "panel-bottom-close", "panel-bottom-inactive", "panel-bottom-open", "panel-bottom", "panel-left-close", "panel-left-inactive", "panel-left-open", "panel-left", "panel-right-close", "panel-right-inactive", "panel-right-open", "panel-right", "panel-top-close", "panel-top-inactive", "panel-top-open", "panel-top", "paperclip", "parking", "password", "path", "pause-circle", "pause-diamond", "pause-hexagon", "pause-octagon", "pause-square", "pause-waves", "pause", "pen", "pencil", "percentage-circle", "percentage-diamond", "percentage-hexagon", "percentage-octagon", "percentage-square", "percentage-waves", "percentage", "pin", "pizza", "planet", "play-circle", "play-diamond", "play-hexagon", "play-octagon", "play-square", "play-waves", "play", "plus-circle", "plus-diamond", "plus-hexagon", "plus-octagon", "plus-square", "plus-waves", "plus", "pokeball", "power", "presentation", "printer", "puzzle", "question-circle", "question-diamond", "question-hexagon", "question-octagon", "question-square", "question-waves", "question", "radio", "rainbow", "reception-bell", "record", "rectangle-vertical", "rectangle", "redo", "refresh-alt", "refresh", "repeat", "rewind-circle", "rewind-diamond", "rewind-hexagon", "rewind-octagon", "rewind-square", "rewind-waves", "rewind", "rhombus", "ribbon", "rocket", "room-service", "rows", "rss", "ruler", "rupee-circle", "rupee-diamond", "rupee-hexagon", "rupee-octagon", "rupee-square", "rupee-waves", "rupee", "sad-circle", "sad-ghost", "sad-square", "save", "scan", "scissors", "sea-waves", "search-check", "search-circle", "search-diamond", "search-dot", "search-hexagon", "search-home", "search-minus", "search-octagon", "search-plus", "search-slash", "search-snooze", "search-square", "search-user", "search-waves", "search-x", "search", "select-multiple", "send", "servers", "seven-circle", "seven-diamond", "seven-hexagon", "seven-octagon", "seven-square", "seven-waves", "seven", "share", "shell", "shield-check", "shield-crossed", "shield-minus", "shield-one", "shield-plus", "shield-slash", "shield-two", "shield-x", "shield", "shooting-star", "shopping-bag", "shovel", "shrub", "shuffle-alt", "shuffle", "sidebar-alt", "sidebar", "signal-circle", "signal-diamond", "signal-hexagon", "signal-octagon", "signal-square", "signal-waves", "signal", "six-circle", "six-diamond", "six-hexagon", "six-octagon", "six-square", "six-waves", "six", "skip-back", "skip-forward", "slash-circle", "slash-diamond", "slash-hexagon", "slash-octagon", "slash-square", "slash-waves", "smile-circle", "smile-ghost", "smile-square", "snow", "snowflake", "sofa", "sort", "sparkles", "speaker", "spinner-one", "spinner", "sprout", "square-chart-gantt", "square-dashed-kanban", "square-dashed", "square-half", "square-kanban", "square", "star", "stop-circle", "stop-diamond", "stop-hexagon", "stop-octagon", "stop-square", "stop-waves", "stop", "store", "subtract", "sun-dim", "sun-medium", "sun-snow", "sun", "sunrise", "sunset", "support", "swatches", "table", "tablet", "tag-plus", "tag", "tally-five", "tally-four", "tally-one", "tally-three", "tally-two", "target", "telephone-call", "telephone-forward", "telephone-in", "telephone-missed", "telephone-out", "telephone-slash", "telephone", "tent-tree", "tent", "terminal", "text-align-center", "text-align-left", "text-align-right", "text-justify", "thermometer-snowflake", "thermometer-sun", "thermometer", "three-circle", "three-diamond", "three-hexagon", "three-octagon", "three-square", "three-waves", "three", "ticket-slash", "ticket", "toggle-left", "toggle-right", "tool", "tornado", "train", "trash-one", "trash-two", "trash", "tree-deciduous", "tree-palm", "tree-pine", "tree", "trees", "trending-down", "trending-up-down", "trending-up", "triangle", "truck", "tv", "two-circle", "two-diamond", "two-hexagon", "two-octagon", "two-square", "two-waves", "two", "type-bold", "type-italic", "type-text", "type-underline", "umbrella-off", "umbrella", "undo", "union", "unlink", "upload", "user-check", "user-circle", "user-diamond", "user-hexagon", "user-minus", "user-octagon", "user-plus", "user-settings", "user-square", "user-waves", "user-x", "user", "users-group", "users", "video-slash", "video", "volume-check", "volume-high", "volume-low", "volume-minus", "volume-none", "volume-plus", "volume-slash", "volume-x", "watch", "waves", "webcam", "wheel", "wheelchair", "wifi-check", "wifi-low", "wifi-medium", "wifi-minus", "wifi-plus", "wifi-slash", "wifi-x", "wifi", "wind-arrow-down", "wind", "winds", "wine", "wink-circle", "wink-ghost", "wink-square", "wrench", "x-circle", "x-diamond", "x-hexagon", "x-octagon", "x-square", "x-triangle", "x-waves", "x", "yen-circle", "yen-diamond", "yen-hexagon", "yen-octagon", "yen-square", "yen-waves", "yen", "zap-off", "zap", "zero-circle", "zero-diamond", "zero-hexagon", "zero-octagon", "zero-square", "zero-waves", "zero"];
|
|
41
2
|
type IconName = (typeof ICONS)[number];
|
|
42
3
|
|
|
@@ -51,81 +12,140 @@ declare const DEFAULT_ATTRIBUTE_ICONS: Record<string, IconName>;
|
|
|
51
12
|
*/
|
|
52
13
|
declare function getDefaultAttributeIcon(type: string): IconName;
|
|
53
14
|
|
|
54
|
-
/**
|
|
55
|
-
* Default icons for each detail-view tab type.
|
|
56
|
-
*
|
|
57
|
-
* Mirrors `DEFAULT_ATTRIBUTE_ICONS` deliberately, down to being keyed by plain
|
|
58
|
-
* string: `constants` does not depend on `schema`, so `TabType` cannot be named
|
|
59
|
-
* here. The contract is the same one attributes already have — a tab always has
|
|
60
|
-
* a glyph, whether or not anyone chose it.
|
|
61
|
-
*
|
|
62
|
-
* Each type gets its own mark. A shared placeholder would fill the bar without
|
|
63
|
-
* telling the reader anything, which is not what the empty half was missing.
|
|
64
|
-
*
|
|
65
|
-
* List-view pills are NOT routed through this map. They fall back by *layout*
|
|
66
|
-
* (`table` / `kanban`), which is a different vocabulary that happens to share
|
|
67
|
-
* one word with this one; folding both into a single string-keyed record would
|
|
68
|
-
* make `"table"` mean two things and quietly answer for either.
|
|
69
|
-
*/
|
|
70
|
-
declare const DEFAULT_TAB_ICONS: Record<string, IconName>;
|
|
71
|
-
/**
|
|
72
|
-
* Get the default icon for a tab type.
|
|
73
|
-
*
|
|
74
|
-
* @param type - The tab type
|
|
75
|
-
* @returns The icon name, or "circle" as fallback
|
|
76
|
-
*/
|
|
77
|
-
declare function getDefaultTabIcon(type: string): IconName;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Merge class names with Tailwind CSS classes.
|
|
81
|
-
* Uses clsx for conditional classes and tailwind-merge to handle conflicts.
|
|
82
|
-
*/
|
|
83
|
-
declare function cn(...inputs: ClassValue[]): string;
|
|
84
|
-
|
|
85
15
|
interface Color {
|
|
86
|
-
/** Background color -
|
|
16
|
+
/** Background color - works on both light and dark mode */
|
|
87
17
|
background: string;
|
|
88
|
-
/** Border color -
|
|
18
|
+
/** Border color - subtle, works on both modes */
|
|
89
19
|
border: string;
|
|
90
|
-
/** Text color -
|
|
20
|
+
/** Text color - high contrast, readable on the background */
|
|
91
21
|
text: string;
|
|
92
|
-
/** Icon color - vibrant, the main accent
|
|
22
|
+
/** Icon color - vibrant, the main accent */
|
|
93
23
|
icon: string;
|
|
94
24
|
}
|
|
95
25
|
/**
|
|
96
26
|
* Universal color palette designed to work in both light and dark modes.
|
|
97
27
|
*
|
|
98
28
|
* Design principles:
|
|
99
|
-
* - Background:
|
|
100
|
-
*
|
|
101
|
-
* -
|
|
102
|
-
* -
|
|
103
|
-
* where colored text is wanted (e.g. rich-text colors)
|
|
104
|
-
* - Icon: the main vibrant color, used for dots/icons carrying the hue
|
|
105
|
-
*
|
|
106
|
-
* Note: tag labels use `text` — the hue lives in the label and a soft
|
|
107
|
-
* background tint, with no border (see packages/ui Tag component).
|
|
29
|
+
* - Background: Semi-transparent with alpha for adaptability
|
|
30
|
+
* - Border: Medium saturation, visible on both modes
|
|
31
|
+
* - Text: Same as icon for consistency (vibrant, readable)
|
|
32
|
+
* - Icon: The main vibrant color, good contrast on both modes
|
|
108
33
|
*/
|
|
109
34
|
declare const COLORS: {
|
|
110
|
-
gray:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
35
|
+
readonly gray: {
|
|
36
|
+
readonly background: "rgba(107, 114, 128, 0.15)";
|
|
37
|
+
readonly border: "rgba(107, 114, 128, 0.3)";
|
|
38
|
+
readonly text: "#6B7280";
|
|
39
|
+
readonly icon: "#6B7280";
|
|
40
|
+
};
|
|
41
|
+
readonly slate: {
|
|
42
|
+
readonly background: "rgba(100, 116, 139, 0.15)";
|
|
43
|
+
readonly border: "rgba(100, 116, 139, 0.3)";
|
|
44
|
+
readonly text: "#64748B";
|
|
45
|
+
readonly icon: "#64748B";
|
|
46
|
+
};
|
|
47
|
+
readonly blue: {
|
|
48
|
+
readonly background: "rgba(59, 130, 246, 0.15)";
|
|
49
|
+
readonly border: "rgba(59, 130, 246, 0.3)";
|
|
50
|
+
readonly text: "#3B82F6";
|
|
51
|
+
readonly icon: "#3B82F6";
|
|
52
|
+
};
|
|
53
|
+
readonly sky: {
|
|
54
|
+
readonly background: "rgba(14, 165, 233, 0.15)";
|
|
55
|
+
readonly border: "rgba(14, 165, 233, 0.3)";
|
|
56
|
+
readonly text: "#0EA5E9";
|
|
57
|
+
readonly icon: "#0EA5E9";
|
|
58
|
+
};
|
|
59
|
+
readonly indigo: {
|
|
60
|
+
readonly background: "rgba(99, 102, 241, 0.15)";
|
|
61
|
+
readonly border: "rgba(99, 102, 241, 0.3)";
|
|
62
|
+
readonly text: "#6366F1";
|
|
63
|
+
readonly icon: "#6366F1";
|
|
64
|
+
};
|
|
65
|
+
readonly green: {
|
|
66
|
+
readonly background: "rgba(34, 197, 94, 0.15)";
|
|
67
|
+
readonly border: "rgba(34, 197, 94, 0.3)";
|
|
68
|
+
readonly text: "#22C55E";
|
|
69
|
+
readonly icon: "#22C55E";
|
|
70
|
+
};
|
|
71
|
+
readonly emerald: {
|
|
72
|
+
readonly background: "rgba(16, 185, 129, 0.15)";
|
|
73
|
+
readonly border: "rgba(16, 185, 129, 0.3)";
|
|
74
|
+
readonly text: "#10B981";
|
|
75
|
+
readonly icon: "#10B981";
|
|
76
|
+
};
|
|
77
|
+
readonly teal: {
|
|
78
|
+
readonly background: "rgba(20, 184, 166, 0.15)";
|
|
79
|
+
readonly border: "rgba(20, 184, 166, 0.3)";
|
|
80
|
+
readonly text: "#14B8A6";
|
|
81
|
+
readonly icon: "#14B8A6";
|
|
82
|
+
};
|
|
83
|
+
readonly red: {
|
|
84
|
+
readonly background: "rgba(239, 68, 68, 0.15)";
|
|
85
|
+
readonly border: "rgba(239, 68, 68, 0.3)";
|
|
86
|
+
readonly text: "#EF4444";
|
|
87
|
+
readonly icon: "#EF4444";
|
|
88
|
+
};
|
|
89
|
+
readonly rose: {
|
|
90
|
+
readonly background: "rgba(244, 63, 94, 0.15)";
|
|
91
|
+
readonly border: "rgba(244, 63, 94, 0.3)";
|
|
92
|
+
readonly text: "#F43F5E";
|
|
93
|
+
readonly icon: "#F43F5E";
|
|
94
|
+
};
|
|
95
|
+
readonly yellow: {
|
|
96
|
+
readonly background: "rgba(234, 179, 8, 0.15)";
|
|
97
|
+
readonly border: "rgba(234, 179, 8, 0.3)";
|
|
98
|
+
readonly text: "#EAB308";
|
|
99
|
+
readonly icon: "#EAB308";
|
|
100
|
+
};
|
|
101
|
+
readonly amber: {
|
|
102
|
+
readonly background: "rgba(245, 158, 11, 0.15)";
|
|
103
|
+
readonly border: "rgba(245, 158, 11, 0.3)";
|
|
104
|
+
readonly text: "#F59E0B";
|
|
105
|
+
readonly icon: "#F59E0B";
|
|
106
|
+
};
|
|
107
|
+
readonly orange: {
|
|
108
|
+
readonly background: "rgba(249, 115, 22, 0.15)";
|
|
109
|
+
readonly border: "rgba(249, 115, 22, 0.3)";
|
|
110
|
+
readonly text: "#F97316";
|
|
111
|
+
readonly icon: "#F97316";
|
|
112
|
+
};
|
|
113
|
+
readonly purple: {
|
|
114
|
+
readonly background: "rgba(168, 85, 247, 0.15)";
|
|
115
|
+
readonly border: "rgba(168, 85, 247, 0.3)";
|
|
116
|
+
readonly text: "#A855F7";
|
|
117
|
+
readonly icon: "#A855F7";
|
|
118
|
+
};
|
|
119
|
+
readonly violet: {
|
|
120
|
+
readonly background: "rgba(139, 92, 246, 0.15)";
|
|
121
|
+
readonly border: "rgba(139, 92, 246, 0.3)";
|
|
122
|
+
readonly text: "#8B5CF6";
|
|
123
|
+
readonly icon: "#8B5CF6";
|
|
124
|
+
};
|
|
125
|
+
readonly fuchsia: {
|
|
126
|
+
readonly background: "rgba(217, 70, 239, 0.15)";
|
|
127
|
+
readonly border: "rgba(217, 70, 239, 0.3)";
|
|
128
|
+
readonly text: "#D946EF";
|
|
129
|
+
readonly icon: "#D946EF";
|
|
130
|
+
};
|
|
131
|
+
readonly pink: {
|
|
132
|
+
readonly background: "rgba(236, 72, 153, 0.15)";
|
|
133
|
+
readonly border: "rgba(236, 72, 153, 0.3)";
|
|
134
|
+
readonly text: "#EC4899";
|
|
135
|
+
readonly icon: "#EC4899";
|
|
136
|
+
};
|
|
137
|
+
readonly cyan: {
|
|
138
|
+
readonly background: "rgba(6, 182, 212, 0.15)";
|
|
139
|
+
readonly border: "rgba(6, 182, 212, 0.3)";
|
|
140
|
+
readonly text: "#06B6D4";
|
|
141
|
+
readonly icon: "#06B6D4";
|
|
142
|
+
};
|
|
143
|
+
readonly lime: {
|
|
144
|
+
readonly background: "rgba(132, 204, 22, 0.15)";
|
|
145
|
+
readonly border: "rgba(132, 204, 22, 0.3)";
|
|
146
|
+
readonly text: "#84CC16";
|
|
147
|
+
readonly icon: "#84CC16";
|
|
148
|
+
};
|
|
129
149
|
};
|
|
130
150
|
type ColorId = keyof typeof COLORS;
|
|
131
151
|
type ColorBackground = (typeof COLORS)[ColorId]["background"];
|
|
@@ -956,6 +976,7 @@ type CountryNumericCode = (typeof COUNTRIES)[CountryIso2]["numericCode"];
|
|
|
956
976
|
declare const getCountryByIso2: (iso2: string) => Country | undefined;
|
|
957
977
|
declare const getCountryByIso3: (iso3: string) => Country | undefined;
|
|
958
978
|
declare const getAllCountries: () => Country[];
|
|
979
|
+
declare const getCountryPhoneCode: (iso2: string) => string;
|
|
959
980
|
declare const getPhoneMaxDigits: (iso2: string) => number;
|
|
960
981
|
declare const getPhoneTrunkPrefix: (iso2: string) => string;
|
|
961
982
|
/**
|
|
@@ -966,31 +987,6 @@ declare const isValidIso2: (code: string) => code is CountryIso2;
|
|
|
966
987
|
* Type guard to check if a string is a valid ISO3 country code
|
|
967
988
|
*/
|
|
968
989
|
declare const isValidIso3: (code: string) => code is CountryIso3;
|
|
969
|
-
/**
|
|
970
|
-
* Get the display name of a country in the specified locale.
|
|
971
|
-
* Defaults to French with English as fallback.
|
|
972
|
-
* Uses Intl.DisplayNames for locale-aware names (e.g., "Italie" for "IT" in French).
|
|
973
|
-
* The Intl.DisplayNames instance is cached at module level to avoid repeated allocations.
|
|
974
|
-
*
|
|
975
|
-
* @param iso2 - ISO 3166-1 alpha-2 country code (e.g., "FR", "IT")
|
|
976
|
-
* @param locales - BCP 47 language tags in preference order (default: ['fr', 'en'])
|
|
977
|
-
*/
|
|
978
|
-
declare function getCountryDisplayName(iso2: string, locales?: string | string[]): string;
|
|
979
|
-
/**
|
|
980
|
-
* Get the display name of a country by its ISO 3166-1 alpha-3 code.
|
|
981
|
-
* Defaults to French with English as fallback.
|
|
982
|
-
*
|
|
983
|
-
* @param iso3 - ISO 3166-1 alpha-3 country code (e.g., "FRA", "ITA")
|
|
984
|
-
* @param locales - BCP 47 language tags in preference order (default: ['fr', 'en'])
|
|
985
|
-
*/
|
|
986
|
-
declare function getCountryDisplayNameByIso3(iso3: string, locales?: string | string[]): string;
|
|
987
|
-
/**
|
|
988
|
-
* Get all countries sorted alphabetically by their display name in the given locale.
|
|
989
|
-
* Sorted once — callers should store the result in a module-level constant.
|
|
990
|
-
*
|
|
991
|
-
* @param locale - BCP 47 language tag for sorting (default: 'fr')
|
|
992
|
-
*/
|
|
993
|
-
declare function getSortedCountries(locale?: string): Country[];
|
|
994
990
|
/**
|
|
995
991
|
* Strip the national trunk prefix from a phone number.
|
|
996
992
|
* Pure string operation, no external dependencies.
|
|
@@ -1376,8 +1372,8 @@ declare const isValidCurrencyCode: (code: string) => code is CurrencyCode;
|
|
|
1376
1372
|
* ```typescript
|
|
1377
1373
|
* import { FILE_SIZE } from "@stndrds/constants";
|
|
1378
1374
|
*
|
|
1379
|
-
*
|
|
1380
|
-
* .
|
|
1375
|
+
* file({ name: "avatar" })
|
|
1376
|
+
* .maxSize(FILE_SIZE.MB_5) // 5 MB
|
|
1381
1377
|
* .build();
|
|
1382
1378
|
* ```
|
|
1383
1379
|
*/
|
|
@@ -1527,6 +1523,17 @@ declare const RECOMMENDED_MAX_SIZES: {
|
|
|
1527
1523
|
/** Large archives: 1 GB */
|
|
1528
1524
|
readonly ARCHIVE: number;
|
|
1529
1525
|
};
|
|
1526
|
+
/**
|
|
1527
|
+
* Convert bytes to human-readable format
|
|
1528
|
+
*
|
|
1529
|
+
* @example
|
|
1530
|
+
* ```typescript
|
|
1531
|
+
* formatBytes(1024) // "1 KB"
|
|
1532
|
+
* formatBytes(1048576) // "1 MB"
|
|
1533
|
+
* formatBytes(1073741824) // "1 GB"
|
|
1534
|
+
* ```
|
|
1535
|
+
*/
|
|
1536
|
+
declare const formatBytes: (bytes: number, decimals?: number) => string;
|
|
1530
1537
|
/**
|
|
1531
1538
|
* Convert megabytes to bytes
|
|
1532
1539
|
*
|
|
@@ -1574,18 +1581,6 @@ declare const bytesToGb: (bytes: number) => number;
|
|
|
1574
1581
|
*/
|
|
1575
1582
|
declare const isWithinSizeLimit: (bytes: number, maxBytes: number) => boolean;
|
|
1576
1583
|
|
|
1577
|
-
/**
|
|
1578
|
-
* Maximum length of a memory `name`. Memory names double as the identifier
|
|
1579
|
-
* passed to `get_memory({ name })`, so they stay short and slug-like.
|
|
1580
|
-
*/
|
|
1581
|
-
declare const MEMORY_NAME_MAX_LENGTH = 100;
|
|
1582
|
-
/**
|
|
1583
|
-
* Maximum length of a memory `description`. Descriptions are the always-in-
|
|
1584
|
-
* context index line advertised in the agent system prompt, so they are
|
|
1585
|
-
* bounded to keep the whole memories block within a fixed ceiling.
|
|
1586
|
-
*/
|
|
1587
|
-
declare const MEMORY_DESCRIPTION_MAX_LENGTH = 160;
|
|
1588
|
-
|
|
1589
1584
|
/**
|
|
1590
1585
|
* Common MIME types for file validation
|
|
1591
1586
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
|
|
@@ -1674,6 +1669,12 @@ declare const FONT_MIME_TYPES: {
|
|
|
1674
1669
|
readonly EOT: "application/vnd.ms-fontobject";
|
|
1675
1670
|
};
|
|
1676
1671
|
declare const FONT_MIME_TYPES_ARRAY: ("font/ttf" | "font/otf" | "font/woff" | "font/woff2" | "application/vnd.ms-fontobject")[];
|
|
1672
|
+
declare const OTHER_MIME_TYPES: {
|
|
1673
|
+
readonly BINARY: "application/octet-stream";
|
|
1674
|
+
readonly FORM_DATA: "multipart/form-data";
|
|
1675
|
+
readonly JSON_LD: "application/ld+json";
|
|
1676
|
+
readonly XHTML: "application/xhtml+xml";
|
|
1677
|
+
};
|
|
1677
1678
|
/**
|
|
1678
1679
|
* All image MIME types
|
|
1679
1680
|
*/
|
|
@@ -1717,7 +1718,7 @@ declare const MEDIA: readonly ("image/jpeg" | "image/png" | "image/gif" | "image
|
|
|
1717
1718
|
/**
|
|
1718
1719
|
* All MIME types combined
|
|
1719
1720
|
*/
|
|
1720
|
-
declare const ALL_MIME_TYPES: readonly ("image/jpeg" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "image/bmp" | "image/tiff" | "image/x-icon" | "image/heic" | "image/heif" | "application/pdf" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.text" | "application/vnd.oasis.opendocument.spreadsheet" | "application/vnd.oasis.opendocument.presentation" | "application/rtf" | "text/plain" | "text/csv" | "text/markdown" | "application/zip" | "application/vnd.rar" | "application/x-tar" | "application/gzip" | "application/x-7z-compressed" | "application/x-bzip2" | "audio/mpeg" | "audio/wav" | "audio/ogg" | "audio/aac" | "audio/flac" | "audio/mp4" | "audio/webm" | "video/mp4" | "video/webm" | "video/ogg" | "video/x-msvideo" | "video/quicktime" | "video/x-matroska" | "video/x-flv" | "video/x-ms-wmv" | "video/mpeg" | "text/javascript" | "text/typescript" | "application/json" | "application/xml" | "text/html" | "text/css" | "text/x-python" | "text/x-java-source" | "text/x-c" | "text/x-c++" | "application/x-yaml" | "application/sql" | "font/ttf" | "font/otf" | "font/woff" | "font/woff2" | "application/vnd.ms-fontobject")[];
|
|
1721
|
+
declare const ALL_MIME_TYPES: readonly ("image/jpeg" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "image/bmp" | "image/tiff" | "image/x-icon" | "image/heic" | "image/heif" | "application/pdf" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.text" | "application/vnd.oasis.opendocument.spreadsheet" | "application/vnd.oasis.opendocument.presentation" | "application/rtf" | "text/plain" | "text/csv" | "text/markdown" | "application/zip" | "application/vnd.rar" | "application/x-tar" | "application/gzip" | "application/x-7z-compressed" | "application/x-bzip2" | "audio/mpeg" | "audio/wav" | "audio/ogg" | "audio/aac" | "audio/flac" | "audio/mp4" | "audio/webm" | "video/mp4" | "video/webm" | "video/ogg" | "video/x-msvideo" | "video/quicktime" | "video/x-matroska" | "video/x-flv" | "video/x-ms-wmv" | "video/mpeg" | "text/javascript" | "text/typescript" | "application/json" | "application/xml" | "text/html" | "text/css" | "text/x-python" | "text/x-java-source" | "text/x-c" | "text/x-c++" | "application/x-yaml" | "application/sql" | "font/ttf" | "font/otf" | "font/woff" | "font/woff2" | "application/vnd.ms-fontobject" | "application/octet-stream" | "multipart/form-data" | "application/ld+json" | "application/xhtml+xml")[];
|
|
1721
1722
|
/**
|
|
1722
1723
|
* Union type of all valid MIME types
|
|
1723
1724
|
*/
|
|
@@ -1774,37 +1775,9 @@ declare const isVideoMimeType: (mimeType: string) => boolean;
|
|
|
1774
1775
|
* Check if a MIME type is code
|
|
1775
1776
|
*/
|
|
1776
1777
|
declare const isCodeMimeType: (mimeType: string) => boolean;
|
|
1777
|
-
|
|
1778
1778
|
/**
|
|
1779
|
-
*
|
|
1780
|
-
* to `get_skill({ name })`, so they stay short and slug-like.
|
|
1779
|
+
* Get file extension from MIME type
|
|
1781
1780
|
*/
|
|
1782
|
-
declare const
|
|
1783
|
-
/**
|
|
1784
|
-
* Maximum length of a skill `description`. Descriptions are advertised verbatim
|
|
1785
|
-
* in the agent system prompt, so they are bounded to keep the per-skill bullet
|
|
1786
|
-
* (and therefore the whole skills block) within a fixed ceiling.
|
|
1787
|
-
*/
|
|
1788
|
-
declare const SKILL_DESCRIPTION_MAX_LENGTH = 160;
|
|
1789
|
-
|
|
1790
|
-
/** The shared single-tenant / master-tenant UUID used across web and api wiring. */
|
|
1791
|
-
declare const DEFAULT_TENANT_ID = "00000000-0000-0000-0000-000000000000";
|
|
1792
|
-
|
|
1793
|
-
type FormatPresetGroup = "communication" | "identifiants" | "business_fr" | "design";
|
|
1794
|
-
type FormatPreset = {
|
|
1795
|
-
/** Stable identifier — referenced in tests and selection logic. */
|
|
1796
|
-
id: string;
|
|
1797
|
-
label: string;
|
|
1798
|
-
icon: IconName;
|
|
1799
|
-
group: FormatPresetGroup;
|
|
1800
|
-
storage: {
|
|
1801
|
-
kind: "format";
|
|
1802
|
-
value: "email" | "url" | "slug";
|
|
1803
|
-
} | {
|
|
1804
|
-
kind: "pattern";
|
|
1805
|
-
regex: string;
|
|
1806
|
-
};
|
|
1807
|
-
};
|
|
1808
|
-
declare const TEXT_FORMAT_PRESETS: readonly FormatPreset[];
|
|
1781
|
+
declare const getExtensionFromMimeType: (mimeType: string) => string | null;
|
|
1809
1782
|
|
|
1810
|
-
export {
|
|
1783
|
+
export { ALL_MIME_TYPES, ARCHIVES, ARCHIVE_MIME_TYPES, ARCHIVE_MIME_TYPES_ARRAY, AUDIO, AUDIO_MIME_TYPES, AUDIO_MIME_TYPES_ARRAY, type ArchiveMimeType, type AudioMimeType, BYTES, CODE, CODE_MIME_TYPES, CODE_MIME_TYPES_ARRAY, COLORS, COLOR_GROUPS, COUNTRIES, CURRENCIES, type CodeMimeType, type Color, type ColorBackground, type ColorBorder, type ColorGroup, type ColorGroupColors, type ColorIcon, type ColorId, type ColorText, type Country, type CountryIso2, type CountryIso3, type CountryName, type CountryNumericCode, type CountryPhoneCode, type Currency, type CurrencyCode, type CurrencyName, type CurrencySymbol, DEFAULT_ATTRIBUTE_ICONS, DOCUMENTS, DOCUMENT_MIME_TYPES, DOCUMENT_MIME_TYPES_ARRAY, type DocumentMimeType, FILE_SIZE, FONTS, FONT_MIME_TYPES, FONT_MIME_TYPES_ARRAY, type FontMimeType, GIGABYTES, ICONS, IMAGES, IMAGE_MIME_TYPES, IMAGE_MIME_TYPES_ARRAY, type IconName, type ImageMimeType, KILOBYTES, MEDIA, MEGABYTES, type MimeType, OFFICE_DOCUMENTS, OTHER_MIME_TYPES, RECOMMENDED_MAX_SIZES, STATUS_COLORS, type StatusColorGroup, VIDEO, VIDEO_MIME_TYPES, VIDEO_MIME_TYPES_ARRAY, type VideoMimeType, WEB_IMAGES, bytesToGb, bytesToMb, formatBytes, gbToBytes, getAllColors, getAllCountries, getAllCurrencies, getColor, getColorIds, getColorsByGroup, getCountryByIso2, getCountryByIso3, getCountryPhoneCode, getCurrency, getCurrencySymbol, getDefaultAttributeIcon, getExtensionFromMimeType, getPhoneMaxDigits, getPhoneTrunkPrefix, isArchiveMimeType, isAudioMimeType, isCodeMimeType, isDocumentMimeType, isImageMimeType, isValidColorId, isValidCurrencyCode, isValidIso2, isValidIso3, isVideoMimeType, isWithinSizeLimit, mbToBytes, stripTrunkPrefix };
|