Compare commits

..

3979 commits

Author SHA1 Message Date
d1cb6b758c Fix LXD container mode: PATH, socket proxy, exec
All checks were successful
BotServer CI / build (push) Successful in 10m54s
2026-03-15 20:00:06 -03:00
ba53a0c178 Fix LXD socket handling in container mode
All checks were successful
BotServer CI / build (push) Successful in 11m6s
2026-03-15 18:58:21 -03:00
bf5ee0bef2 Remove botui SVG dependency - use None for svg_content
All checks were successful
BotServer CI / build (push) Successful in 15m48s
2026-03-15 16:20:41 -03:00
749db895bb CI: copy botui instead of symlink
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-15 16:18:55 -03:00
321d744922 CI: fix botui symlink path
Some checks failed
BotServer CI / build (push) Failing after 17s
2026-03-15 16:16:38 -03:00
4f214f3d98 CI: add botui submodule for SVG assets
Some checks are pending
BotServer CI / build (push) Waiting to run
2026-03-15 16:16:18 -03:00
ef426b7a50 LXD proxy and container improvements
Some checks failed
BotServer CI / build (push) Failing after 7m5s
2026-03-15 15:50:02 -03:00
eb586cf4f9 refactor(secrets): add tenant/org hierarchy with fallback support 2026-03-15 11:38:50 -03:00
7fb73e683f feat: add campaigns, attendance SLA, and marketing modules 2026-03-14 16:35:42 -03:00
13892b3157 Fix tenant-org-bot relationship and CRM lead form 2026-03-12 18:19:18 -03:00
ad4aca21ff feat: implement WhatsApp bursting rate limit and consume activation tokens
All checks were successful
BotServer CI / build (push) Successful in 11m4s
2026-03-10 21:18:14 -03:00
e98de24fe6 chore: update submodules
All checks were successful
BotServer CI / build (push) Successful in 9m56s
2026-03-10 19:39:31 -03:00
1053c86a73 fix: whatsapp dynamic routing and openai tool call accumulation
All checks were successful
BotServer CI / build (push) Successful in 13m40s
2026-03-10 17:19:17 -03:00
786d404938 feat: handle 429 rate limit in OpenAI non-stream generate
All checks were successful
BotServer CI / build (push) Successful in 11m7s
2026-03-10 15:26:10 -03:00
f34d401c2e feat: handle 429 rate limit in OpenAI client
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-10 15:21:40 -03:00
260a13e77d refactor: apply various fixes across botserver
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-10 15:15:21 -03:00
82bfd0a443 Fix Bedrock config for OpenAI GPT-OSS models
All checks were successful
BotServer CI / build (push) Successful in 12m35s
2026-03-10 12:36:24 -03:00
c523cee177 Use Redis to track last sent time per WhatsApp recipient
All checks were successful
BotServer CI / build (push) Successful in 13m37s
- Store last_sent timestamp in Redis (whatsapp:last_sent:<phone>)
- Always wait 6 seconds between messages to same recipient
- Persists across restarts
2026-03-09 21:00:45 -03:00
4bda4ba897 Fix WhatsApp streaming: add response content to buffer
All checks were successful
BotServer CI / build (push) Successful in 8m50s
2026-03-09 20:23:38 -03:00
9f35863bff Simplify hallucination detector: only stop if 50+ repetitions
All checks were successful
BotServer CI / build (push) Successful in 9m8s
- Simple: count pattern repetitions, stop at 50
- Async API with Redis-backed counting
- 60-second window for cleanup
2026-03-09 20:02:29 -03:00
032de108fd Relax hallucination detector: ignore Markdown separators, increase thresholds
- Ignore ---, ***, ___ (legitimate Markdown)
- Increase consecutive threshold: 5 → 10
- Increase occurrence threshold: 8 → 15
- Increase token threshold: 10 → 15
2026-03-09 19:50:34 -03:00
47e1013700 Fix Redis BLPOP return type: handle (key, value) tuple
All checks were successful
BotServer CI / build (push) Successful in 13m52s
2026-03-09 19:43:47 -03:00
5d3174b24e Fix compilation: add Debug derive and type annotations
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-03-09 19:32:36 -03:00
d22ce019b6 Implement Meta WhatsApp official rate limits: 1msg/6s, 45 burst, 4^X retry
Some checks failed
BotServer CI / build (push) Failing after 8m45s
- Add Redis-backed message queue with per-recipient tracking
- Enforce 1 message per 6 seconds per recipient (0.17 msg/s)
- Support burst mode: up to 45 messages in 6-second window
- Implement proportional cooldown after burst
- Add exponential backoff retry on error 131056 (4^X seconds)
- Update botbook with official Meta rate limits
- Add unit tests for burst mode and rate limiting
- Fix config inheritance bug: delete all keys before sync
2026-03-09 19:16:41 -03:00
77c35ccde5 feat: add WhatsApp rate limiting and LLM hallucination detection
All checks were successful
BotServer CI / build (push) Successful in 11m51s
2026-03-09 17:22:47 -03:00
24709f7811 feat(whatsapp): add phone_number_id based bot routing
All checks were successful
BotServer CI / build (push) Successful in 12m13s
- Add resolve_bot_by_phone_number_id function for automatic routing
- Webhooks now route to correct bot based on whatsapp-phone-number-id
- Enables multiple WhatsApp numbers to use single webhook URL
- Falls back to default bot if no match found

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-09 12:30:26 -03:00
c072fb936e fix(llm): load system-prompt from config.csv correctly
All checks were successful
BotServer CI / build (push) Successful in 17m27s
- Move system_prompt retrieval inside spawn_blocking closure
- Include system_prompt in the return tuple to fix scope issue
- Add trace logging for debugging system-prompt loading
- GLM-5 and other LLM providers now correctly receive custom system prompts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-09 11:55:05 -03:00
97661d75e2 feat(whatsapp): isolate lists as single messages and remove code blocks
- Split list detection into numbered and bullet list items
- Add looks_like_list_start() to detect when list is beginning
- Add looks_like_list_end() to detect when list has ended
- Add split_text_before_list() to separate text before list
- Add split_list_from_text() to separate list from text after
- Update streaming logic to send lists as isolated messages
- Add code block removal (triple backticks and inline backticks)
- Add comprehensive unit tests for list detection functions

Resolves: Lists being mixed with other text in WhatsApp messages
Resolves: JavaScript/C# code leaking into WhatsApp messages
2026-03-08 14:52:59 -03:00
c5d69f9752 feat(whatsapp): Add /clear command for session history
- Add /clear command handler to allow users to clear their conversation history
- Implement clear_session_history() function using diesel delete
- Remove dead code (unused list processing functions)
- Add message deduplication using Redis cache

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-07 18:58:00 -03:00
85b4653899 Fix WhatsApp streaming to send complete messages
- Accumulate all content before sending (no chunking)
- Only send when is_final = true
- Fixes list (li/ul) handling - lists sent as one complete message

- Improves WhatsApp user experience by sending complete formatted responses
- Removes complex chunked logic in favor of simplicity

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-06 18:52:53 -03:00
859db6b8a0 fix: Lower KB search thresholds and add Cloudflare AI embedding support
All checks were successful
BotServer CI / build (push) Successful in 10m35s
- Lower score_threshold in kb_indexer.rs from 0.5 to 0.3
- Lower website search threshold in kb_context.rs from 0.6 to 0.4
- Lower KB search threshold in kb_context.rs from 0.7 to 0.5
- Add Cloudflare AI (/ai/run/) URL detection in cache.rs
- Add Cloudflare AI request format ({"text": ...}) in cache.rs
- Add Cloudflare AI response parsing (result.data) in cache.rs

This fixes the issue where KB search returned 0 results even with
114 chunks indexed. The high thresholds were filtering out all results.
2026-03-05 00:11:08 -03:00
8500949fcd fix: Lower KB search thresholds and add Cloudflare AI embedding support
- Lower score_threshold in kb_indexer.rs from 0.5 to 0.3
- Lower website search threshold in kb_context.rs from 0.6 to 0.4
- Lower KB search threshold in kb_context.rs from 0.7 to 0.5
- Add Cloudflare AI (/ai/run/) URL detection in cache.rs
- Add Cloudflare AI request format ({"text": ...}) in cache.rs
- Add Cloudflare AI response parsing (result.data) in cache.rs

This fixes the issue where KB search returned 0 results even with
114 chunks indexed. The high thresholds were filtering out all results.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 00:06:17 -03:00
e389178a36 feat: Add HuggingFace embedding API support with authentication
- Added api_key field to LocalEmbeddingService for authentication
- Added embedding-key config parameter support in bootstrap
- Smart URL handling: doesn't append /embedding for full URLs (HuggingFace, OpenAI, etc.)
- Detects HuggingFace URLs and uses correct request format (inputs instead of input/model)
- Handles multiple response formats:
  - HuggingFace: direct array [0.1, 0.2, ...]
  - Standard/OpenAI: {"data": [{"embedding": [...]}]}
- Added Authorization header with Bearer token when api_key is provided
- Improved error messages with full response details

Fixes embedding errors when using HuggingFace Inference API
2026-03-04 16:54:25 -03:00
d5b877f8e8 fix: Improve embedding error handling and add semantic cache toggle
- Enhanced error messages in LocalEmbeddingService to show actual HTTP status and response
- Added semantic-cache-enabled config parameter to disable semantic matching when embedding service unavailable
- Improved error logging with full response details for debugging production issues
- Prevents 'Invalid embedding response' errors by allowing graceful fallback
2026-03-04 16:49:22 -03:00
5404e3e7ba feat: Enhance KB context, embedding generator, and website crawler
- Improved kb_context with better context management
- Enhanced embedding_generator with extended functionality (+231 lines)
- Updated kb_indexer with improved indexing logic
- Expanded website_crawler_service capabilities (+230 lines)
- Updated use_website keyword implementation
- Refined bootstrap_manager and utils
- Improved drive monitoring and local file monitor
- Added server enhancements
2026-03-04 15:43:37 -03:00
7a22798c23 Fix deployment module: add types, router, handlers and fix forgejo integration 2026-03-03 14:30:44 -03:00
6195062482 fix: add missing PathBuf import 2026-03-03 10:03:49 -03:00
b2d6a51ebd fix: correct tool file path resolution to match architecture
- Updated get_tool_bas_path to look in /opt/gbo/data (source) first
- Then check botserver-stack/data/system/work (compiled) second
- Removed incorrect $HOME/data and $HOME/gb/work paths
- Fixes 'Tool file not found' error when executing inscricao tool

According to AGENTS.md architecture:
- Bots are in /opt/gbo/data primary
- They are compiled into work directory by local_file_monitor
- tool_executor was looking in wrong directories
2026-03-03 10:01:33 -03:00
c03398fe56 feat: Add deployment API endpoints and routes (Phase 0 completion)
Some checks failed
BotServer CI / build (push) Failing after 1m45s
- Add API endpoints to deployment/mod.rs:
  - GET /api/deployment/targets - List available deployment targets
  - POST /api/deployment/deploy - Deploy application to selected target
- Register deployment routes in main application router
- Support for internal GB Platform and external Forgejo deployments
- Proper error handling with ErrorSanitizer
- SQL injection protection with sql_guard

Phase 0: Deployment Infrastructure - COMPLETE 
2026-03-02 07:42:28 -03:00
b42a7e5cb2 feat: Add Phase 1 Code Editor Integration (P0 - Critical)
Some checks failed
BotServer CI / build (push) Failing after 1m53s
Phase 1: Code Editor Integration
- Add Monaco Editor to vendor directory
- Create editor.html component with full Monaco integration
- Create API endpoints for file operations (editor.rs)
  - GET /api/editor/file/:file_path - Read file
  - POST /api/editor/file/:file_path - Save file
  - GET /api/editor/files - List files
- Features:
  - File tree sidebar
  - Multi-file tabs
  - Syntax highlighting for 10+ languages
  - Auto-save with WebSocket sync preparation
  - Keyboard shortcuts (Ctrl+S, Ctrl+P)
  - Status bar with language, encoding, cursor position
  - Custom GB dark theme
  - Publish integration with deployment modal
2026-03-02 07:26:35 -03:00
33d6f90ba8 feat: Add Phase 0 deployment infrastructure (CRITICAL)
Some checks failed
BotServer CI / build (push) Failing after 2m6s
Phase 0.1: Deployment Router
- Create deployment module with DeploymentRouter
- Support internal (GB Platform) and external (Forgejo) deployment
- Add proper error handling and result types

Phase 0.2: Forgejo Integration
- Create ForgejoClient for repository management
- Implement git push functionality with git2
- Add CI/CD workflow generation for HTMX, React, Vue apps
- Support custom domains and automated deployments

Phase 0.3: Backend preparation
- Add deployment types and configuration structures
- Prepare integration with orchestrator
2026-03-02 07:12:30 -03:00
1e71c9be09 feat: Add comprehensive stage progress logging
Some checks failed
BotServer CI / build (push) Failing after 2m39s
- Add detailed logging for all 5 pipeline stages (PLAN, BUILD, REVIEW, DEPLOY, MONITOR)
- Log stage start/complete events with agent IDs and progress details
- Add resource creation/deletion logging in drive_handlers
- Improve pipeline summary logging with task ID, nodes, resources, and URL

This addresses the requirement for textual progress in console logs.
2026-03-01 22:36:14 -03:00
c326581a9e fix(zitadel): resolve OAuth client initialization timing issue
- Fix PAT extraction timing with retry loop (waits up to 60s for PAT in logs)
- Add sync command to flush filesystem buffers before extraction
- Improve logging with progress messages and PAT verification
- Refactor setup code into consolidated setup.rs module
- Fix YAML indentation for PatPath and MachineKeyPath
- Change Zitadel init parameter from --config to --steps

The timing issue occurred because:
1. Zitadel writes PAT to logs at startup (~18:08:59)
2. Post-install extraction ran too early (~18:09:35)
3. PAT file wasn't created until ~18:10:38 (63s after installation)
4. OAuth client creation failed because PAT file didn't exist yet

With the retry loop:
- Waits for PAT to appear in logs with sync+grep check
- Extracts PAT immediately when found
- OAuth client creation succeeds
- directory_config.json saved with valid credentials
- Login flow works end-to-end

Tested: Full reset.sh and login verification successful
2026-03-01 19:06:09 -03:00
1bbb94d500 fix(directory): improve error message for invalid credentials
Some checks failed
BotServer CI / build (push) Failing after 2m34s
- Updated error message to explain when credentials are found but invalid
- Clarified that credentials might be from a previous installation
- Added step-by-step solution for resetting credentials
- Removed misleading 'No admin credentials found' message

The error now accurately reflects the actual problem: authentication
failure rather than missing credentials.
2026-03-01 10:17:30 -03:00
8016caa790 fix(bootstrap): create OAuth client when Zitadel is already running
Some checks failed
BotServer CI / build (push) Failing after 3m20s
- Added OAuth client creation to the 'already running' branch
- Previously, OAuth client was only created when Zitadel was started
- This fixes the issue where OAuth client wasn't created on subsequent runs

Fixes the OAuth client creation issue discovered during testing.
2026-03-01 10:11:42 -03:00
2a6c599c75 feat(directory): read admin credentials from ~/.gb-setup-credentials
Some checks failed
BotServer CI / build (push) Failing after 5m3s
- Updated setup_directory() to read credentials from saved file
- Added read_saved_credentials() to parse ~/.gb-setup-credentials
- Added get_admin_credentials() to try multiple sources
- Removed default credentials approach (doesn't work)
- Improved error messages with solution steps

This matches the working approach from commit 86cfccc2 where
credentials were saved during first bootstrap and reused for
OAuth client creation on subsequent runs.
2026-03-01 10:06:30 -03:00
eb5c12c466 fix(directory): add .await to ensure_admin_token() calls
Some checks failed
BotServer CI / build (push) Failing after 5m28s
Fixed compilation errors by adding .await to all ensure_admin_token() calls:
- create_organization()
- create_user()
- save_config()

The method was made async but the calls weren't updated.
2026-03-01 09:52:31 -03:00
2c92a81302 merge: Unify master into main - all commits unified
Some checks failed
BotServer CI / build (push) Failing after 6m9s
2026-03-01 07:43:07 -03:00
8f495c75ec WIP: Local changes before merging master into main 2026-03-01 07:40:11 -03:00
bbdf243c86 fix: OAuth client creation during bootstrap
Some checks failed
BotServer CI / build (push) Failing after 6m2s
- Add password grant authentication support in DirectorySetup
- Extract initial admin credentials from Zitadel log file
- Fix race condition in Zitadel startup (wait for health check before starting)
- Create parent directories before saving config
- Add retry logic for OAuth client creation
- Improve error handling with detailed messages

Fixes authentication service not configured error after bootstrap.
2026-03-01 07:31:17 -03:00
0b1b17406d chore(core): various email and security updates 2026-02-24 19:02:48 -03:00
764f058653 fix: update work directory paths to use botserver-stack/data/system/work
All checks were successful
BotServer CI / build (push) Successful in 7m4s
Updated all hardcoded work/ directory references to use the correct
relative path from the current working directory:
- botserver-stack/data/system/work

This ensures consistent file location resolution regardless of where
botserver is run from (/home/rodriguez/src/gb/ or /opt/gbo/bin/).

Changes:
- local_file_monitor.rs: Use std::env::current_dir() for work_root
- drive_monitor/mod.rs: Use work_root PathBuf for tool compilation
- website_crawler_service.rs: Use std::env::current_dir() for work_path

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-22 16:20:07 -03:00
1856215d05 chore: update dependencies and formatting
All checks were successful
BotServer CI / build (push) Successful in 7m30s
2026-02-22 15:55:39 -03:00
affb702e90 fix(tools): auto-create work directory if missing in production
All checks were successful
BotServer CI / build (push) Successful in 8m12s
Added logic to create botserver-stack/data/system/work directory
if it doesn't exist. This ensures production deployments work
without manual directory setup.

Changes:
- Added fs::create_dir_all() in use_tool.rs
- Added fs::create_dir_all() in tool_context.rs
- Logs when directory is created
- Fixes production deployment where /system/work may not exist

This ensures the tool loading works in fresh production environments
where the work folder hasn't been populated yet.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-22 12:58:58 -03:00
febfa2e708 fix(tools): use relative path for tool .mcp.json files
All checks were successful
BotServer CI / build (push) Successful in 8m37s
Changed tool loading to use relative path from current directory instead
of hardcoded HOME/gb path. This makes the code portable across different
deployment environments.

- Updated use_tool.rs to use std::env::current_dir()
- Updated tool_context.rs to use std::env::current_dir()
- Added PathBuf import to both files
- Tools now load from botserver-stack/data/system/work/

Fixes issue where tools weren't being loaded because .mcp.json files
were in a different location than expected.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-22 11:21:07 -03:00
de017241f2 fix: Complete security remediation - RCE and SSRF fixes
All checks were successful
BotServer CI / build (push) Successful in 7m34s
- Fixed RCE vulnerability in trusted_shell_script_arg execution
- Fixed SSRF vulnerability in GET command with internal IP blocking
- Updated SafeCommand to use explicit positional arguments

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 01:14:14 +00:00
e143968179 feat: Add JWT secret rotation and health verification
SEC-02: Implement credential rotation security improvements

- Add JWT secret rotation to rotate-secret command
- Generate 64-character HS512-compatible secrets
- Automatic .env backup with timestamp
- Atomic file updates via temp+rename pattern
- Add health verification for rotated credentials
- Route rotate-secret, rotate-secrets, vault commands in CLI
- Add verification attempts for database and JWT endpoints

Security improvements:
- JWT_SECRET now rotatable (previously impossible)
- Automatic rollback via backup files
- Health checks catch configuration errors
- Clear warnings about token invalidation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 19:42:41 +00:00
df9b228a35 feat(drive): Implement S3 handlers (list/read/write/delete) 2026-02-19 12:38:43 +00:00
98813fbdc8 chore: Fix warnings and clean TODO refs 2026-02-19 12:18:39 +00:00
ac5b814536 fix(security): Fix unsafe code, CORS logic, and expect usage 2026-02-19 12:06:05 +00:00
d7211a6c19 fix: Resolve unused import and variable warnings 2026-02-19 11:48:17 +00:00
3b21ab5ef9 fix: prevent duplicate message in chat when tool is executed
- Track tool_was_executed flag in stream_response
- Send empty content in final is_complete message when tool already sent results
- Prevents the LLM's pre-tool text from appearing twice in the chat UI
- DB message saving is unaffected (uses full_response_clone before the check)
2026-02-18 20:31:34 +00:00
b1118f977d fix: Correct parameter names in tool .bas files to match database schema
- Tool 06: Change tipoExibicao to tipoDescricao (matches pedidos_uso_imagem table)
- Tool 07: Change tipoExibicao to categoriaDescricao (matches licenciamentos table)
- Both tools now compile and execute successfully with database inserts

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 17:51:47 +00:00
f7c60362e3 fix: Add SAVE statement conversion for tool compilation
- Add convert_save_for_tools() to convert SAVE to INSERT syntax
- Generate map-based INSERT: let __data__ = #{field: value, ...}; INSERT "table", __data__
- Fix parameter names to match database schema (tipoExibicao -> tipoDescricao)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 17:50:04 +00:00
9b86b204f2 fix: Add # comment support and remove hardcoded column lists
- Support # as comment marker like ' in BASIC preprocessor
- Remove hardcoded column lists from get_table_field_names()
- Let runtime use database schema dynamically via get_table_columns()
- Fix SELECT/CASE conversion to add semicolons to body statements

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 17:19:30 +00:00
848b875698 fix: Use PORT env var instead of BOTSERVER_PORT, default to port 9000
- Change BOTSERVER_PORT to PORT for consistency with .env.embedded
- Update default port from 8080 to 9000 in config
- Fix service port references in security integration
- Update directory setup ExternalPort to 9000

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-17 14:43:16 +00:00
c264ad1294 fix: Improve tool call handling and BASIC SELECT/CASE conversion
All checks were successful
BotServer CI / build (push) Successful in 9m34s
- Add tool_call_buffer to accumulate JSON chunks across multiple LLM responses
- Handle incomplete tool call JSON that spans multiple chunks
- Convert SELECT...CASE/END SELECT to Rhai match expressions
- Fix NOT IN operator conversion to !in for IF conditions
2026-02-16 09:30:19 +00:00
4ca7e5da40 fix: Handle tool calls in JSON array format
All checks were successful
BotServer CI / build (push) Successful in 9m25s
Fixed issue where LLM tool calls returned as JSON arrays were not being
detected and were displayed as raw JSON in the chat instead of being executed.

The parse_tool_call method now handles:
- Single tool call objects
- Arrays of tool calls (OpenAI standard format)

This prevents tool call JSON from appearing in the chat window and ensures
tools are executed properly.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 00:19:03 +00:00
b92ef7c034 feat: Add detailed logging for session tools loading in WebSocket
All checks were successful
BotServer CI / build (push) Successful in 10m35s
Add error and warning logs to help diagnose why session tools are not
working in production. Logs now show:
- Number of tools loaded successfully
- Detailed error messages when tool loading fails
- Bot name lookup failures

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 23:57:17 +00:00
0883fe9cce fix: Avoid workspace conflict in Forgejo CI
All checks were successful
BotServer CI / build (push) Successful in 7m54s
Remove actions/checkout with custom path that causes multiple workspace
roots error. Clone botserver repository directly in Setup Workspace step
instead of using checkout action.

Fixes error: "multiple workspace roots found in the same workspace"

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 23:26:55 +00:00
8257d49967 feat: Load session tools in WebSocket connection
Some checks failed
BotServer CI / build (push) Has been cancelled
This loads and sends the available tools to the client when establishing
a WebSocket connection. Tools are loaded based on the bot configuration
and sent in the initial welcome message.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 23:19:38 +00:00
0a1bd25869 fix: Increase default n_predict to 512 for DeepSeek R1 reasoning
All checks were successful
BotServer CI / build (push) Successful in 9m26s
DeepSeek R1 model outputs reasoning_content first, then content.
With n_predict=50, responses were truncated during reasoning phase.
Increased to 512 to allow full reasoning + response.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 20:27:35 +00:00
a9cbbbffa0 fix: Use correct default LLM model name for local DeepSeek server
Changed default model from 'gpt-3.5-turbo' to 'DeepSeek-R1-Distill-Qwen-1.5B-Q3_K_M.gguf'
in bot message handler. This ensures the local llama-server receives the correct model
name and can process requests properly.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 20:23:04 +00:00
1cee912b72 fix: Correct LLM model paths and remove unnecessary cd command
- Change model paths to use ./data/llm/ instead of relative paths from build dir
- Remove cd command when starting llama-server to keep botserver root as cwd
- This fixes model loading when servers are started from different directories
- Both LLM and embedding servers now start successfully

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 20:15:17 +00:00
e9a428ab1c fix: Auto-create bot database when not configured
Modified get_bot_pool() to automatically create the database for a bot
if it doesn't exist, instead of failing with "No database configured" error.

This fixes the issue where bots created after the initial sync don't have
a database_name set in the bots table, causing table creation to fail.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 14:57:22 +00:00
0c9665dd8b fix: Enable vector_db by default with health check and fallback to local LLM
- Add vector_db_health_check() function to verify Qdrant availability
- Add wait loop for vector_db startup in bootstrap (15 seconds)
- Fallback to local LLM when external URL configured but no API key provided
- Prevent external LLM (api.z.ai) usage without authentication key

This fixes the production issues:
- Qdrant vector database not available at https://localhost:6333
- External LLM being used instead of local when no key is configured
- Ensures vector_db is properly started and ready before use

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 14:54:17 +00:00
307809bbdd fix: Handle empty config values for LLM server arguments
All checks were successful
BotServer CI / build (push) Successful in 8m3s
The config_manager.get_config() can return Ok("") for empty config values,
which would pass through unwrap_or_else() without using the default.

Added checks after config retrieval to use defaults when config values
are empty strings:
- gpu_layers: "20" (default for GPU layers)
- n_moe: "4" (default for MoE)
- parallel: "1" (default for parallel)
- n_predict: "50" (default for predict)
- n_ctx_size: "32000" (default for context size)

This fixes the error: "error while handling argument --n-gpu-layers: stoi"

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 13:17:26 +00:00
58adf7c4ae fix: Set default llm_server_path and correct model file paths
Some checks failed
BotServer CI / build (push) Has been cancelled
When no default.gbai/config.csv exists, the system now:
- Sets default llm_server_path to ./botserver-stack/bin/llm/build/bin
- Uses correct relative paths to model files: ../../../../data/llm/
- Uses actual model filenames from 3rdparty.toml

This fixes the issue where LLM/embedding servers couldn't find model files
because the paths were constructed incorrectly.

Model filenames:
- LLM: DeepSeek-R1-Distill-Qwen-1.5B-Q3_K_M.gguf
- Embedding: bge-small-en-v1.5-f32.gguf

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 13:11:14 +00:00
0e6e2bfc6d fix: Correct default LLM model to deepseek-small
All checks were successful
BotServer CI / build (push) Successful in 8m57s
Changed the default LLM model from glm-4 to deepseek-small to match
the model defined in 3rdparty.toml ([models.deepseek_small]).

This ensures that when no default.gbai/config.csv exists, the system
uses the correct default local model.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 12:56:15 +00:00
337bef3bad fix: Use default local LLM models when config is empty
Some checks failed
BotServer CI / build (push) Has been cancelled
When no default.gbai/config.csv exists or when llm-model/embedding-model
config is empty, the system now uses default local models instead of
skipping server startup.

Changes:
- Default LLM model: glm-4
- Default Embedding model: bge-small-en-v1.5
- Logs when using defaults

This fixes the issue where the "default" bot would fail to load LLM
and Embedding services when no config.csv was present, causing the
error: "not loading embedding neither llm local for default bot"

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 12:54:40 +00:00
cf7bd7ffa2 fix: Use spawn_blocking for Redis cache connection to prevent freezing
All checks were successful
BotServer CI / build (push) Successful in 8m38s
The init_redis() function was using synchronous blocking calls
(redis::Client::get_connection()) inside an async function, which
blocked the entire tokio runtime and caused botserver to freeze.

Changes:
- Wrap Redis connection calls in tokio::task::spawn_blocking()
- Runs blocking operations in separate thread pool
- Prevents tokio runtime from freezing during cache connection

This fixes the issue where botserver would hang indefinitely
when connecting to Valkey/Redis cache.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 12:21:33 +00:00
fc34461b2f fix: Improve cache_health_check TCP test to eliminate false positives
All checks were successful
BotServer CI / build (push) Successful in 8m28s
The previous /dev/tcp test was giving false positives, reporting that
Valkey was running when it was actually down. This caused bootstrap to
skip starting Valkey, leading to botserver hanging on cache connection.

Changes:
- Use nc (netcat) with -z flag for reliable port checking
- Final fallback: /dev/tcp with actual PING/PONG verification
- Only returns true if port is open AND responds correctly

This ensures cache_health_check() accurately reports Valkey status.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 12:02:23 +00:00
d243666cc2 fix: Support valkey-cli in cache_health_check for Valkey-only setups
All checks were successful
BotServer CI / build (push) Successful in 8m19s
- Try valkey-cli first (preferred for Valkey installations)
- Fall back to redis-cli (for Redis installations)
- Fall back to TCP connection test (works for both)

This fixes environments that only have Valkey installed without
Redis symlinks or redis-cli.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 11:48:02 +00:00
ba70bd97bc fix: Bootstrap should check Valkey is running and use correct component name
All checks were successful
BotServer CI / build (push) Successful in 8m56s
- Fix component name mismatch: "redis" -> "cache" in bootstrap_manager
- Add cache_health_check() function to verify Valkey is responding
- Add health check loop after starting cache (12s wait with PING test)
- Ensures cache is ready before proceeding with bootstrap

This fixes the issue where botserver would hang waiting for cache
connection because the cache component was never started.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 11:26:27 +00:00
dec3a086ab fix: Extract Valkey to cache/bin/ directory
All checks were successful
BotServer CI / build (push) Successful in 8m1s
- Binaries at cache/bin/valkey-server (correct production path)
- Use --strip-components=1 for extraction
- Matches /opt/gbo/bin/botserver-stack/bin/cache/bin/

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 01:22:59 +00:00
bfbdf8396f fix: Extract Valkey binaries directly to cache/ directory
Some checks failed
BotServer CI / build (push) Has been cancelled
- Use --strip-components=2 to flatten tarball structure
- Binaries go to cache/valkey-server (not cache/bin/valkey-server)
- Matches production path: /opt/gbo/bin/botserver-stack/bin/cache/

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 01:21:20 +00:00
0af972eda6 fix: Use correct valkey-server binary path
Some checks failed
BotServer CI / build (push) Has been cancelled
- Binary is at cache/bin/bin/valkey-server after extraction
- Update exec_cmd and check_cmd to use bin/ subdirectory
- Create symlinks at parent level for convenience

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 01:20:56 +00:00
14b3a0e6c0 fix: Remove redis symlinks from Valkey installation
Some checks failed
BotServer CI / build (push) Has been cancelled
- Use valkey-server and valkey-cli directly
- No redis compatibility symlinks needed
- Simplifies installation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 01:20:08 +00:00
92d21fe3f7 fix: Use Valkey 8.1.5-jammy for GLIBC 2.36 compatibility
All checks were successful
BotServer CI / build (push) Successful in 8m54s
- noble version requires GLIBC 2.38 (Ubuntu 24.04)
- jammy version works with GLIBC 2.36 (Ubuntu 22.04)
- System has GLIBC 2.36, needs compatible binary

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 01:01:19 +00:00
0e1013e4ca fix: Downgrade Valkey from 9.0.2 to 8.1.5
Some checks failed
BotServer CI / build (push) Has been cancelled
- Use valkey-8.1.5-noble-x86_64.tar.gz instead of 9.0.2-jammy
- More stable version for production use

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 00:54:25 +00:00
278b92d5fa feat: Increase cache retry delay to 5 seconds
All checks were successful
BotServer CI / build (push) Successful in 8m25s
- Change retry interval from 1s to 5s between attempts
- Reduce attempts from 30 to 12 (still 60s total wait time)
- Gives Valkey more time to stabilize between connection attempts
- Helps with slow-to-start services during bootstrap

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 00:37:59 +00:00
8d0fd9da3d feat: Add retry logic for cache/Valkey connection
All checks were successful
BotServer CI / build (push) Successful in 8m19s
- Wait up to 30 seconds for cache to be ready
- Retry every 1 second with progress logging
- Prevents race condition during service startup
- Ensures suggestions feature works when Valkey starts after botserver

Fixes issue where cache connection failed during bootstrap if
Valkey wasn't immediately ready.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 00:24:46 +00:00
4e4aca0986 fix: Use precompiled Valkey binary from download.valkey.io
All checks were successful
BotServer CI / build (push) Successful in 7m53s
- Update 3rdparty.toml to download valkey-9.0.2-jammy-x86_64.tar.gz
- Remove source compilation approach (no gcc/make required)
- Update installer to handle precompiled binaries directly
- Fix symlinks for redis compatibility

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 23:51:33 +00:00
9453ff4c65 fix: Improve cache/valkey and LLM configuration
All checks were successful
BotServer CI / build (push) Successful in 8m15s
- Add connection verification for Redis/Valkey cache with PING test
- Support CACHE_URL, REDIS_URL, and VALKEY_URL environment variables
- Add better error messages when cache is unavailable
- Add LLM_URL and LLM_MODEL environment variable support
- LLM configuration now checks env vars first, then database, then defaults
- This ensures local LLM (http://localhost:8081) is used as proper fallback

Fixes suggestions button not working when valkey is unavailable
and improves LLM configuration when no bot config.csv exists.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 23:30:07 +00:00
8a8008a72c fix: Resolve compilation errors
All checks were successful
BotServer CI / build (push) Successful in 13m3s
- Escape format placeholders in designer_ai.rs ({{botname}})
- Remove undefined 'prefix' filter in drive_monitor
- Fix type mismatch in use_tool.rs (str vs &String)
- Remove unused TextExpressionMethods import

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 22:15:35 +00:00
e34848507d fix: Update multiple modules for i18n and drive monitoring
Some checks failed
BotServer CI / build (push) Failing after 6m22s
- Update auto_task modules (app_generator, designer_ai, intent_classifier)
- Refactor use_tool.rs for better structure
- Update bot core and website crawler
- Improve drive_monitor and local_file_monitor
- Update bootstrap module

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 22:06:57 +00:00
d1d591ddcb chore: Force CI rebuild with i18n debug-embed support
All checks were successful
BotServer CI / build (push) Successful in 8m18s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 19:42:42 +00:00
35fafad088 chore: Force CI rebuild with updated i18n
All checks were successful
BotServer CI / build (push) Successful in 8m33s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 19:04:47 +00:00
23c93cbb3d feat: Restore .env file creation for local Vault bootstrap
All checks were successful
BotServer CI / build (push) Successful in 9m6s
- Add TLS certificate generation to Vault post-install commands (CA, server, client, PostgreSQL)
- Add initialize_vault_local() function to handle Vault initialization for local installs
- Add ensure_env_file_exists() function to create .env when Vault already initialized
- Modify start() method to call Vault initialization after successful start (local mode)
- Fix Vault CLI flags: use -tls-skip-verify (not -skip-verify or -skip-tls-verify)

This restores the behavior where .env is automatically created with VAULT_ADDR,
VAULT_TOKEN, and VAULT_CACERT during local bootstrap, matching the LXC container
deployment behavior in facade.rs.

Fixes issue where .env file was only created for LXC deployments but not for
local installations.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 16:35:24 +00:00
bd92ff7bfd fix(bootstrap): bootstrap_completed only checks file existence, not content
All checks were successful
BotServer CI / build (push) Successful in 8m50s
2026-02-14 13:49:15 +00:00
0c44f7784d Debug: Add logging for missing translation keys
All checks were successful
BotServer CI / build (push) Successful in 10m8s
2026-02-14 12:25:46 +00:00
4b44602d39 Update bootstrap and core modules
All checks were successful
BotServer CI / build (push) Successful in 10m27s
2026-02-14 09:54:14 +00:00
17cb4ef147 Fix: Update source files and fix notify dependency reference
All checks were successful
BotServer CI / build (push) Successful in 11m35s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 22:30:57 +00:00
5ea171d126 Refactor: Split large files into modular subdirectories
Some checks failed
BotServer CI / build (push) Failing after 1m34s
Split 20+ files over 1000 lines into focused subdirectories for better
maintainability and code organization. All changes maintain backward
compatibility through re-export wrappers.

Major splits:
- attendance/llm_assist.rs (2074→7 modules)
- basic/keywords/face_api.rs → face_api/ (7 modules)
- basic/keywords/file_operations.rs → file_ops/ (8 modules)
- basic/keywords/hear_talk.rs → hearing/ (6 modules)
- channels/wechat.rs → wechat/ (10 modules)
- channels/youtube.rs → youtube/ (5 modules)
- contacts/mod.rs → contacts_api/ (6 modules)
- core/bootstrap/mod.rs → bootstrap/ (5 modules)
- core/shared/admin.rs → admin_*.rs (5 modules)
- designer/canvas.rs → canvas_api/ (6 modules)
- designer/mod.rs → designer_api/ (6 modules)
- docs/handlers.rs → handlers_api/ (11 modules)
- drive/mod.rs → drive_handlers.rs, drive_types.rs
- learn/mod.rs → types.rs
- main.rs → main_module/ (7 modules)
- meet/webinar.rs → webinar_api/ (8 modules)
- paper/mod.rs → (10 modules)
- security/auth.rs → auth_api/ (7 modules)
- security/passkey.rs → (4 modules)
- sources/mod.rs → sources_api/ (5 modules)
- tasks/mod.rs → task_api/ (5 modules)

Stats: 38,040 deletions, 1,315 additions across 318 files

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 21:09:30 +00:00
3566a8c87f Fix batismo tool natural language processing
- Enhanced conversational input handling for batismo tool
- Improved keyword extraction and format recognition
- Fixed field extraction from informal user messages
- Better natural language understanding

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 20:17:49 +00:00
76abcea5e9 Fix start.bas repeated execution and add tool calling system
- Add Redis-based tracking to prevent start.bas from running repeatedly
  when clicking suggestion buttons. start.bas now executes only once per
  session with a 24-hour expiration on the tracking key.

- Add generic tool executor (ToolExecutor) for parsing and executing
  tool calls from any LLM provider. Works with Claude, OpenAI, and
  other providers that use standard tool calling formats.

- Update both start.bas execution paths (WebSocket handler and LLM
  message handler) to check Redis before executing.

- Fix suggestion duplication by clearing suggestions from Redis after
  fetching them.

- Add rate limiter for LLM API calls.

- Improve error handling and logging throughout.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 13:49:54 +00:00
6215908536 Add ConfigWatcher and fix model routing
New features:
- Add ConfigWatcher for hot-reloading config.csv from ~/data
- Add LocalFileMonitor for watching ~/data/*.gbai directories
- Add GLM LLM provider implementation
- Add tool context for LLM tool calling

Bug fixes:
- Fix model routing to respect session → bot → default hierarchy
- Fix ConfigWatcher to handle local embedded (llm-server=true)
- Skip DriveMonitor for default bot (managed via ConfigWatcher)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-09 15:10:27 +00:00
Rodrigo Rodriguez
fc0926ffff WIP: Multiple code improvements from previous session
- Fix various compiler warnings
- Update analytics, auto_task, and basic keywords
- Improve security, channels, and core modules
- Update designer, directory, and drive modules
- Fix embedded UI and LLM modules

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 12:25:37 +00:00
Claude Sonnet 4.5
e8ce642b81 Update default port from 8088 to 9000
- Update .env.embedded PORT variable
- Update README.md documentation
- Update deploy/README.md port references
- Update scripts/deploy-embedded.sh kiosk URLs
- Update src/directory/bootstrap.rs login URLs
- Update src/core/package_manager/setup/directory_setup.rs auth callback URLs

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 12:13:42 +00:00
84458b2a69 feat: Add BOTSERVER_PORT environment variable override
All checks were successful
BotServer CI / build (push) Successful in 12m37s
- Check BOTSERVER_PORT env var before database config
- Override server_port from database if BOTSERVER_PORT is set
- Apply to both from_database() and from_env() config paths
- Allows easy port configuration via environment variable
2026-02-06 12:56:52 -03:00
125b9d4389 Remove embed-ui from default features, fix embedded UI path
All checks were successful
BotServer CI / build (push) Successful in 12m5s
- Removed embed-ui from default features (botserver is backend API only)
- UI embedding is botui's responsibility, not botserver's
- Fixed rust-embed folder path in embedded_ui.rs
- Resolves CI compilation errors
2026-02-06 09:40:37 -03:00
e8a400d86d Remove Kubernetes deployment, add embed-ui deployment documentation
Some checks failed
BotServer CI / build (push) Failing after 12m5s
- Removed Kubernetes deployment files (focus on embed-ui feature instead)
- Added deploy-ui.sh script for manual UI file deployment
- Added deploy/README.md with comprehensive deployment guide
- Updated README.md with embed-ui feature explanation
- Simplified deployment: embed-ui feature creates self-contained binary
2026-02-06 09:26:44 -03:00
373957cb25 Fix: Add embed-ui to default features
Production binaries should embed UI assets by default to avoid
requiring external ui/suite folder in deployment.

This ensures botserver binary contains all HTMX, HTML, CSS, and JS
assets needed for the web interface.
2026-02-05 22:52:12 -03:00
5cedd9c379 Fix: Remove mold linker from cargo config
Some checks failed
BotServer CI / build (push) Failing after 17m29s
Mold linker is not available on the system and was causing build failures.
Removed rustflags setting to use default lld linker instead.
2026-02-05 22:43:26 -03:00
7da1442c91 Fix PostgreSQL readiness check timeout in bootstrap
All checks were successful
BotServer CI / build (push) Successful in 13m13s
- Use local pg_isready path when available (./botserver-stack/bin/tables/bin/pg_isready)
- Fall back to system pg_isready if local binary not found
- Prevents 30-second timeout during bootstrap when PostgreSQL is actually running
- Applied to both readiness checks in start_all() method
2026-02-05 22:23:04 -03:00
07ff7a6297 Fix PostgreSQL health check - remove database-specific check
All checks were successful
BotServer CI / build (push) Successful in 12m18s
- Removed -d 'postgres' parameter from pg_isready health checks
- Health check now only verifies server connection on port 5432
- Fixes false positive failures when PostgreSQL is running but specific database has issues
- PostgreSQL logs showed 'database system is ready' but health check was failing
2026-02-05 21:55:47 -03:00
de3e5c4fec Fix PostgreSQL ready check for already-running instances
All checks were successful
BotServer CI / build (push) Successful in 14m23s
Add pg_isready health check to the 'already running' branch to ensure
PostgreSQL is properly detected as ready, even when running as a
non-interactive user (sudo -u gbuser).

This complements the previous fix for fresh PostgreSQL starts.
2026-02-05 21:09:23 -03:00
3258f3ef85 Fix PostgreSQL startup failure for non-interactive users
All checks were successful
BotServer CI / build (push) Successful in 11m58s
Changed pg_isready checks from '-U gbuser' to '-d postgres' to properly
detect PostgreSQL readiness during bootstrap. The gbuser database doesn't
exist yet during startup, causing pg_isready to fail and bootstrap to timeout.

This fixes the issue when running botserver as a non-interactive user
(e.g., sudo -u gbuser).
2026-02-05 20:40:52 -03:00
87931e930c ci: adjust CARGO_BUILD_JOBS to 2
All checks were successful
BotServer CI / build (push) Successful in 22m11s
2026-02-05 20:01:15 -03:00
cdb1197920 ci: increase CARGO_BUILD_JOBS to 6 for faster builds
Some checks are pending
BotServer CI / build (push) Waiting to run
2026-02-05 19:54:31 -03:00
717ca8c35b Fix: Remove undefined db_password variable in database creation
Some checks failed
BotServer CI / build (push) Failing after 11m39s
2026-02-05 19:06:59 -03:00
309c5bc55a Fix: Ensure botserver database exists before running migrations
Some checks are pending
BotServer CI / build (push) Waiting to run
2026-02-05 19:02:01 -03:00
6cfbf013e2 Fix missing Router import in non-embed-ui block
All checks were successful
BotServer CI / build (push) Successful in 9m54s
2026-02-05 18:41:34 -03:00
35af28a041 Fix compilation errors: duplicate imports, feature-gated functions, type mismatch
Some checks failed
BotServer CI / build (push) Failing after 7m28s
2026-02-05 18:31:14 -03:00
52bccf0551 Adjust CARGO_BUILD_JOBS to 3
Some checks failed
BotServer CI / build (push) Failing after 11m25s
2026-02-05 18:12:41 -03:00
1a2d65c531 Fix: Remove path filters and cache for Forgejo compatibility
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-02-05 18:08:30 -03:00
d4a7d1246b Fix build.rs: only watch botui/ui/suite if exists (CI compatibility) 2026-02-05 15:28:27 -03:00
9b9015bfa1 Keep 3rdparty.toml embedded in binary (already using include_str!) 2026-02-05 14:59:57 -03:00
24b516406a Add automatic log dump when component fails to start 2026-02-05 14:53:37 -03:00
86eb3d2160 Fix migration error - remove invalid session_kb_associations DROP 2026-02-05 14:48:08 -03:00
dfb18f75e6 Fix bootstrap database creation - use BOOTSTRAP_DB_PASSWORD env var 2026-02-05 14:42:13 -03:00
5d5be5546f Fix migration: Remove orphaned COMMENT statements for session_kb_associations table 2026-02-05 14:28:20 -03:00
025e6fe823 Improve error messages: show PostgreSQL log contents on startup failure 2026-02-05 14:13:31 -03:00
d19b6083b4 [CI] Trigger new build to test compilation fixes 2026-02-05 12:28:52 -03:00
8e9c4c5c76 Revert shared module change to fix duplicate definition error 2026-02-05 11:50:32 -03:00
8d405e6926 Fix compilation errors for CI: Make embed-ui optional, fix HTML strings, shared module, email syntax 2026-02-05 11:46:32 -03:00
e4b785d7b1 Optimize CI build: Reduce jobs to 4 and remove incremental setting
Some checks failed
BotServer CI / build (push) Failing after 8m23s
2026-02-05 11:28:36 -03:00
30345c66e2 Split CI workflow: Make botserver.yaml botserver-only
Some checks failed
BotServer CI / build (push) Failing after 6m25s
- Remove botui build/deploy from botserver workflow
- Trigger only on botserver/**, botlib/** changes
- Build only botserver package
- Deploy only botserver binary
- Restart only system service
- Separate cache key to avoid conflicts
2026-02-05 08:44:21 -03:00
64d5e2a1bd Update workflow and remove test cron file 2026-02-04 21:25:39 -03:00
8d3f9339ee Fix: add /api/auth/me to public routes in RBAC 2026-02-04 14:25:14 -03:00
1fb1feff56 Fix: /api/auth/me now returns anonymous user instead of 401 2026-02-04 14:10:05 -03:00
e7fbf0ce46 Fix: generate GB-specific access token with gb_ prefix 2026-02-04 14:02:01 -03:00
e717f90cee Fix auth routes - simplify to use in-memory cache only 2026-02-04 13:47:02 -03:00
355215c2a2 Update: refactor migrations, update source files, and add new features 2026-02-04 13:29:29 -03:00
f311a438cd Fix /api/auth/me to validate tokens from database
- Save login tokens to user_login_tokens table on successful login
- Modify get_current_user to check database when cache miss occurs
- Query Zitadel directory to get user details from token
- Update last_used timestamp for token tracking
- Tokens now persist across server restarts
2026-02-04 13:28:37 -03:00
d26f0652e5 fix(website-crawler): Add missing crawl_status column to SELECT query
Some checks failed
GBCI / build (push) Failing after 14m19s
Fix the SQL query in check_and_crawl_websites() to also include crawl_status
in the SELECT clause. The WebsiteCrawlRecord struct expects this field but it was
only present in the WHERE clause, causing Diesel to fail with
'Column crawl_status was not present in query'.

This resolves the second website crawler service error.
2026-02-02 20:10:20 -03:00
841b59affd fix(website-crawler): Add missing next_crawl column to SELECT query
Some checks failed
GBCI / build (push) Failing after 12m2s
Fix the SQL query in check_and_crawl_websites() to include next_crawl in the
SELECT clause. The WebsiteCrawlRecord struct expects this field but it was
missing, causing Diesel to fail with 'Column next_crawl was not present in query'.

This resolves the website crawler service error that was preventing websites
from being properly queried and recrawled.
2026-02-02 19:58:11 -03:00
5fb4c889b7 fix(llm-config): Fix ConfigManager fallback logic for LLM configuration
Some checks failed
GBCI / build (push) Failing after 12m26s
- Fix ConfigManager to treat 'none', 'null', 'n/a', and empty values as placeholders
  and fall back to default bot's configuration instead of using these as literal values

- Fix ConfigManager to detect local file paths (e.g., .gguf, .bin, ../) and fall back
  to default bot's model when using remote API, allowing bots to keep local model
  config for local LLM server while automatically using remote model for API calls

- Fix get_default_bot() to return the bot actually named 'default' instead of
  the first active bot by ID, ensuring consistent fallback behavior

- Add comprehensive debug logging to trace LLM configuration from database to API call

This fixes the issue where bots with incomplete or local LLM configuration would
fail with 401/400 errors when trying to use remote API, instead of automatically
falling back to the default bot's configuration from config.csv.

Closes: #llm-config-fallback
2026-02-02 19:20:37 -03:00
39c4dba838 feat: Add template validation system with .valid file
- Modify bootstrap to read .valid file and validate templates before loading
- Templates not in .valid file are skipped during bootstrap
- Backward compatible: if .valid file missing, all templates are loaded
- Enables controlled template loading during bootstrap
2026-02-01 14:20:35 -03:00
748fceff5d Fix issues: remove unused import, fix ownership error, reduce crawler interval 2026-01-30 12:21:30 -03:00
94fede7cc4 feat: Add search_enabled and menu_launcher_enabled directives to .product file
- Add search_enabled field to ProductConfig to control omnibox visibility (defaults to false)
- Add menu_launcher_enabled field to ProductConfig to control apps menu button visibility (defaults to false)
- Update .product file to set both directives to false by default
- Update get_product_config_json to include new fields in API response
- Parse search_enabled and menu_launcher_enabled from .product file with support for true/false, 1/0, yes/no values

This allows disabling the suite search mechanism and hiding the menu launcher when empty,
providing a cleaner UI for deployments that don't need these features.
2026-01-29 23:55:50 -03:00
1f7cdfa9cf Fix conditional compilation for Windows-specific security methods
- Wrapped Windows security configuration code blocks in #[cfg(windows)] attributes
- Removed nested cfg attributes that were causing compilation errors
- Properly separated Windows and Linux code paths using compile-time attributes
- Fixed calls to configure_windows_security() and update_windows_signatures()
2026-01-28 20:11:18 -03:00
26963f2caf Fix bot_id: Use bot_id from URL path instead of client message
- Extract bot_name from WebSocket query parameters
- Look up bot_id from bot_name using database
- Pass bot_id to WebSocket message handler
- Use session's bot_id for LLM configuration instead of client-provided bot_id
- Fixes issue where client sends 'default' bot_id when accessing /edu
2026-01-28 17:18:22 -03:00
51c8a53a90 Enable LLM feature by default and fix compilation errors
- Add llm to default features in Cargo.toml
- Fix duplicate smart_router module declaration
- Remove unused LLMProvider import and fix unused variable warnings
- Fix move error in enhanced_llm.rs by cloning state separately for each closure
- Improve code formatting and consistency
2026-01-28 16:58:14 -03:00
a51e3a0758 chore: Set default RUST_LOG to info and revert logger init to info 2026-01-27 18:45:41 -03:00
0ccf7f8971 chore: Set default internal log level to trace 2026-01-27 18:39:48 -03:00
e7fa5bf72c Auto-enable noconsole mode when console feature is disabled 2026-01-27 16:28:36 -03:00
5568ef5802 Fix migration 6.0.0: Comment out sent_email_tracking 2026-01-27 14:14:20 -03:00
b103c07248 Fix migration errors and reorganize migration files
- Fixed 'relation session_kb_associations does not exist' error in core consolidated migration.
- Renamed migration directories from timestamp-based to version-based (6.0.x, 6.1.x, 6.2.x).
- Reorganized migrations into dedicated feature folders (products, dashboards, learn, video).
- Updated migration execution order in core/shared/utils.rs.
- Moves legacy migrations to 6.0.x/6.1.x and workflow to 6.2.0.
2026-01-27 13:45:54 -03:00
3c279f43e5 refactor: embed 3rdparty.toml and remove hardcoded defaults from installer
All checks were successful
GBCI / build (push) Successful in 10m36s
2026-01-26 20:48:57 -03:00
933d42a200 Fix: Replace brace expansion with explicit paths in mkdir command and improve LXC error logging
All checks were successful
GBCI / build (push) Successful in 14m12s
2026-01-26 17:38:34 -03:00
b113267aef Refactor: Genericize default organization to 'system' and update tenant paths 2026-01-26 17:00:21 -03:00
7e69ab26bb fix(ci): split build commands to fix feature mismatch
All checks were successful
GBCI / build (push) Successful in 13m48s
2026-01-26 12:04:03 -03:00
ff4e6c4fe8 fix(lxc): configure lxd-sock proxy for brother mode and update installers
Some checks failed
GBCI / build (push) Failing after 47s
2026-01-26 11:44:18 -03:00
b436762026 chore: remove deprecated libreoffice script and add repair utility
All checks were successful
GBCI / build (push) Successful in 12m10s
2026-01-25 23:20:08 -03:00
a4a8d01e4b fix(deps): remove missing libabseil-dev package on Debian 12
Some checks failed
GBCI / build (push) Has been cancelled
2026-01-25 23:16:39 -03:00
ae0071c6d7 ci: fix sccache caching
All checks were successful
GBCI / build (push) Successful in 12m28s
2026-01-25 22:58:35 -03:00
651b89e28d ci: restart ui service during deployment
All checks were successful
GBCI / build (push) Successful in 5m30s
2026-01-25 22:51:21 -03:00
a3babbcaa7 revert: removing production URL default logic (requested by user)
Some checks failed
GBCI / build (push) Has been cancelled
2026-01-25 22:48:47 -03:00
c643a59e29 config: use production URL as default when BOTSERVER_ENV=production
Some checks failed
GBCI / build (push) Failing after 5m28s
2026-01-25 22:42:15 -03:00
b141e1f2f0 workflow: explicitly clone main branch for workspace
All checks were successful
GBCI / build (push) Successful in 11m56s
2026-01-25 21:27:16 -03:00
5605577e8f Update container limits and introduce priority levels for LXC
Some checks failed
GBCI / build (push) Failing after 45s
2026-01-25 21:21:22 -03:00
3baa74371b Increase build concurrency to j=8 2026-01-25 20:17:08 -03:00
a15afd14ff Optimize CI: use 1 job to avoid hanging, init sccache 2026-01-25 18:59:25 -03:00
9fc43e4a55 Enable sccache, increase cores to 2, fast build 2026-01-25 18:01:19 -03:00
73da9f29cb Remove --locked flag from build command 2026-01-25 17:09:17 -03:00
4f576ca4f7 Remove sccache config from CI 2026-01-25 17:02:57 -03:00
b0f2bae2dd Initialize botui submodule in CI 2026-01-25 17:01:02 -03:00
750a2cd355 Add botui binary build and deploy to botserver workflow 2026-01-25 16:55:08 -03:00
30756f47f6 chore(workspace): final sync and remote standards update 2026-01-25 14:34:46 -03:00
9aec2675d6 fix(ci): patch Cargo.toml to exclude missing workspace members 2026-01-25 14:18:24 -03:00
222b9a8e6c docs(ci): update dev guide with minimal checkout strategy 2026-01-25 14:17:11 -03:00
c5f8ea70cc chore: update gitignore to exclude installers and temp files 2026-01-25 14:16:50 -03:00
3272a49a32 fix(ci): minimal checkout - clone only botlib submodule 2026-01-25 14:11:28 -03:00
68ae908506 fix(ci): invalidate cache and enforce shallow submodules 2026-01-25 14:10:17 -03:00
e4a55d533a feat(lxc): auto-remove snapshots during cleanup 2026-01-25 13:33:00 -03:00
4e7db823ea fix(ci): use shallow clone to improve performance 2026-01-25 12:42:45 -03:00
64c4487b8e Fix CI recursive clone and document CI workflow strategy in PROMPT.md 2026-01-25 12:31:55 -03:00
fe8579e7b2 Update botserver CI workflow to use workspace structure 2026-01-25 12:27:50 -03:00
9087bb17cd feat: complete General Bots 7.0 (v6.2.0) 2026-01-25 10:29:54 -03:00
fdf74903ad fix(server): update security modules and TODOs 2026-01-25 08:42:36 -03:00
0a24cd4b50 Fix build errors and unused imports in core, security and package_manager modules 2026-01-24 22:04:47 -03:00
8e282177d1 chore: update TODO.md with individual feature compilation status and logs 2026-01-23 23:49:23 -03:00
536495fb4d feat: make each app self-contained with core dependencies
Now you can do:
- cargo build --features sheet → gets automation+drive+cache+sheet deps
- cargo build --features mail → gets automation+drive+cache+mail deps
- cargo build --features tasks → gets automation+drive+cache+tasks deps

Each app automatically includes what it needs from core infrastructure.
No need to manually specify automation, drive, cache anymore.

Added test_all_apps.sh to test each app independently and measure
compilation times.
2026-01-23 13:46:10 -03:00
bba0efdb55 refactor: flatten Cargo.toml features to simple app list
- Removed complex nested feature dependencies
- Each app now lists only its direct crate dependencies
- Apps can be tested independently without inter-dependencies
- Simplified structure: Core Infrastructure + Flat App List + Bundles
- Core: automation, drive, cache, directory (always needed)
- Apps: chat, mail, tasks, docs, etc. (independent)
- Bundles: minimal, lightweight, full (convenience)

This makes it easy to test each app individually and matches
the app launcher menu structure.

Verified: cargo check with chat+automation+drive+cache 
2026-01-23 13:41:02 -03:00
4e3542e356 feat: add apps manifest for app launcher integration
- Created comprehensive apps-manifest.json mapping Cargo features to UI
- Organized apps into categories: Communication, Productivity, Documents, etc.
- Includes app metadata: name, description, icon, dependencies
- Defines bundles: minimal, lightweight, full, communications, etc.
- Documents core dependencies and their reasons
- Ready for botui app launcher integration
2026-01-23 13:18:12 -03:00
6fa52e1dd8 feat: implement feature bundling architecture and fix conditional compilation
- Restructured Cargo.toml with Bundle Pattern for easy feature selection
- Added feature bundles: tasks → automation + drive + monitoring
- Applied conditional compilation guards throughout codebase:
  * AppState fields (drive, cache, task_engine, task_scheduler)
  * main.rs initialization (S3, Redis, Tasks)
  * SessionManager Redis usage
  * bootstrap S3/Drive operations
  * compiler task scheduling
  * shared module Task/NewTask exports
- Eliminated all botserver compilation warnings
- Minimal build now compiles successfully
- Accepted core dependencies: automation (Rhai), drive (S3), cache (Redis)
- Created DEPENDENCY_FIX_PLAN.md with complete documentation

Minimal feature set: chat + automation + drive + cache
Verified: cargo check -p botserver --no-default-features --features minimal 
2026-01-23 13:14:20 -03:00
ed75b99a50 Refactor: Use workspace dependencies 2026-01-23 09:37:42 -03:00
f8a907bd81 Update PROMPT.md and feature gating 2026-01-22 20:24:05 -03:00
66abce913f Feature gating refactor: modular compilation with minimal feature set 2026-01-22 19:45:18 -03:00
3db87c029d Modularize learn schema and clean up channels/project schema stubs 2026-01-22 14:01:50 -03:00
fc9c07d204 Refactor schema.rs into modular files 2026-01-22 13:57:40 -03:00
18b8afd54c O 2026-01-19 21:19:10 -03:00
a0ceee6387 - Adding. 2026-01-19 16:32:40 -03:00
4f63065da2 Update botserver submodule 2026-01-19 15:43:45 -03:00
5126c648ff Auto-commit: 20260118_195334 2026-01-18 19:53:34 -03:00
033bb504b9 Various updates: dependencies, features, and bug fixes 2026-01-16 11:29:22 -03:00
f42ae6e57c Remove lib.rs - botserver is binary only, move modules to main.rs 2026-01-14 12:36:18 -03:00
fa9a1f33fa Fix Product initializer: add all extended fields 2026-01-14 11:50:10 -03:00
e4524d0584 Add SCAN BARCODE keyword and BotModelsClient.scan_barcode 2026-01-14 11:43:34 -03:00
ee9341163f Add PRODUCTS, PRODUCT, SEARCH PRODUCTS keywords for ERP integration 2026-01-14 10:20:07 -03:00
1c4cc2f986 Add SEARCH keyword and store tools: classify-product, search-products, calculate-shipping 2026-01-14 10:13:33 -03:00
c6a462f891 Enable 128-column-tables feature for diesel 2026-01-14 10:05:41 -03:00
446dee26b6 Add extended product fields: dimensions, weight, tax codes, brand, inventory, pricing, SEO 2026-01-14 10:02:55 -03:00
95a7591c39 Add Stone Pagamentos fields: SKU, dimensões, peso, NCM, GTIN, tributos, etc 2026-01-14 09:50:39 -03:00
15a09270a1 Remove unused put imports 2026-01-14 09:43:50 -03:00
cb2f13d5b0 Fix all duplicate route conflicts: combine methods and move UI routes to /api/ui/ 2026-01-14 09:37:07 -03:00
44a7f3eade Fix CRM route conflicts: move UI routes to /api/ui/crm/ 2026-01-14 09:30:23 -03:00
204703ae92 Fix duplicate UI routes in calendar - keep only in ui.rs 2026-01-13 23:02:51 -03:00
d3a3811c07 Fix duplicate route /api/calendar/calendars causing panic 2026-01-13 22:26:40 -03:00
a2783f9b32 Fix 5 errors and 32 warnings: calendar, compliance, billing_alert_broadcast, unused vars 2026-01-13 22:21:25 -03:00
31777432b4 Implement TODO items: session auth, face API, task logs, intent storage
Learn Module:
- All 9 handlers now use AuthenticatedUser extractor

Security:
- validate_session_sync reads roles from SESSION_CACHE

AutoTask:
- get_task_logs reads from manifest with status logs
- store_compiled_intent saves to cache and database

Face API:
- AWS Rekognition, OpenCV, InsightFace implementations
- Detection, verification, analysis methods

Other fixes:
- Calendar/task integration database queries
- Recording database methods
- Analytics insights trends
- Email/folder monitoring mock data
2026-01-13 14:48:49 -03:00
a886478548 Implement database persistence for dashboards, legal, and compliance modules
- Add PostgreSQL persistence for dashboards module (was returning empty vec![])
  - Tables: dashboards, dashboard_widgets, dashboard_data_sources, dashboard_filters,
    dashboard_widget_data_sources, conversational_queries
  - Full CRUD operations with spawn_blocking pattern

- Add PostgreSQL persistence for legal module (was using in-memory HashMap)
  - Tables: legal_documents, legal_document_versions, cookie_consents, consent_history,
    legal_acceptances, data_deletion_requests, data_export_requests
  - GDPR-compliant consent tracking and document management

- Add PostgreSQL persistence for compliance module (was returning empty results)
  - Tables: compliance_checks, compliance_issues, compliance_audit_log, compliance_evidence,
    compliance_risk_assessments, compliance_risks, compliance_training_records,
    compliance_access_reviews
  - Support for GDPR, SOC2, ISO27001, HIPAA, PCI-DSS frameworks

- Add migration files for all new tables
- Update schema.rs with new table definitions and joinables
- Register new routes in main.rs
- Add recursion_limit = 512 for macro expansion
2026-01-13 00:07:22 -03:00
67c9b0e0cc feat(api): add CRM, billing, products stub UI routes
- Add crm_ui.rs with stub handlers for pipeline, leads, contacts, accounts, stats
- Add billing_ui.rs with stub handlers for invoices, payments, quotes, stats
- Add products module with stub handlers for items, services, pricelists, stats
- Register routes in main.rs

These stubs return empty data/HTML to prevent 404 errors in UI.
Full CRUD implementation to follow.
2026-01-12 14:35:03 -03:00
4ed05f3f19 feat(i18n): add missing translation keys to TRANSLATION_KEYS array
- Add people-* keys (title, subtitle, search, tabs, form fields)
- Add crm-* keys (stages, stats, metrics)
- Add billing-* keys (subtitle, new-payment, revenue metrics)
- Add products-* keys (subtitle, items, stats)
2026-01-12 14:13:35 -03:00
fd03a324b9 Fix RUST_LOG: append noise filters instead of replacing existing value 2026-01-11 20:10:23 -03:00
3fc3c58816 Fix overlapping route panic: remove duplicate /api/docs/import from drive module 2026-01-11 18:49:04 -03:00
9c2a4dbb97 feat(collab): Add Phase 5 collaboration - presence, typing, selections, mentions 2026-01-11 12:27:40 -03:00
c27ba404c0 feat(office): Add Phase 4 import/export - HTML, ODS, Markdown, RTF, SVG, ODP formats 2026-01-11 12:22:14 -03:00
840c7789f3 feat(office): Add Phase 3 advanced features - Comments, Track Changes, TOC, Footnotes, Styles, Presenter View, Transitions, Media 2026-01-11 12:13:10 -03:00
1850564e62 feat(office): Add ooxmlsdk integration for Word/PowerPoint preservation 2026-01-11 12:01:58 -03:00
8a9a913ffb Use umya-spreadsheet for Excel as specified in TODO.md
- Add umya-spreadsheet v2.3 dependency (preserves charts, styles, images, formulas, macros, comments)
- Rewrite storage.rs to use umya-spreadsheet for read/write
- Keep original workbook in memory during edit session
- On cell edit: modify only that cell via update_xlsx_cell()
- On save: write full workbook via save_workbook_to_drive()
- Preserve all Excel features: merged cells, frozen panes, comments, styles
- Extract cell styles (font, color, background, alignment)
- Parse and preserve merge ranges
- Support formula preservation with = prefix handling
2026-01-11 10:01:59 -03:00
3e75bbff97 MS Office 100% Compatibility - Phase 1 Implementation
- Add rust_xlsxwriter for Excel export with formatting support
- Add docx-rs for Word document import/export with HTML conversion
- Add PPTX export support with slides, shapes, and text elements
- Refactor sheet module into 7 files (types, formulas, handlers, etc)
- Refactor docs module into 6 files (types, handlers, storage, etc)
- Refactor slides module into 6 files (types, handlers, storage, etc)
- Fix collaboration modules (borrow issues, rand compatibility)
- Add ooxmlsdk dependency for future Office 2021 features
- Fix type mismatches in slides storage
- Update security protection API router type

Features:
- Excel: Read xlsx/xlsm/xls, write xlsx with styles
- Word: Read/write docx with formatting preservation
- PowerPoint: Write pptx with slides, shapes, text
- Real-time collaboration via WebSocket (already working)
- Theme-aware UI with --sentient-* CSS variables
2026-01-11 09:56:15 -03:00
46695c0f75 feat(security): add BASIC keywords for security protection tools
Add security_protection.rs with 8 new BASIC keywords:
- SECURITY TOOL STATUS - Check if tool is installed/running
- SECURITY RUN SCAN - Execute security scan
- SECURITY GET REPORT - Get latest scan report
- SECURITY UPDATE DEFINITIONS - Update signatures
- SECURITY START SERVICE - Start security service
- SECURITY STOP SERVICE - Stop security service
- SECURITY INSTALL TOOL - Install security tool
- SECURITY HARDENING SCORE - Get Lynis hardening index

Also:
- Registered protection routes in main.rs
- Added Security Protection category to keywords list
- All functions use proper error handling (no unwrap/expect)
2026-01-10 20:32:56 -03:00
b4003e3e0a fix(auth): align auth middleware anonymous paths with RBAC config
- Remove broad /api/auth anonymous path that was matching /api/auth/me
- Add specific anonymous paths: /api/auth/login, /api/auth/refresh, /api/auth/bootstrap
- Remove /api/auth/logout, /api/auth/2fa/* from anonymous (require auth)
- Fix /api/auth/me returning 401 for authenticated users
2026-01-10 17:31:50 -03:00
8a6d63ff3e debug: add logging for auth header extraction 2026-01-10 14:24:56 -03:00
209f4d74f7 feat(rbac): add missing route permissions
- Add /api/email/** routes
- Add messaging channels: telegram, whatsapp, msteams, instagram
- Add /api/pages/** routes
- Add /api/insights/** routes
- Add /api/app-logs/** routes
- Add /api/user/** for user profile
- Add /api/ui/email/** HTMX routes
2026-01-10 14:13:08 -03:00
113f44b957 fix(middleware): correct order - Auth runs BEFORE RBAC
In Axum, layers are applied bottom-to-top (last added runs first).
So Auth middleware must be added AFTER RBAC in the chain to run BEFORE it.

Previous order (wrong): RBAC -> Auth -> Handler
New order (correct): Auth -> RBAC -> Handler
2026-01-10 14:07:23 -03:00
0bda3ed466 fix(auth): simplify session validation and add debug logging
- Remove restrictive length check in validate_session_sync
- Accept any non-empty token as valid session
- Add debug logging throughout auth flow
- Add RBAC decision logging for troubleshooting
2026-01-10 14:03:34 -03:00
b4647cd8d2 feat(rbac): implement complete RBAC middleware and route permissions
- Add rbac_middleware_fn for use in middleware layer chain
- Add RBAC middleware to request processing pipeline (after auth)
- Complete route permissions for ALL apps:
  - Anonymous: health, i18n, product, auth/login, chat, websocket
  - Authenticated users: drive, mail, calendar, tasks, docs, paper, sheet,
    slides, meet, research, sources, canvas, video, player, workspaces,
    projects, goals, settings, bots (read), designer, dashboards, crm,
    contacts, billing, products, tickets, learn, social, llm, autotask
  - Admin/SuperAdmin: users, groups, bot management, analytics, monitoring,
    audit, security, admin panel, attendant
  - SuperAdmin only: RBAC management
- Add all /api/ui/** HTMX routes with proper permissions
- Chat remains anonymous for customer support functionality
2026-01-10 11:41:25 -03:00
81b8fd8f2d fix(auth): handle Zitadel session tokens and grant Admin role
- Treat non-JWT bearer tokens as Zitadel session IDs
- Grant Admin role to valid sessions (temporary until proper role lookup)
- Add is_jwt_format helper to distinguish JWTs from session IDs
- Update RBAC to allow authenticated users access to UI monitoring routes
2026-01-10 11:14:33 -03:00
1686bfb454 feat(i18n): add missing navigation keys to TRANSLATION_KEYS
- Add nav-docs, nav-sheet, nav-slides, nav-social, nav-all-apps
- Add nav-people, nav-editor, nav-dashboards, nav-security
- Add nav-designer, nav-project, nav-canvas, nav-goals
- Add nav-player, nav-workspace, nav-video, nav-learn
- Add nav-crm, nav-billing, nav-products, nav-tickets
2026-01-10 10:53:56 -03:00
a15d020556 fix: add /api/i18n to anonymous paths for unauthenticated access 2026-01-10 10:27:01 -03:00
f07448d40a fix: add /js/* route to serve suite JS files like i18n.js 2026-01-10 10:13:46 -03:00
e3b3f04206 Normalize API paths: remove unnecessary /v1/ prefix
- Update all internal API routes from /api/v1/* to /api/*
- Protection API: /api/security/protection/*
- Botmodels calls: /api/vision/*, /api/audio/*, /api/speech/*
- Remove /api/v1/health from anonymous paths (keep /api/health)

External APIs (Reddit, Facebook, etc.) keep their original versioned paths
2026-01-10 09:48:43 -03:00
79ee009983 Fix: Add auth endpoints to anonymous paths list
- /api/auth/login was being blocked by auth middleware
- Add all auth endpoints to allow_anonymous_paths:
  - /api/auth/login
  - /api/auth/logout
  - /api/auth/refresh
  - /api/auth/bootstrap
  - /api/auth/2fa/verify
  - /api/auth/2fa/resend
  - /oauth
  - /auth/callback
2026-01-10 09:44:59 -03:00
faeae250bc Add security protection module with sudo-based privilege escalation
- Create installer.rs for 'botserver install protection' command
- Requires root to install packages and create sudoers config
- Sudoers uses exact commands (no wildcards) for security
- Update all tool files (lynis, rkhunter, chkrootkit, suricata, lmd) to use sudo
- Update manager.rs service management to use sudo
- Add 'sudo' and 'visudo' to command_guard.rs whitelist
- Update CLI with install/remove/status protection commands

Security model:
- Installation requires root (sudo botserver install protection)
- Runtime uses sudoers NOPASSWD for specific commands only
- No wildcards in sudoers - exact command specifications
- Tools run on host system, not in containers
2026-01-10 09:41:12 -03:00
27ecca0899 Fix Router type mismatch in project::configure and remove unused Html import 2026-01-09 19:19:41 -03:00
1c7a5c80b2 fix: Direct login without password change requirement
- Set change_required=false when creating admin password in Zitadel
- Admin can now login directly at /suite/login without forced password change
- Create security reminder file for admin to change password later
- Update console and credential file messages to reflect direct login
- Password change is recommended but not enforced on first login
2026-01-09 13:03:26 -03:00
115b2770cb fix: Add VAULT_CACERT to vault CLI commands in ensure_vault_unsealed
- vault status and unseal commands now use CA cert for TLS verification
- Fixes x509 certificate signed by unknown authority error
2026-01-09 12:29:45 -03:00
00acf1c76e fix: Add trusted_shell_script_arg for internal scripts
- shell_script_arg blocks $( and backticks for user input safety
- trusted_shell_script_arg allows these for internal installer scripts
- Internal scripts need shell features like command substitution
- Updated bootstrap, installer, facade, and llm modules
2026-01-09 12:13:35 -03:00
db267714ca fix: Allow URL-safe characters in SafeCommand arguments
- Allow &, ?, = in URL arguments (http:// or https://)
- Allow // pattern in URLs (needed for protocol)
- These are safe since Command::new().args() doesn't use shell
- Fixes Vault health check with query parameters
- Add debug logging to safe_curl and vault_health_check
2026-01-09 11:56:11 -03:00
cb59ceb60f fix: Smart mTLS for Vault - use client cert if exists, plain TLS during bootstrap
- Add vault_health_check() function that checks if client certs exist
- If certs exist: use mTLS (secure, post-installation)
- If certs don't exist yet: use plain TLS (during initial bootstrap)
- This allows bootstrap to complete while maintaining mTLS security after setup
- No security hole: mTLS is enforced once certs are generated
2026-01-09 11:23:49 -03:00
63aee6f6bc Revert "fix: Disable mTLS for Vault (temporary until new binary compiled)"
This reverts commit efb458ba66588de090fe6df76cdf04515eacce52.
2026-01-09 11:19:36 -03:00
460d39f399 fix: Disable mTLS for Vault (temporary until new binary compiled)
- Remove tls_client_ca_file from vault config templates
- Remove --cert/--key from health checks
- TLS still enabled for encryption, just no client cert required
- TODO: Re-enable mTLS when binary with cert health checks is compiled
2026-01-09 11:18:30 -03:00
703497b00c fix: Remove dead code and unused fields - proper fixes per PROMPT.md
- large_org_optimizer.rs: Remove unused fields (cached_at, roles, organization_id from structs)
  Add partition_manager() getter to use the field
- middleware.rs: Implement Display for AuthError to use InvalidToken message
- organization_rbac.rs: Remove unused user_groups and user_direct_permissions fields
- passkey.rs: Remove unused first_attempt_at field
- opencv.rs: Remove unused format field and ImageFormat enum
- rekognition.rs: Remove unused liveness_sessions field

No #[allow(dead_code)] - code is properly fixed or deleted
2026-01-09 11:00:14 -03:00
c59d456e25 fix: Add mTLS client certificate to all Vault health checks
- Keep mTLS enabled for security (even in dev)
- Add --cert and --key to all curl commands for Vault health checks
- Fix fetch_vault_credentials to use https and mTLS
- Fix Zitadel commands to use https with VAULT_CACERT
- All Vault communications now use proper mutual TLS
2026-01-09 10:48:13 -03:00
95fbb4f129 Revert "fix: Remove mTLS requirement from Vault config to fix health check failures"
This reverts commit 510fadf24b60c61bb39938f59d88add9b4c08168.
2026-01-09 10:45:41 -03:00
6c904f7dc9 fix: Remove mTLS requirement from Vault config to fix health check failures
- Remove tls_client_ca_file from vault config in installer.rs (Linux and macOS)
- Remove tls_client_ca_file from vault config in bootstrap/mod.rs
- TLS encryption still enabled, just no client certificate required
- Health checks now work with simple -sk curl flags
2026-01-09 10:33:11 -03:00
b674d85583 Fix SafeCommand to allow shell scripts with redirects and command chaining
- Add shell_script_arg() method for bash/sh/cmd -c scripts
- Allow > < redirects in shell scripts (blocked in regular args)
- Allow && || command chaining in shell scripts
- Update safe_sh_command functions to use shell_script_arg
- Update run_commands, start, and LLM server commands
- Block dangerous patterns: backticks, path traversal
- Fix struct field mismatches and type errors
2026-01-08 23:50:38 -03:00
41f9a778d1 fix: Add more missing types and fix duplicate derives
- Add ExportBounds and ExportError in whiteboard_export.rs
- Add RekognitionError in rekognition.rs
- Fix duplicate derive attributes on RefundResult and FallbackAttemptTracker
- Fix Recording -> WebinarRecording type references
2026-01-08 17:25:25 -03:00
3bf47a65d5 deps: Add ciborium crate for CBOR parsing in WebAuthn 2026-01-08 15:42:52 -03:00
a4cbf145d2 fix: Multiple compilation fixes per PROMPT.md
Video module:
- Fix state.db -> state.conn field name
- Fix analytics.rs imports placement
- Remove AppState dependency from websocket.rs (use global broadcaster)
- Simplify render.rs broadcaster usage

Other modules:
- Add sha1 crate dependency
- Fix AppState import paths (project, legal)
- Fix db_pool -> conn throughout codebase
- Add missing types: RefundResult, ExternalSyncError, TasksIntegrationError, RecordingError, FallbackAttemptTracker
- Add stub implementations for GoogleContactsClient, MicrosoftPeopleClient
- Fix social/mod.rs format string
- Fix designer/canvas.rs SVG path
- Remove doc comments per PROMPT.md
- Add missing handler implementations in calendar_integration.rs
2026-01-08 15:35:03 -03:00
998e4c2806 feat(video): Complete video editing module implementation
- Complete engine.rs with all AI-powered video operations
- Complete handlers.rs with 28+ HTTP API endpoints
- Add analytics.rs for video engagement tracking
- Add mcp_tools.rs for AI agent integration (6 tools)
- Add render.rs with FFmpeg worker and .gbdrive storage
- Add websocket.rs for real-time export progress
- Wire up all submodules and routes in mod.rs

AI features: transcription, auto-captions, TTS, scene detection,
auto-reframe, background removal, enhancement, beat sync, waveforms

Follows PROMPT.md: SafeCommand, SafeErrorResponse, no unwrap/comments
2026-01-08 13:44:45 -03:00
5919aa6bf0 Add video module, RBAC, security features, billing, contacts, dashboards, learn, social, and multiple new modules
Major additions:
- Video editing engine with AI features (transcription, captions, TTS, scene detection)
- RBAC middleware and organization management
- Security enhancements (MFA, passkey, DLP, encryption, audit)
- Billing and subscription management
- Contacts management
- Dashboards module
- Learn/LMS module
- Social features
- Compliance (SOC2, SOP middleware, vulnerability scanner)
- New migrations for RBAC, learn, and video tables
2026-01-08 13:16:17 -03:00
479950945b feat(auth): Add OTP password display on bootstrap and fix Zitadel login flow
- Add generate_secure_password() for OTP generation during admin bootstrap
- Display admin credentials (username/password) in console on first run
- Save credentials to ~/.gb-setup-credentials file
- Fix Zitadel client to support PAT token authentication
- Replace OAuth2 password grant with Zitadel Session API for login
- Fix get_current_user to fetch user data from Zitadel session
- Return session_id as access_token for proper authentication
- Set email as verified on user creation to skip verification
- Add password grant type to OAuth application config
- Update directory_setup to include proper redirect URIs
2026-01-06 22:56:35 -03:00
29b80f597c Fix email_accounts -> user_email_accounts table name typo in list_emails_htmx 2026-01-04 08:48:27 -03:00
b2c5895887 Add migration for bot database_name column
- Creates database_name column in bots table
- Creates tenant_id column for multi-tenant support
- Adds indexes for both columns
- Migration runs automatically on server start
2026-01-02 19:56:39 -03:00
c743754c6c Add per-bot database creation
- Added database_name field to bots schema
- Bot creation now creates a dedicated PostgreSQL database (bot_{name})
- Updated add_bot.rs to create database and store database_name
- Added create_bot_database() function with safe name validation
- Added dynamic table check to all db_api handlers
2026-01-02 19:34:59 -03:00
65b2583add Add dynamic table check to all db_api handlers
- Added is_table_allowed_with_conn check to get_record_handler
- Added is_table_allowed_with_conn check to create_record_handler
- Added is_table_allowed_with_conn check to update_record_handler
- Added is_table_allowed_with_conn check to delete_record_handler
- Returns 404 with clear message if table doesn't exist
2026-01-02 19:18:58 -03:00
56265ee5d2 Clean LLM output for generated files
- Added clean_file_content() to strip markdown fences from LLM responses
- For HTML: extracts content from <!DOCTYPE> to </html>
- For CSS/JS: filters out explanation lines (Here, This, Note:, etc)
- Fixes malformed HTML output from LLM
2026-01-02 19:15:15 -03:00
a43aea3320 Serve vendor files (htmx) from MinIO instead of local filesystem
- Added serve_vendor_file() to serve from {bot}.gblib/vendor/ in MinIO
- Added /js/vendor/* route to app_server
- Removed local ServeDir for /js/vendor from main.rs
- Added ensure_vendor_files_in_minio() to upload htmx.min.js on startup
- Uses include_bytes! to embed htmx.min.js in binary
2026-01-02 18:26:34 -03:00
bbbb9e190f Allow dynamic tables from app_generator in db_api
- Added table_exists_in_database() to check if table exists in PostgreSQL
- Updated validate_table_name() to allow valid identifiers (not just whitelist)
- Added validate_table_name_with_conn() for full validation with DB check
- Added is_table_allowed_with_conn() for handlers to verify table existence
- Updated list_records_handler and count_records_handler to use dynamic check
- Uses parameterized query for table existence check (SQL injection safe)
2026-01-02 18:20:04 -03:00
762620f7a9 Rewrite CDN URLs to local paths when serving HTML
- Added rewrite_cdn_urls() to replace HTMX CDN URLs with /js/vendor/htmx.min.js
- Applied to both MinIO and filesystem serving paths
- Supports unpkg.com, jsdelivr, cdnjs variants
- Ensures old apps with CDN references work with local files
2026-01-02 18:12:31 -03:00
2f045bffa5 Serve HTMX locally - no CDN dependencies
- Added /js/vendor route to serve local vendor JS files
- Downloaded htmx.min.js v1.9.10 to botserver-stack/static/js/vendor/
- Reverted CSP to strict 'self' only (no external CDN)
- Updated APP_GENERATOR_PROMPT to use /js/vendor/htmx.min.js
- Updated designer prompt to use local HTMX path
2026-01-02 17:54:36 -03:00
7bad8d50f7 Fix designer file writing and CSP for CDN assets
- Designer now uses state.bucket_name (like app_generator) instead of DB lookup
- Fixed local file path to match app_server fallback: {site_path}/{bot}.gbai/{bot}.gbapp/{app}/{file}
- Fixed S3 path to match app_server: {bot}.gbapp/{app}/{file} in bucket {bot}.gbai
- Added S3 bucket creation retry logic (like app_generator)
- Updated CSP to allow unpkg.com, cdnjs.cloudflare.com, cdn.jsdelivr.net for scripts/styles
- Added fonts.googleapis.com and fonts.gstatic.com for web fonts
- Updated APP_GENERATOR_PROMPT to use HTMX CDN instead of non-existent /js/vendor path
- Added designer prompt guidelines for relative asset paths
2026-01-02 17:48:51 -03:00
021080d763 fix: Mark child sections as Completed when all items inside are completed 2026-01-02 14:44:54 -03:00
20b5755c4c fix: Remove duplicate title from STATUS section 2026-01-02 14:23:34 -03:00
87f6589219 fix: Add expanded class to tree sections/children by default 2026-01-02 13:59:51 -03:00
f4aae20e05 fix: Sequential phase execution (DB→Files), compact header, remove URL duplicate 2026-01-02 13:23:00 -03:00
86ac5ca8f5 Fix panic: check if item_groups is empty before iterating
Prevents 'index out of bounds: the len is 0 but the index is 0' error
in complete_item_group_range when item_groups is empty.
2026-01-02 12:54:54 -03:00
938e154c8e Fix progress UI: remove View Details, add section dot on right side 2026-01-01 10:36:42 -03:00
1f9c3fbdf4 Fix progress UI: dots instead of checkboxes, proper durations, status indicators
- Remove checkbox text [x]/[>]/[ ] from HTML, use CSS dots only
- Add View Details links to sections
- Add status-indicator (pulsing dot) and status-gear icon
- Auto-expand running sections/children
- Format runtime and estimated time properly
- Fix decision point display
2026-01-01 10:13:27 -03:00
0385047c5c Fix task progress: real-time updates, MIME types, WebSocket event types
- Fix MIME type for app files by preserving directory structure in sanitize_file_path()
- Add with_event_type() to TaskProgressEvent for correct WebSocket event types
- broadcast_manifest_update() now sends 'manifest_update' type correctly
- update_item_status() broadcasts automatically for real-time file progress
2025-12-31 23:45:29 -03:00
bad6ebd501 Add /apps to public paths - no auth required for app access 2025-12-31 13:11:16 -03:00
8fbc52b054 Show real file progress and app URL on completion
- Update step_results in DB with real file list during generation
- Show app URL in completion event and notification
- Update task progress/current_step/total_steps as files are written
- Mark task as completed with app_url when done
2025-12-31 12:51:27 -03:00
50d58ff59f Fix task UI and MinIO app generation
- Fix MinIO bucket name sanitization (replace spaces with hyphens)
- Write apps to MinIO path: botname.gbapp/appname/files
- Serve apps directly from MinIO via /apps/:app_name route
- Add WebSocket reconnection on HTMX page load
- Remove sync_app_to_site_root (drive monitor handles sync)
2025-12-31 12:38:35 -03:00
061c14b4a2 Fix tasks UI, WebSocket progress, memory monitoring, and app generator
Tasks UI fixes:
- Fix task list to query auto_tasks table instead of tasks table
- Fix task detail endpoint to use UUID binding for auto_tasks query
- Add proper filter handling: complete, active, awaiting, paused, blocked
- Add TaskStats fields: awaiting, paused, blocked, time_saved
- Add /api/tasks/time-saved endpoint
- Add count-all to stats HTML response

App generator improvements:
- Add AgentActivity struct for detailed terminal-style progress
- Add emit_activity method for rich progress events
- Add detailed logging for LLM calls with timing
- Track files_written, tables_synced, bytes_generated

Memory and performance:
- Add memory_monitor module for tracking RSS and thread activity
- Skip 0-byte files in drive monitor and document processor
- Change DRIVE_MONITOR checking logs from info to trace
- Remove unused profile_section macro

WebSocket progress:
- Ensure TaskProgressEvent includes activity field
- Add with_activity builder method
2025-12-30 22:42:32 -03:00
b0baf36b11 Fix TLS configuration for MinIO, Qdrant, and template structure
- Fix MinIO health check to use HTTPS instead of HTTP
- Add Vault connectivity check before fetching credentials
- Add CA cert configuration for S3 client
- Add Qdrant vector_db setup with TLS configuration
- Fix Qdrant default URL to use HTTPS
- Always sync templates to S3 buckets (not just on create)
- Skip .gbkb root files, only index files in subfolders
2025-12-29 18:21:03 -03:00
23868e4c7d Consolidate all migrations into single file (129 tables preserved)
- Merge all 6.0.x through 6.1.x migrations into one file
- All 129 CREATE TABLE statements preserved
- 3661 lines of SQL in consolidated up.sql
- No tables removed, just combined into single migration
2025-12-29 12:41:25 -03:00
7634429896 Consolidate all database migrations into single optimized schema
BREAKING CHANGE: Complete database redesign

Migrations:
- Remove all 6.x.x and 7.0.0 migrations
- Create single consolidated migration 20250101000000_consolidated_schema
- Add Diesel initial setup migration

Schema Optimizations:
- All domain values use SMALLINT instead of VARCHAR/TEXT (2 bytes vs 20+ bytes)
- Sharding infrastructure: shard_config, tenant_shard_map tables
- All tables include tenant_id and shard_id for horizontal scaling
- Proper indexing strategies for high-throughput queries
- Foreign key constraints for data integrity
- Updated_at triggers via diesel_manage_updated_at

Tables (35 total):
- Core: tenants, users, bots, bot_configuration, bot_channels
- Sessions: user_sessions, message_history
- Memory: bot_memories
- Auto Tasks: auto_tasks, execution_plans, task_approvals, task_decisions
- Safety: safety_audit_log, intent_classifications
- Apps: generated_apps, designer_changes, designer_pending_changes
- KB: kb_collections, kb_documents, session_kb_associations, kb_sources
- Tools: tools, system_automations, pending_info
- Analytics: usage_analytics, analytics_events
- Tasks: tasks, task_comments
- Accounts: connected_accounts, session_account_associations
- Communication: whatsapp_numbers, clicks
- Access: table_role_access, context_injections
- Organizations: organizations, user_organizations

Rust Schema:
- Updated schema.rs to match new consolidated schema
- All diesel table definitions with proper types
- Foreign key relationships defined

WARNING: This is a DESTRUCTIVE migration - drop existing database before applying
2025-12-29 12:29:23 -03:00
1f150228af Add billion-scale database redesign with enums and sharding
Database Schema v7.0.0:
- Create new 'gb' schema with PostgreSQL ENUMs instead of VARCHAR for all domain values
- Add sharding infrastructure (shard_config, tenant_shard_map tables)
- Implement partitioned tables for sessions, messages, and analytics (monthly partitions)
- Add Snowflake-like ID generation for distributed systems
- Design for billion-user scale with proper indexing strategies

Rust Enums:
- Add comprehensive enum types in core/shared/enums.rs
- Implement ToSql/FromSql for Diesel ORM integration
- Include: ChannelType, MessageRole, MessageType, LlmProvider, ContextProvider
- Include: TaskStatus, TaskPriority, ExecutionMode, RiskLevel, ApprovalStatus, IntentType
- All enums stored as SMALLINT for efficiency

Other fixes:
- Fix hardcoded gpt-4 model in auto_task modules to use bot config
- Add vector_db to required bootstrap components
- Add Qdrant health check before KB indexing
- Change verbose START messages to trace level
- Fix episodic memory role handling in Claude client
- Disable auth for /api routes during development

This is a DESTRUCTIVE migration - only for fresh installations.
2025-12-29 11:27:13 -03:00
7bb7f8883c Fix Azure Claude to use Anthropic API format (x-api-key, /v1/messages) 2025-12-29 10:40:18 -03:00
7a7d455414 Change verbose startup logs from INFO to TRACE (credentials, spawn commands) 2025-12-29 10:34:25 -03:00
30a0619ec8 Exit cleanly on server bind failure instead of returning raw error 2025-12-29 10:28:49 -03:00
586e5e7a6e Add proper ERROR logging for server bind failures 2025-12-29 08:45:46 -03:00
6a41cbcc10 Remove redundant ensure_services_running() call - start_all() handles it 2025-12-29 08:41:42 -03:00
0e7b4b66ec Add DROP TABLE for knowledge base tables to fix migration 2025-12-29 08:36:50 -03:00
6aceb4bc59 Remove embedding columns from PostgreSQL - Qdrant handles vector storage 2025-12-29 08:29:12 -03:00
84fa9abe0a Make pgvector extension optional - use BYTEA fallback for embeddings 2025-12-29 08:27:57 -03:00
c665189279 Add DROP TABLE CASCADE at start of 6.1.0 migration for clean re-run 2025-12-29 08:18:14 -03:00
6112732e9c Add DROP TABLE before user_organizations CREATE to fix partial migration 2025-12-29 08:12:17 -03:00
38f9abb7db Fix organizations foreign key reference (org_id not id) 2025-12-29 08:07:42 -03:00
4fdad88333 Remove SECURITY_AUDIT.md 2025-12-28 21:28:01 -03:00
a5dee11002 Security audit: Remove all production .unwrap()/.expect(), add SafeCommand, ErrorSanitizer
- Phase 1 Critical: All 115 .unwrap() verified in test code only
- Phase 1 Critical: All runtime .expect() converted to proper error handling
- Phase 2 H1: Antivirus commands now use SafeCommand (added which/where to whitelist)
- Phase 2 H2: db_api.rs error responses use log_and_sanitize()
- Phase 2 H5: Removed duplicate sanitize_identifier (re-exports from sql_guard)

32 files modified for security hardening.
Moon deployment criteria: 10/10 met
2025-12-28 21:26:08 -03:00
928f29e888 feat(security): Complete security wiring and log audit
SECURITY WIRING:
- Auth middleware wired to main router with AnonymousPath config
- CORS allowed origins loaded from bot_configuration database (config.csv)
- Zitadel auth config loads from Vault via SecretsManager
- No more env vars for sensitive config (only VAULT_* allowed)

LOG AUDIT:
- Added is_sensitive_config_key() check in ask_later.rs
- Sensitive config values (password, secret, token, key, etc) now logged as [REDACTED]
- Removed potential credential exposure in pending_info logs

CONFIG LOADING ORDER:
1. VAULT_ADDR and VAULT_TOKEN from .env
2. All secrets from Vault (gbo/directory for Zitadel)
3. Bot config from config.csv (cors-allowed-origins, etc)

Auth Config Paths:
- Anonymous: /health, /healthz, /api/health, /ws, /auth
- Public: /static, /favicon.ico
2025-12-28 19:41:33 -03:00
c67aaa677a feat(security): Complete security infrastructure implementation
SECURITY MODULES ADDED:
- security/auth.rs: Full RBAC with roles (Anonymous, User, Moderator, Admin, SuperAdmin, Service, Bot, BotOwner, BotOperator, BotViewer) and permissions
- security/cors.rs: Hardened CORS (no wildcard in production, env-based config)
- security/panic_handler.rs: Panic catching middleware with safe 500 responses
- security/path_guard.rs: Path traversal protection, null byte prevention
- security/request_id.rs: UUID request tracking with correlation IDs
- security/error_sanitizer.rs: Sensitive data redaction from responses
- security/zitadel_auth.rs: Zitadel token introspection and role mapping
- security/sql_guard.rs: SQL injection prevention with table whitelist
- security/command_guard.rs: Command injection prevention
- security/secrets.rs: Zeroizing secret management
- security/validation.rs: Input validation utilities
- security/rate_limiter.rs: Rate limiting with governor crate
- security/headers.rs: Security headers (CSP, HSTS, X-Frame-Options)

MAIN.RS UPDATES:
- Replaced tower_http::cors::Any with hardened create_cors_layer()
- Added panic handler middleware
- Added request ID tracking middleware
- Set global panic hook

SECURITY STATUS:
- 0 unwrap() in production code
- 0 panic! in production code
- 0 unsafe blocks
- cargo audit: PASS (no vulnerabilities)
- Estimated completion: ~98%

Remaining: Wire auth middleware to handlers, audit logs for sensitive data
2025-12-28 19:29:18 -03:00
561264521c Add SECURITY_TASKS.md - security audit checklist, consolidate duplicate utils 2025-12-28 15:32:48 -03:00
61618a9641 Update PROMPT.md - 0 warnings achieved, document fix patterns 2025-12-28 14:29:44 -03:00
aeb4e8af0f Fix all clippy warnings - 0 warnings 2025-12-28 14:27:52 -03:00
96cf7b57f8 App generator LLM-only, app logs, knowledge base, web search, designer magic 2025-12-28 11:50:50 -03:00
9dee342817 fix(intent_compiler): Use LLM-generated basic_code instead of hardcoded keyword mapping
- Remove hardcoded keyword switch/case (CREATE_TASK, LLM, RUN_PYTHON, etc.)
- Use step.basic_code directly from LLM generation
- LLM generates BASIC code for tools/schedulers/monitors
- Simple fallback if no code generated
2025-12-27 23:29:21 -03:00
8c24e25965 fix(bootstrap): Make S3/MinIO connection failure non-fatal
- Change from error to warn when bucket creation fails
- Continue bootstrap without drive if MinIO not available
- Prevents startup failure when S3 not configured
2025-12-27 23:15:51 -03:00
36fb7988cb refactor: Move AutoTask system from basic/keywords to auto_task module
- Move app_generator, intent_classifier, intent_compiler, autotask_api, designer_ai, ask_later, auto_task, safety_layer to src/auto_task/
- Create auto_task/mod.rs with exports and route configuration
- Update imports in moved files
- Update main.rs to use auto_task::configure_autotask_routes
- Keep table_definition in keywords (shared utility)
2025-12-27 22:58:43 -03:00
a384678fb8 feat(autotask): Complete AutoTask flow with LLM-based app generation
- Add comprehensive platform capabilities prompt for LLM (all APIs, HTMX, BASIC)
- Add designer.js to all generated pages (dashboard, list, form)
- Add /api/autotask/pending endpoint for ASK LATER items
- Add /api/designer/modify endpoint for AI-powered app modifications
- Wire autotask routes in main.rs
- Create APP_GENERATOR_PROMPT.md with full API reference
- LLM decides everything - no hardcoded templates
2025-12-27 22:38:16 -03:00
06d0bf1f0a feat(autotask): Add missing API endpoints for UI compatibility
- Add execute_task_handler for POST /api/autotask/:task_id/execute
- Add get_task_logs_handler for GET /api/autotask/:task_id/logs
- Add apply_recommendation_handler for POST /api/autotask/recommendations/:rec_id/apply
- Update route configuration in mod.rs
2025-12-27 21:16:12 -03:00
14b7cf70af feat(autotask): Implement AutoTask system with intent classification and app generation
- Add IntentClassifier with 7 intent types (APP_CREATE, TODO, MONITOR, ACTION, SCHEDULE, GOAL, TOOL)
- Add AppGenerator with LLM-powered app structure analysis
- Add DesignerAI for modifying apps through conversation
- Add app_server for serving generated apps with clean URLs
- Add db_api for CRUD operations on bot database tables
- Add ask_later keyword for pending info collection
- Add migration 6.1.1 with tables: pending_info, auto_tasks, execution_plans, task_approvals, task_decisions, safety_audit_log, generated_apps, intent_classifications, designer_changes
- Write apps to S3 drive and sync to SITE_ROOT for serving
- Clean URL structure: /apps/{app_name}/
- Integrate with DriveMonitor for file sync

Based on Chapter 17 - Autonomous Tasks specification
2025-12-27 21:10:09 -03:00
5da86bbef2 Fix clippy warnings: match arms, async/await, Debug impls, formatting
- Fix match arms with identical bodies by consolidating patterns
- Fix case-insensitive file extension comparisons using eq_ignore_ascii_case
- Fix unnecessary Debug formatting in log/format macros
- Fix clone_from usage instead of clone assignment
- Fix let...else patterns where appropriate
- Fix format! append to String using write! macro
- Fix unwrap_or with function calls to use unwrap_or_else
- Add missing fields to manual Debug implementations
- Fix duplicate code in if blocks
- Add type aliases for complex types
- Rename struct fields to avoid common prefixes
- Various other clippy warning fixes

Note: Some 'unused async' warnings remain for functions that are
called with .await but don't contain await internally - these are
kept async for API compatibility.
2025-12-26 08:59:25 -03:00
db6d7a9859 fix: zero warnings in botserver
- drive/vectordb.rs: fix struct field name db_path -> _db_path
- meet/conversations.rs: prefix 38 unused variables with underscore
- console/mod.rs: rename border_active/inactive, title_bg/fg
- console/mod.rs: fix unnested or-pattern KeyCode::Char
- email/mod.rs: remove unnecessary raw string hashes, fix unused state
- attendance/drive.rs: update deprecated aws_config::from_env()
- Cargo.toml: attendance feature extends drive for AWS deps
2025-12-24 10:31:18 -03:00
d09a584443 Fix dead code warnings: prefix unused fields with underscore 2025-12-24 09:53:03 -03:00
c2588d80d5 Fix conditional parameter usage and core_functions references 2025-12-24 09:50:30 -03:00
3a260a5703 Fix more clippy warnings: unused imports, raw string hashes, conditional imports 2025-12-24 09:42:16 -03:00
3a8510d191 Fix clippy warnings: raw strings, unused imports, format args, must_use attributes 2025-12-24 09:39:23 -03:00
7cbfe43319 Update attendance, keywords, calendar, compliance, console, core, drive, email, llm, msteams, security, and tasks modules 2025-12-24 09:29:27 -03:00
883c6d07e1 Remove all code comments and fix ratatui version 2025-12-23 18:40:58 -03:00
e2a5bf091a Update server components and keywords 2025-12-23 15:52:35 -03:00
a491cc13a6 Update botserver 2025-12-21 23:40:43 -03:00
dd91fc2d3b refactor: fix TaskEngine feature gate, thread-safe Extensions with Arc<RwLock> 2025-12-20 19:57:57 -03:00
5619cf2e16 fix: add DNS configuration to containers before apt-get
- Add Google DNS (8.8.8.8, 8.8.4.4) to /etc/resolv.conf
- Fixes 'Temporary failure resolving' errors in containers
2025-12-19 22:32:57 -03:00
2cff6bf430 fix: make exec_in_container return errors instead of silently warning
- Changed from warn() to error() and return Err()
- Added info logging for each command executed
- Now we can see why downloads/installs fail
2025-12-19 19:59:15 -03:00
27b5184f82 fix: pass VAULT_ADDR inside container via bash -c
- env() on Command only sets host env, not container env
- Use bash -c with VAULT_ADDR=... prefix for init and unseal commands
2025-12-19 13:19:50 -03:00
110ca2f3de fix: store vault-unseal-keys in working directory, not /opt/gbo/secrets 2025-12-19 12:28:22 -03:00
c750e26c3b feat: auto-generate .env and vault-unseal-keys on vault install
- Vault is automatically initialized with 5 keys, threshold 3
- Creates /opt/gbo/secrets/vault-unseal-keys with chmod 600
- Creates or appends to .env with VAULT_ADDR, VAULT_TOKEN, VAULT_UNSEAL_KEYS_FILE
- Vault is automatically unsealed after init
- No manual steps required for initial setup
2025-12-19 12:20:55 -03:00
4062c79cce feat: use secrets file for Vault auto-unseal (more secure)
- VAULT_UNSEAL_KEYS_FILE points to /opt/gbo/secrets/vault-unseal-keys
- Unseal keys stored in separate file with chmod 600
- Not in .env (which might be in git, logs, etc.)
- Output shows step-by-step setup instructions
2025-12-19 11:36:00 -03:00
2a8f884864 fix: improve container IP detection and add VAULT_UNSEAL_KEYS to .env
- Wait for network before getting IP
- Try hostname -I as fallback for IP detection
- Add VAULT_UNSEAL_KEY_1/2/3 to .env output for auto-unseal
- botserver can auto-unseal Vault on startup using these keys
2025-12-19 11:02:27 -03:00
3eb86772fa feat: show connection info after container install
- Only Vault returns .env variables (VAULT_ADDR, VAULT_TOKEN)
- All other components show 'botserver vault put' commands to store credentials
- Added proper vault init/unseal instructions
- CLI now prints InstallResult with IP, ports, and connection info
2025-12-19 10:49:09 -03:00
79e83dd3b8 fix: install base packages (wget, unzip, curl) in containers before download
- Vault download was failing because unzip was not installed
- Now all containers get wget, unzip, curl, ca-certificates as base packages
- Also added vault config.hcl generation in pre-install commands
2025-12-19 09:48:15 -03:00
2c61c816b5 fix: allow container install without Vault configured
- Make create_container_service work without DATABASE_URL from Vault
- Components like vault, vector_db that don't need DB can now install first
- DB_PASSWORD defaults to empty string when Vault is not available
2025-12-19 09:33:56 -03:00
8efeeaed4b fix: make container installation fully non-interactive
- Add automatic lxd init --auto before container creation
- Use DEBIAN_FRONTEND=noninteractive for apt-get
- Add apt-get update -qq before installing packages
2025-12-18 21:20:47 -03:00
3987546ebc feat: add fallback images for LXC container creation and install-dependencies.sh
- Try ubuntu:24.04, ubuntu:22.04, images:debian/12, images:debian/11 in order
- Clean up failed container attempts before trying next image
- Add install-dependencies.sh script for runtime library installation
- Fixes 404 error when LXD image server has outdated cached images
2025-12-18 21:09:26 -03:00
5d5668fee2 chore: consolidate migrations 6.1.1-6.1.3 into 6.1.0_enterprise_suite
- Integrate config ID type fixes (TEXT → UUID)
- Integrate connected_accounts, session_account_associations, account_sync_items
- Integrate bot hierarchy (parent_bot_id, enabled_tabs_json, inherit_parent_config)
- Integrate email_monitors, folder_monitors, folder_change_events, email_received_events
- Integrate user_organizations table
- Remove separate 6.1.1, 6.1.2, 6.1.3 migration folders
- Maximum version remains 6.1.0 per project standards
2025-12-18 18:52:52 -03:00
5b552f633f ci: debug build, no swap (fastest) 2025-12-18 17:33:04 -03:00
44e1281b63 ci: fix swap setup and optimize release build for low memory 2025-12-18 17:14:36 -03:00
57bf5b8754 feat: add ON EMAIL and ON CHANGE keywords for event-driven monitoring
- Add ON EMAIL keyword with FROM/SUBJECT filters
- Add ON CHANGE keyword with account:// syntax (gdrive, onedrive, dropbox, local)
- Add TriggerKind::EmailReceived (5) and FolderChange (6)
- Add migration 6.1.3_bot_hierarchy_monitors with:
  - email_monitors, folder_monitors tables
  - email_received_events, folder_change_events tables
  - user_organizations table
  - Bot hierarchy: parent_bot_id, enabled_tabs_json, inherit_parent_config
- Add 26 unit tests (12 on_email, 12 on_change, 2 trigger_kind)
- Update PROMPT.md with weekly maintenance checklist
- Zero warnings, zero errors
2025-12-18 16:17:58 -03:00
ff73f0b4c6 CI: add swap and staged build to prevent OOM 2025-12-18 14:08:47 -03:00
49b2886614 Add rotate-secret and rotate-secrets commands for credential rotation 2025-12-18 11:20:31 -03:00
f4d2172366 Add version --all command 2025-12-18 11:06:19 -03:00
cb921c60f9 CI: reduce codegen-units to 1 to prevent OOM 2025-12-18 10:41:33 -03:00
952a822e1d Add vault CLI commands for secret migration 2025-12-18 09:40:16 -03:00
0f8e8ceab8 CI: add libpq-dev for PostgreSQL linking 2025-12-17 22:40:45 -03:00
db9e1b875c CI: use debug build for fastest compilation 2025-12-17 22:01:11 -03:00
f59283cbb8 CI profile: disable LTO, 16 codegen units for max speed 2025-12-17 22:00:38 -03:00
355708e7cd Use CI profile: thin LTO + 4 codegen units for faster builds 2025-12-17 21:59:52 -03:00
b5da997c6d Reduce memory usage in CI: limit parallel jobs 2025-12-17 21:56:28 -03:00
848a933a84 Disable botserver-bundle workflow 2025-12-17 20:44:01 -03:00
cf645a1168 fix: remove unused error import 2025-12-17 18:38:34 -03:00
6bc6a35948 fix: resolve all warnings - wire up services properly 2025-12-17 17:41:37 -03:00
8405f1cfbb Fix warnings: add Debug derive, prefix unused vars 2025-12-17 11:26:58 -03:00
2127118b22 Save build logs to /opt/gbo/logs/ 2025-12-16 22:29:29 -03:00
b4c6ac46cb Add debug output to diagnose silent CI failures 2025-12-16 21:13:12 -03:00
d80af79312 Simplify: build only Linux x86_64 for now 2025-12-16 20:40:40 -03:00
c3bd934395 Fix: use full paths for cargo to work across all build steps 2025-12-16 19:59:05 -03:00
84b8aaa50e Fix: rename gbserver to botserver, use rustup for Rust install, remove macOS 2025-12-16 19:17:47 -03:00
292c7032ab Fix: use git clone for dependencies outside workspace 2025-12-16 17:20:36 -03:00
8cfb081eb5 Add checkout of botlib dependency in CI 2025-12-16 17:00:14 -03:00
ef0e7d1b88 Add Cargo caching for faster builds 2025-12-16 16:35:22 -03:00
d0d844994d Add Forgejo CI workflows - botserver.yaml and botserver-bundle.yaml with cross-platform builds 2025-12-16 13:25:26 -03:00
37c1cee805 Fix: Skip starting components that are already running (minio, valkey) 2025-12-16 10:48:42 -03:00
ac47b89dbd Update calendar and email modules 2025-12-15 23:16:08 -03:00
f1f0436fdd Fix vault health check - quote URL to prevent & being interpreted as shell background 2025-12-15 18:04:53 -03:00
562d3cf0e4 Add debug logs to package manager start function 2025-12-15 17:50:03 -03:00
66f340e20a Fix Vault retry logic - wait up to 20 seconds for vault to start 2025-12-15 17:37:00 -03:00
54af69e761 Fix Vault startup: detect connection refused and start vault properly 2025-12-15 17:32:15 -03:00
7b6b6491a1 Fix: add trace to log imports 2025-12-15 17:14:39 -03:00
cfd251c6e8 Fix Vault startup - add retry logic and auto-restart zombie vault processes 2025-12-15 17:11:47 -03:00
4486e31320 Fix llm-server default to true, convert debug eprintln to trace 2025-12-15 16:33:13 -03:00
02117e2eec Fix Zitadel masterkey to come from Vault
- Add masterkey field to gbo/directory secret in Vault during bootstrap
- Generate random 32-char masterkey if not exists
- Update Zitadel exec_cmd to read masterkey from Vault
- Remove hardcoded masterkey values
2025-12-15 13:56:50 -03:00
37c2db21ef feat: configurable stack paths and local installer support
- Add BOTSERVER_INSTALLERS_PATH env var to use local installers without downloading
- Replace hardcoded ./botserver-stack paths with configurable stack_path
- Add stack_dir() and vault_bin() helper methods in BootstrapManager
- Add Port: 8300 to Zitadel config to fix port binding issue
- Start Directory service before setup_directory() call
- Add SKIP_LLM_SERVER env var to skip local LLM in tests
- Update template loading to check ../bottemplates and botserver-templates paths
2025-12-14 15:58:54 -03:00
bac139d0b3 Add MCP server support via mcp.csv
- New mcp_directory.rs: McpCsvLoader to load MCP servers from mcp.csv
- CSV format: name,type,command,args,description,enabled,auth_type,auth_env
- Support for stdio, http, websocket, tcp connection types
- Support for api_key and bearer authentication
- Updated sources/mod.rs with MCP management API endpoints
- New sources/mcp.rs with helper functions
- MCP tools available to Tasks like BASIC keywords
2025-12-13 00:26:49 -03:00
824a8b742e Lowercase botserver/botbook references 2025-12-12 23:20:42 -03:00
bfc2ca817b Fix truncated files, implement TODOs, remove all compilation errors and warnings
- Complete truncated auto_task.rs, autotask_api.rs, intent_compiler.rs, mcp_client.rs, safety_layer.rs
- Add missing structs: RiskFactor, ResourceUsage, TaskError, RollbackState, TaskSchedule, HealthStatus
- Add missing IntentCompiler methods: call_llm, assess_risks, estimate_resources, check_ambiguity, store_compiled_intent
- Implement SET ATTENDANT STATUS database storage
- Implement queue position calculation in transfer_to_human
- Add llm_tokens to ResourceEstimate
- Fix all unused imports and variables
- Add proper derives (Copy, PartialOrd) where needed
2025-12-12 17:33:11 -03:00
585411d0e9 Update compiler and add goto_transform 2025-12-12 16:39:44 -03:00
42e5855e4f Add llama.cpp support and embedded config for Orange Pi / Raspberry Pi 2025-12-12 13:46:04 -03:00
fbe9f1856f Add embedded deployment script for Orange Pi, Raspberry Pi, ARM SBCs 2025-12-12 13:43:40 -03:00
71ab88db4c docs: Add Auto Task Architecture documentation 2025-12-12 12:35:40 -03:00
65693cdee1 feat: Add Auto Task system - Intent Compiler, MCP Client, Safety Layer
- intent_compiler.rs: LLM-to-BASIC translation engine
- auto_task.rs: Auto-executing task data structures
- mcp_client.rs: Model Context Protocol server integration
- safety_layer.rs: Constraints, simulation, audit trail
- autotask_api.rs: HTTP API handlers for Auto Task UI
- Updated mod.rs with new modules and keyword list
2025-12-12 12:33:17 -03:00
7647774339 Move Directory (Zitadel) to port 8300
- Directory/Zitadel: 8080 -> 8300
- BotServer API remains on 8080
- Updated all references in bootstrap, installer, oauth, config
2025-12-11 08:43:28 -03:00
3dbd40c4ba Add missing API endpoints for UI suite screens
- src/meet/mod.rs: Add UI-compatible endpoints:
  - /api/meet/rooms (list_rooms_ui)
  - /api/meet/recent (recent_meetings)
  - /api/meet/participants (all_participants)
  - /api/meet/scheduled (scheduled_meetings)

- src/drive/mod.rs: Add UI-compatible endpoint:
  - /api/drive/list (list_drive_files_ui)

- src/calendar/mod.rs: Add UI-compatible endpoints (from previous session):
  - /api/calendar/list (list_calendars)
  - /api/calendar/upcoming (upcoming_events)

All endpoints return stub JSON responses for UI compatibility.
2025-12-10 23:50:06 -03:00
977dde0090 Revert "Add static file serving for suite UI"
This reverts commit dfd0dded23d2506abfa39efd496c4c5fb3dc9b1f.
2025-12-10 21:52:43 -03:00
b1a2f71712 Add static file serving for suite UI
- Serve suite UI from botui (dev) or botserver-stack (installed)
- SPA fallback to index.html for client-side routing
- Search paths: ../botui/ui/suite, ./botserver-stack/ui/suite, ./ui/suite
2025-12-10 21:41:11 -03:00
ed26d54ee1 Silence vaultrs and rustify logs polluting console 2025-12-10 19:47:39 -03:00
c436987ffb Update directory config 2025-12-10 19:46:42 -03:00
e55cc31673 Fix Vault re-init to preserve other services + simplify shutdown message
- When Vault unseal fails, only restart Vault - NOT full bootstrap
- Preserve PostgreSQL, Redis, MinIO, etc. when Vault needs re-init
- Simplify shutdown message to 3 lines with pragmatismo.com.br
- Never kill all stack processes just for Vault issues
2025-12-10 18:41:45 -03:00
8282c24eef Add beautiful graceful shutdown on CTRL+C
- Display 'Thank you for using General Bots!' message
- Show version, links, and farewell
- Handle both SIGTERM and SIGINT (Ctrl+C)
- Graceful 10 second timeout for in-flight requests
2025-12-10 18:31:58 -03:00
512ddc5f75 Fix LLM 400 error - remove invalid bot_id from messages array
The bot_id object was being pushed into the messages array sent to the LLM,
but LLM APIs expect messages to only contain role/content objects.
2025-12-10 18:29:34 -03:00
fda88c0d94 Bootstrap started! 6.1.0
- Add rss and scraper dependencies for web data keywords
- Add SMS keyword with priority support (low, normal, high, urgent)
- Add web_data keywords: RSS, SCRAPE, SCRAPE_ALL, SCRAPE_TABLE, SCRAPE_LINKS, SCRAPE_IMAGES
- Add ai_tools keywords: TRANSLATE, OCR, SENTIMENT, CLASSIFY
- Improve LLM server health check with better diagnostics and increased timeout
- Fix compilation errors and warnings
- Register SMS keywords in BASIC engine
2025-12-10 18:22:02 -03:00
696a044d75 Update llama.cpp to b7345 with platform-specific builds and checksums
- Update 3rdparty.toml: llama.cpp b4547 -> b7345 with SHA256 checksums
- Add config/llm_releases.json with complete checksums for all 24 release assets
- Fix Windows binary naming in installer.rs (win-cpu-x64, win-cpu-arm64)
- Add Vulkan detection for Windows
- Add platform-specific variants: CUDA 12/13, Vulkan, HIP, SYCL, OpenCL
2025-12-10 12:54:52 -03:00
137a5c8012 fix(llm): Restore llama.cpp b6148 which was working 2025-12-10 10:46:54 -03:00
9fefd6c1fa fix(llm): Use pre-built llama.cpp binaries, remove compilation
- Revert to pre-built binaries (b4547) instead of compiling from source
- Remove cmake/build-essential dependencies
- Remove post_install compilation commands
- Fix exec_cmd path back to {{BIN_PATH}}/llama-server
2025-12-10 09:00:05 -03:00
c66fca3117 fix(bootstrap): Kill existing stack processes at bootstrap start
- Call kill_stack_processes() at the beginning of bootstrap()
- Add port-based killing using fuser for ports 8200, 5432, 9000, etc.
- Use -f (pattern match) instead of -x (exact) for process names
- Fix process names: 'vault server', 'llama-server' instead of 'vault', 'ollama'
- Increase wait time to 1 second for processes to terminate

This fixes issues on dev machines where old processes from a deleted
stack are still running and blocking ports.
2025-12-10 08:54:51 -03:00
051c8f720c fix(llm): Compile llama.cpp from source for CPU compatibility
Instead of downloading pre-built binaries (which may require AVX2),
compile llama.cpp from source during installation. This ensures:
- Works on older CPUs (Sandy Bridge, Haswell, etc.)
- Uses GGML_NATIVE=ON to optimize for the current CPU
- Binary path updated to build/bin/llama-server

Reverts the AVX2 detection that was incorrectly disabling LLM.
2025-12-10 08:43:27 -03:00
af6b797572 fix(llm): Detect AVX2 support and gracefully disable LLM on incompatible CPUs
- Add cpu_supports_avx2() function to check /proc/cpuinfo for AVX2 flag
- Skip LLM binary download on CPUs without AVX2 (pre-built llama.cpp requires it)
- Add runtime check for llama-server binary compatibility (catches 'Illegal instruction')
- Provide helpful error messages about alternatives (compile from source or use external API)
- Sandy Bridge (2nd gen i7) and older CPUs now gracefully skip local LLM
2025-12-10 08:35:35 -03:00
8711406865 fix(bootstrap): Improve Vault startup diagnostics and error handling
- Fix create_conn/establish_pg_connection to return Result instead of panicking
- Fix AppConfig::from_env to not require database access (circular dependency)
- Add #[cfg(test)] to AppState Default impl to prevent accidental panic
- Add extensive debug logging for Vault startup troubleshooting
- Remove Stdio::null() from start() to allow shell redirections to work
- Add direct vault start test in bootstrap for debugging
- Make Vault setup failure fatal (was silently continuing)
2025-12-10 08:30:49 -03:00
951cadde4c fix(bootstrap): NEVER delete user data, suppress migration output, protect secrets
Critical safety improvements:

1. REMOVED clean_stack_directory() - NEVER delete botserver-stack
   - Contains user data, configs, databases
   - Only reset_vault_only() for Vault re-initialization

2. Single instance check
   - check_single_instance() uses .lock file with PID
   - Prevents multiple botserver processes on same stack

3. Protect existing Vault secrets
   - Check if secret exists before writing
   - Never overwrite customer credentials in distributed environments
   - Especially critical for encryption key

4. Suppress migration output
   - Use MigrationHarness directly instead of HarnessWithOutput
   - Prevents console UI corruption from migration messages
2025-12-09 09:04:56 -03:00
484534a88e fix(bootstrap): start_all() must re-bootstrap when Vault unseal fails
When start_all() detects Vault init.json is missing (unseal fails),
it now:
1. Kills all stack processes
2. Cleans the stack directory
3. Runs full bootstrap()
4. Returns (bootstrap starts all services)

Also made SecretsManager init failure in start_all() a hard error
instead of a warning - if Vault is supposed to be working but
SecretsManager can't connect, that's a fatal error.
2025-12-09 08:56:58 -03:00
b4be4dbe1b fix(bootstrap): Write .env IMMEDIATELY after Vault unseal, re-init SecretsManager
The core issue was that .env was written at the END of setup_vault(),
but other components needed Vault credentials BEFORE that.

Now:
1. Unseal Vault
2. Write .env with VAULT_ADDR and VAULT_TOKEN immediately
3. Re-initialize SecretsManager so it connects to Vault
4. THEN store secrets in Vault

This ensures SecretsManager is properly configured before any
code tries to use create_conn() or other Vault-dependent functions.
2025-12-09 08:52:19 -03:00
b6fcdd9a72 debug: Add explicit branch logging to trace bootstrap flow 2025-12-09 08:26:29 -03:00
c1edec9913 fix(bootstrap): Skip early SecretsManager init if bootstrap incomplete, add logging
- Only initialize SecretsManager early if .env and init.json exist
- Fix error handling for bootstrap() - no longer silently ignores failures
- Add detailed logging to trace bootstrap flow
- Log component installation decisions (installed, needs_install flags)
2025-12-09 08:10:47 -03:00
39b4656b8f feat(console): Add scrolling support for System Logs and Editor panels
System Logs:
- Add scroll_offset tracking with auto-scroll to bottom on new logs
- Up/Down/j/k keys to scroll line by line
- PageUp/PageDown for page scrolling
- Home/End to jump to top/bottom
- Show scroll indicators in title: [^v], [SCROLL] when not auto-scrolling
- Display log count in title

Editor:
- Fix scroll_offset to follow cursor when moving up/down
- Add PageUp/PageDown for faster navigation
- Add Ctrl+Home/Ctrl+End to jump to start/end of file
- ensure_cursor_visible() keeps cursor in view

Tab Navigation:
- FileTree -> Editor (if open) or Logs -> Chat -> back to start
- Consistent cycling through all panels
2025-12-09 08:06:30 -03:00
c8598def62 fix(bootstrap): Initialize SecretsManager after Vault starts in start_all/ensure_services_running
When services are already configured (bootstrap completed), the code
calls start_all() or ensure_services_running() which starts Vault
but didn't initialize SecretsManager. This caused create_conn() to
fail with 'Vault not configured' even though Vault was running.

Now both functions initialize SecretsManager after Vault is unsealed,
ensuring database connections can retrieve credentials from Vault.
2025-12-09 07:58:39 -03:00
224ddd4a03 chore: Remove emoji icons from log messages and UI
Replace emoji icons with plain text/ASCII equivalents to prevent
encoding issues and improve console compatibility:
- Replace checkmarks with *
- Replace x marks with x
- Replace status indicators with text [OK], [ERR], etc.
- Remove decorative emojis from info/debug log messages
- Keep functional emojis in user-facing chat/sentiment features
2025-12-09 07:55:11 -03:00
5669515c68 fix(bootstrap): Run migrations with direct password before Vault is set up
The bootstrap order is vault -> tables -> directory. When tables
component was processed, it tried to call establish_pg_connection()
which requires Vault, but Vault setup only happens when processing
the vault component (which is earlier in the loop but the if-block
for tables runs for the tables component, not vault).

Fix: Run migrations directly with the generated password during the
tables component setup, before Vault is configured. This avoids the
dependency on Vault being set up.
2025-12-09 07:49:01 -03:00
185aba3631 fix(bootstrap): Suppress all subprocess output to prevent console UI corruption
- Redirect Vault exec_cmd output to logs/vault.log
- Add stdout/stderr null pipes to component spawn in installer.rs
- Suppress output in run_commands() in facade.rs
- All component output now goes to respective log files in logs/
2025-12-09 01:09:04 -03:00
0b75af9616 config: Enable llm-server by default for clean stack installs 2025-12-09 00:28:46 -03:00
501bd77f9c fix(llm): Respect llm-server config flag to skip local server startup
When llm-server=false in bot_configuration, the code now skips
attempting to start local llama-server processes. This prevents
the 60-attempt timeout error when using external LLM endpoints
or when local LLM serving is intentionally disabled.
2025-12-08 23:39:01 -03:00
a755d4d13e feat(console): Show UI immediately with live system logs
- Add state_channel field to XtreeUI for receiving AppState updates
- Add set_state_channel() method to enable async state communication
- Poll for AppState in event loop to initialize panels when ready
- UI now shows loading state instantly, logs stream in real-time
- Transitions to full interactive mode when AppState is received
2025-12-08 23:35:33 -03:00
05fa0e95c5 fix: remove duplicate logger init causing 'cannot set logger' error
Logger is already initialized in main.rs, cli.rs was trying to
initialize it again when CLI commands were run.
2025-12-08 17:59:43 -03:00
559154b923 fix: preserve cached files in botserver-installers after extraction
- Don't delete archive files from cache after tar/zip extraction
- Copy binaries from cache instead of moving them
- Cached files are now preserved for offline installation reuse
2025-12-08 14:19:55 -03:00
eed537ac42 feat: add offline installer cache and health endpoints
- Add /health and /api/health endpoints for botui connectivity
- Create 3rdparty.toml with all download URLs for offline bundles
- Add botserver-installers/ cache directory for downloaded files
- Implement DownloadCache module with:
  - Automatic cache lookup before downloading
  - Support for pre-populated offline bundles
  - SHA256 checksum verification (optional)
  - Cache management utilities (list, clear, size)
- Update download_and_install to use cache system
- Data files (models) also cached for reuse

Cache behavior:
- First run: downloads to botserver-installers/
- Subsequent runs: uses cached files
- Delete botserver-stack/ without losing downloads
- Pre-populate cache for fully offline installation
2025-12-08 14:08:49 -03:00
5058b4a2c2 Fix Vault CLI mTLS issue - unset client cert env vars before CLI commands 2025-12-08 09:14:31 -03:00
17d5a263f1 Fix config.csv loading on startup
- Disable TLS on Vault for local development (HTTP instead of HTTPS)
- Fix bot_configuration id column type mismatch (TEXT -> UUID)
- Add migration 6.1.1 to convert config table id columns to UUID
- Fix sync_config_csv_to_db to use UUID binding for id column
- Make start_all async with proper Vault startup sequence
- Sync default.gbai config.csv to existing 'Default Bot' from migrations
- Add diagnostic logging for config loading
- Change default LLM/embedding URLs from https to http for local dev
2025-12-08 00:19:29 -03:00
acb78b30f9 refactor: standardize component names for certificates and DNS
- Rename service names to component names:
  - postgres -> tables
  - minio -> drive
  - redis -> cache
  - qdrant -> vectordb
  - mail -> email

- Update bootstrap certificate generation with new hostnames
- Update CoreDNS zone file with component-based DNS entries
- Update CA service certificates to use component names
- Update CA directory creation to use component names

All certificates include 127.0.0.1 as SAN for IP-based mTLS access
2025-12-07 10:42:02 -03:00
c3ab7fe1a5 chore: Update secrets module and remove task files 2025-12-07 09:57:05 -03:00
6ff2b32f2c feat(bootstrap): implement mTLS for Vault access
- Add create_vault_config() function to generate config.hcl with mTLS settings
- Configure Vault to require client certificate verification
- Generate client certificate for botserver in bootstrap
- Update .env to include mTLS paths (VAULT_CACERT, VAULT_CLIENT_CERT, VAULT_CLIENT_KEY)
- Remove unused import in tls.rs
2025-12-07 02:13:28 -03:00
b611f8c535 Add --stack-path CLI option for custom stack path
Allows overriding the default botserver-stack location via:
- --stack-path /path/to/stack CLI argument
- BOTSERVER_STACK_PATH environment variable

Useful for testing botserver bootstrap in isolated temp directories.
2025-12-06 14:55:42 -03:00
2abd875aec Update: General project updates 2025-12-06 11:09:12 -03:00
c2aa82733a Add test infrastructure: AppState::default(), mock providers, fix attendance tests
- Add Default impl for AppState with mock services for testing
- Add MockLLMProvider for tests that need LLM without real API
- Add create_mock_auth_service() for Zitadel testing
- Add test_utils.rs with TestAppStateBuilder, MockChannelAdapter
- Enable rhai 'sync' feature to fix Send+Sync for Dynamic types
- Fix attendance.rs tests to use pure functions (no DB required)
- Fix on_error.rs tests to use String instead of i32
- Remove unused imports in attendance.rs

All tests pass, 0 warnings, 0 errors.
2025-12-05 16:43:14 -03:00
0120c904d7 feat(attendance): Multi-channel attendant config (email, phone, teams, google)
- Add email, teams, google columns to attendant.csv
- Add find_attendant_by_identifier() for multi-channel lookup
- Add find_attendants_by_channel() and find_attendants_by_department()
- Implement handle_status_command with database persistence
- Implement handle_transfer_command with actual transfer logic
- Update AttendantCSV struct with all new fields
2025-12-05 14:54:55 -03:00
5d93505012 feat(attendance): Add LLM-assisted attendant features
- Real-time tips when customer messages arrive
- Message polishing with one click
- Smart reply generation (3 contextual suggestions)
- Auto-summary when attendant takes conversation
- LLM-powered sentiment analysis with escalation warnings

WhatsApp Attendant Commands:
- /queue, /take, /status, /transfer, /resolve
- /tips, /polish, /replies, /summary, /help
- Portuguese versions: /fila, /pegar, /dicas, /polir, /respostas, /resumo

Config options (config.csv):
- attendant-llm-tips
- attendant-polish-message
- attendant-smart-replies
- attendant-auto-summary
- attendant-sentiment-analysis

API Endpoints:
- POST /api/attendance/llm/tips
- POST /api/attendance/llm/polish
- POST /api/attendance/llm/smart-replies
- GET /api/attendance/llm/summary/{session_id}
- POST /api/attendance/llm/sentiment
- GET /api/attendance/llm/config/{bot_id}

Uses bot's system prompt for consistency between bot and human-assisted responses.
2025-12-05 13:47:15 -03:00
6882d52552 refactor: rename redis-cache feature to cache
- Simplified feature name from 'redis-cache' to 'cache'
- Updated Cargo.toml feature definitions
- Updated state.rs cfg attributes
- More concise naming
2025-12-05 12:09:02 -03:00
6da93f6c36 feat: unified keywords with spaces, ON ERROR RESUME NEXT, unified DELETE
Keywords now use spaces instead of underscores:
- SEND MAIL (was SEND_MAIL)
- GENERATE PDF (was GENERATE_PDF)
- MERGE PDF (was MERGE_PDF)
- SET HEADER (was SET_HEADER)
- CLEAR HEADERS (was CLEAR_HEADERS)

New ON ERROR RESUME NEXT implementation:
- ON ERROR RESUME NEXT - enable error trapping
- ON ERROR GOTO 0 - disable error trapping
- CLEAR ERROR - clear error state
- ERROR MESSAGE - get last error message
- ERR - get error number

Unified DELETE keyword:
- DELETE url - HTTP DELETE (auto-detected)
- DELETE table, filter - Database DELETE
- DELETE path - File DELETE

Changes:
- errors/on_error.rs: New VB-style error handling
- errors/mod.rs: Include on_error module
- send_mail.rs: SEND MAIL with spaces
- file_operations.rs: GENERATE PDF, MERGE PDF with spaces
- data_operations.rs: Unified DELETE with auto-detection
- http_operations.rs: Cleaned up DELETE HTTP
- compiler/mod.rs: Removed underscore normalization
- mod.rs: Updated command list
2025-12-05 09:55:13 -03:00
8de1119f63 Update sync endpoints as desktop-only, add documentation fields
- /files/sync/status now returns is_desktop=false for web users
- /files/sync/start|stop return helpful message about desktop app requirement
- Add detailed docstrings pointing to botapp/src/desktop/sync.rs
- SyncStatus struct extended with is_desktop and message fields
2025-12-05 06:50:45 -03:00
6c4ecea2fc feat(auth): Add OAuth login for Google, Discord, Reddit, Twitter, Microsoft, Facebook
- Create core/oauth module with OAuthProvider enum and shared types
- Implement providers.rs with auth URLs, token exchange, user info endpoints
- Add routes for /auth/oauth/providers, /auth/oauth/{provider}, and callbacks
- Update login.html with OAuth button grid and dynamic provider loading
- Add OAuth config settings to config.csv with setup documentation and links
- Uses HTMX for login form, minimal JS for OAuth provider visibility
2025-12-04 22:53:40 -03:00
d9b09e24d4 feat(email): implement email read tracking with pixel support
- Add email-read-pixel config parameter to enable/disable tracking
- Implement tracking pixel injection in HTML emails
- Add sent_email_tracking table with migration
- Create 4 new API endpoints:
  - GET /api/email/tracking/pixel/{id} - serve pixel & record read
  - GET /api/email/tracking/status/{id} - get email read status
  - GET /api/email/tracking/list - list all tracked emails
  - GET /api/email/tracking/stats - get aggregate statistics
- Store tracking data: read_at, read_count, IP, user_agent
- Integrate with send_email() to auto-inject pixel when enabled
2025-12-04 18:15:09 -03:00
5fe12526e8 Update PROMPT.md with new LLM workflow and coding rules
New rules added:
- Two LLM work modes: Execution (fazer) vs Review (conferir)
- Rust code only in architecture.md (gbapp chapter)
- Scan and delete misplaced ALL_CAPS.md files
- HTMX-first: minimize JS, delegate to server
- Local assets only: no CDN references
- Documentation validation process for chapters
- No dead code: implement real code, never use _ prefix
- cargo audit must pass with 0 warnings
- diesel only, remove sqlx references
- Library consolidation guidance
2025-12-04 13:55:19 -03:00
541f9fe661 Add balanced documentation structure
Documentation organized with equilibrium:
- Small (50-100 lines): Index files
- Medium (250-400 lines): Guides
- Large (450-600 lines): Complete references

Structure:
- docs/api/ - REST endpoints, WebSocket
- docs/guides/ - Getting started, deployment, templates
- docs/reference/ - BASIC language, configuration, architecture

Updated README.md to point to new docs location.
2025-12-04 12:44:18 -03:00
9f3af41566 Remove obsolete CAPS.md documentation files
Deleted planning/tracking documents that are no longer needed:
- MISSING_IMPLEMENTATIONS.md (all 5 apps now implemented)
- GAP_ANALYSIS.md (analysis complete, implemented)
- IMPLEMENTATION_SUMMARY.md (implementations done)
- LIBRARY_MIGRATION.md (migration guide)
- ROADMAP.md (feature planning)
- START_CODING_PROMPT.md (coding guide)
- CHANGELOG.md (version history)
- templates/TEMPLATE_PLAN.md (template planning)
- templates/integration/public-apis.gbai/KEYWORDS_CHECKLIST.md
- templates/integration/public-apis.gbai/QUICKSTART.md
- botlib/VERSION.md (version history)

Kept: README.md, PROMPT.md, and SUMMARY.md (mdbook structure)
2025-12-04 12:28:05 -03:00
c76de427e3 Implement real database functions, remove TODOs and placeholders
- CRM Lead Scoring: Implement get_lead_score_from_db and update_lead_score_in_db
  using bot_memories table with diesel queries
- Bot Manager: Implement real org lookup from database and template loading from filesystem
- KB Manager: Implement get_collection_info to query Qdrant for real statistics
- Analytics: Replace placeholder metrics with actual database queries for users,
  sessions, and storage stats
- Email Setup: Implement Stalwart admin account creation via management API
- Add CollectionInfo struct for Qdrant collection metadata

All implementations use diesel for database operations, no sqlx.
2025-12-03 22:23:30 -03:00
d088490f41 - botbook extracted from. 2025-12-03 19:59:27 -03:00
b2f1ea40e4 Add comprehensive documentation for GB templates and configuration
modules

Add detailed README documentation for 15+ bot templates including:
- Platform analytics, BI reporting, and web crawler templates
- CRM, contacts, and marketing automation templates
- Legal document processing and office productivity templates
- LLM tools, LLM server, and API client integration templates
- Reminder management and meta-template for creating new templates

Add new Rust configuration modules:
- BM25 config for Tantivy-based sparse
2025-12-03 16:05:50 -03:00
e9dad539af Update dependencies and remove problematic crates
Drop image (with ravif/paste), sqlx, zitadel, and related dependencies
that were causing compilation issues. Replace image processing with
direct png crate usage. Update rcgen to 0.14 with new API changes.
Refactor CA certificate generation to use Issuer pattern.
2025-12-03 16:05:30 -03:00
340ac8840a - New templates. 2025-12-03 07:15:54 -03:00
c4c9521dd9 - Split into botui. 2025-12-02 21:09:43 -03:00
dd59e923f4 Add documentation infrastructure and certificate pinning
- Add mdBook configuration (book.toml) for documentation
- Create new docs style guide appendix for conversation examples
- Add WhatsApp-style chat CSS for consistent doc formatting
- Replace flow diagram references with screen mockup SVGs
- Create comprehensive SVG interface mockups for all Suite apps:
  - Main suite layout and individual app screens
  - Analytics, Calendar, Chat, Compliance, Designer
  - Drive, Mail, Meet, Paper, Player, Research
  - Sources, Tasks interfaces
- Implement certificate pinning module (cert_pinning.rs) with:
  - SPKI fingerprint validation using SHA-256
  - Support for primary and backup pins
  - Pin rotation with expiration tracking
  - Report-only mode for testing
  - Validation caching for performance
- Add ring crate dependency for cryptographic operations
2025-12-01 16:15:52 -03:00
b431462af5 Add monitoring dashboard with live system visualization
Introduce an interactive SVG-based monitoring dashboard that displays:
- Central BotServer node with animated status indicators
- Service nodes for PostgreSQL, Qdrant, MinIO, BotModels, Cache, and
  Vault
- Animated data flow connections between services
- Real-time metrics panels (sessions, messages, response time)
- Resource utilization bars (CPU, memory, GPU, disk)
- Live activity ticker

The HTML version includes
2025-12-01 08:35:47 -03:00
3bdfd760e7 Update monitoring dashboard with animated SVG visualization
Replace static grid layout with interactive live system view featuring:
- Animated data packets flowing between service nodes
- Real-time metrics panels with HTMX polling
- Service status dots with pulse animations
- Resource utilization bars
- Live activity ticker
- Toggle between Live and Grid views (V key)

Documentation updated to reflect new visualization and API endpoints.
2025-12-01 08:35:28 -03:00
ddb759e23f - SVG UI. 2025-12-01 02:22:35 -03:00
2bf53ab230 Add toml dependency for Askama custom filters config 2025-11-30 23:48:08 -03:00
7b3c3901fb Add template samples and compliance API documentation
- Add template-samples.md with ready-to-use bot examples and sample
  conversations for CRM, FAQ, calendar, HR, sales, IT helpdesk,
  compliance, broadcast, and analytics templates
- Add compliance-api.md with full REST API reference for data subject
  requests, consent management, scanning
2025-11-30 22:39:24 -03:00
19ed1fa085 Add template samples and compliance API docs to summary 2025-11-30 22:39:00 -03:00
aebe4fddf7 - Screen manuals. 2025-11-30 22:33:54 -03:00
16a792b5cb Add Suite app documentation, templates, and Askama config
- Add askama.toml for template configuration (ui/ directory)
- Add Suite app documentation with flow diagrams (SVG)
  - App launcher, chat flow, drive flow, tasks flow
  - Individual app docs: chat, drive, tasks, mail, etc.
- Add HTML templates for Suite apps
  - Base template with header and app launcher
  - Auth login page
  - Chat, Drive, Mail, Meet, Tasks templates
  - Partial templates for messages, sessions, notifications
- Add Extensions type to AppState for type-erased storage
- Add mTLS module for service-to-service authentication
- Update web handlers to use new template paths (suite/)
- Fix auth module to avoid axum-extra TypedHeader dependency
2025-11-30 21:00:48 -03:00
119521ed2f Add Suite user manual and HTMX architecture documentation
- Add comprehensive user manual covering all Suite applications
- Document HTMX architecture patterns used throughout the UI
- Complete designer.html JavaScript implementation
- Complete sources/index.html with remaining UI and event handlers
- Update SUMMARY.md with new documentation entries
2025-11-30 19:50:47 -03:00
3bf0676a52 Add docs, UI pages, code scanner, and Docker deployment guide
- Add CRM contacts template documentation
- Add Docker deployment documentation with compose examples
- Add BASIC code scanner for security compliance checking
- Add visual dialog designer UI (designer.html)
- Add drive file manager UI (drive/index.html)
- Add sources browser UI (sources/index.html)
- Add compliance report tool UI (tools/compliance.html)
2025-11-30 19:36:50 -03:00
8cd5fd6f95 F)
- Implement code sandbox for Python/JS/Bash execution
- Implement agent reflection for self-improvement
- Implement SSE streaming for real-time responses
- Add episodic memory, knowledge graph, and approval modules
- Add LLM observability with metrics and cost tracking
- Update documentation with new keywords and features
2025-11-30 19:18:42 -03:00
fd5a1ee1e1 Add implementation plan and multi-agent features
This commit introduces comprehensive documentation and implementation
for multi-agent orchestration capabilities:

- Add IMPLEMENTATION-PLAN.md with 4-phase roadmap
- Add Kubernetes deployment manifests (deployment.yaml, hpa.yaml)
- Add database migrations for multi-agent tables (6.1.1, 6.1.2)
- Implement A2A protocol for agent-to-agent communication
- Implement user memory keywords for cross-session persistence
- Implement model routing for dynamic L
2025-11-30 19:18:23 -03:00
0507d3cb11 Remove documentation files that have been merged into the mdbook
structure under docs/src/. These files were either duplicates, outdated,
or have been properly integrated into the structured documentation.
2025-11-30 18:07:22 -03:00
7e0698e932 d suggestions
- ADD SUGGESTION TOOL "name" WITH params AS "text" for pre-filled
    params

- Add secrets module for Vault integration with minimal .env approach

- Update LLM providers documentation with model recommendations

- Refactor template dialogs for consistency:
  - Use PARAM with proper types and DESCRIPTION
  - Use WITH blocks for structured data
  - Simplify TALK messages (remove emoji prefixes)
  - Add RETURN statements to tools
  - Add proper CLEAR SUGGESTIONS and ADD TOOL patterns

- Add analytics-dashboard template demonstrating KB Statistics usage ```
2025-11-30 16:40:11 -03:00
48288e8523 ``` Add KB Statistics keywords and infrastructure documentation
- Add KB Statistics keywords for Qdrant vector database monitoring: KB
  STATISTICS, KB COLLECTION STATS, KB DOCUMENTS COUNT, KB DOCUMENTS
  ADDED SINCE, KB LIST COLLECTIONS, KB STORAGE SIZE

- Add comprehensive infrastructure documentation:
  - Scaling and load balancing with LXC containers
  - Infrastructure design with encryption, sharding strategies
  - Observ
2025-11-30 16:25:51 -03:00
c6bbd50946 , dt.month, dt.hour, dt.is_weekend, etc.)
- Add startup wizard module for first-run configuration
- Add white-label branding system with .product file support
- Add bot manager for lifecycle, MinIO buckets, and templates
- Add version tracking registry for component updates
- Create comparison doc: BASIC vs n8n/Zapier/Make/Copilot
- Add WhatsApp-style sample dialogs to template documentation
- Add data traceability SVG diagram ```
2025-11-30 15:07:29 -03:00
faaf9c18c8 Looking at this diff, I need to summarize the significant documentation
and code changes:

``` Add natural language scheduling, docs, wizard, and branding

- Add SET SCHEDULE natural language parser supporting patterns like
  "every hour", "at 9am", "weekdays at 8am", "business
2025-11-30 12:20:48 -03:00
16cf467bca Add documentation and core BASIC language functions
- Add SET_SCHEDULE.md and TEMPLATE_VARIABLES.md documentation
- Implement array functions (CONTAINS, PUSH/POP, SLICE, SORT, UNIQUE)
- Implement math functions module structure
- Implement datetime functions module structure
- Implement validation functions (ISNULL, ISEMPTY, VAL, STR, TYPEOF)
- Implement error handling functions (THROW, ERROR, ASSERT)
- Add CRM lead scoring keywords (SCORE_LEAD, AI_SCORE_LEAD)
- Add messaging keywords (SEND_TEMPLATE, CREATE_TEMPLATE)
2025-11-30 11:09:16 -03:00
06c75cb690 Looking at this diff, I can see it's a comprehensive documentation
update and code refactoring focused on:

1. Adding new documentation pages to the table of contents
2. Restructuring the bot templates documentation
3. Changing keyword syntax from underscore format to space format (e.g.,
   `SET_BOT_MEMORY` → `SET BOT MEMORY`)
4. Updating compiler and keyword registration to support the new
   space-based syntax
5. Adding new keyword modules (social media, lead scoring, templates,
   etc.)

Refactor BASIC keywords to use spaces instead of underscores

Change keyword syntax from underscore format (SET_BOT_MEMORY) to more
natural space-separated format (SET BOT MEMORY) throughout the codebase.

Key changes:
- Update Rhai custom syntax registration to use space tokens
- Simplify compiler preprocessing (fewer replacements needed)
- Update all template .bas files to use new syntax
- Expand documentation with consolidated examples and new sections
- Add new keyword modules: social_media, lead_scoring, send_template,
  core_functions, qrcode, sms, procedures, import_export, llm_macros,
  on_form_submit
2025-11-30 10:53:59 -03:00
d1e3c25eb8 Add tar/flate2 deps and document new BASIC keywords
Add flate2 and tar dependencies for archive extraction support in file
operations. Update documentation with:

- New BASIC keywords: SWITCH/CASE, WEBHOOK, INSTR, IS_NUMERIC
- HTTP operations: POST, PUT, PATCH, DELETE_HTTP, GRAPHQL, SOAP
- Data operations: SAVE, INSERT, UPDATE, DELETE, MERGE, FILTER, etc.
- File operations: READ, WRITE, COMPRESS, EXTRACT, GENERATE_PDF, etc.

Simplify README and add appendices for external services and environment
variables. Add monitoring dashboard and player UI docs.
2025-11-30 07:53:58 -03:00
dbdd144963 Add desktop tools, antivirus, and editor modules
- Add desktop tools module with drive cleaner, Windows optimizer, and
  Brave browser installer
- Add antivirus module with ClamAV integration and Windows Defender
  management
- Add tools.html template for settings page integration
- Add standalone editor.html for file editing
- Re-export new types from desktop and security
2025-11-29 21:23:19 -03:00
39bc972855 Add multimodal module for botmodels integration
Introduces IMAGE, VIDEO, AUDIO, and SEE keywords for BASIC scripts that
connect to the botmodels service for AI-powered media generation and
vision/captioning capabilities.

- Add BotModelsClient for HTTP communication with botmodels service
- Implement BASIC keywords: IMAGE, VIDEO, AUDIO (generation), SEE
  (captioning)
- Support configuration via config.csv for models
2025-11-29 20:40:08 -03:00
47b0c0abe3 Update executive vision with expanded feature set and corrections
- Add 14 new capabilities to the feature table including calendar, task
  automation, whiteboard, video conferencing, analytics, and more
- Expand SaaS replacement comparison with 7 additional products
- Update annual savings calculation from $1,500 to $3,000 per user
- Add technical infrastructure details for new components
- Fix BASIC script example formatting and syntax
- Correct installation command from general-bots to botserver
- Add DeepSeek to supported LLM list
- Minor text refinements for clarity
2025-11-29 17:46:27 -03:00
d8dfa60916 - Executive summary. 2025-11-29 17:46:05 -03:00
11ffccaa94 - More htmx. 2025-11-29 17:27:13 -03:00
ad1cd3ee36 HTMX enters. 2025-11-29 16:29:28 -03:00
31b80ba7f9 Add message type constants and documentation
Introduce a shared enum-based system for categorizing message types
across the Rust backend and JavaScript frontend. This replaces magic
numbers with named constants for improved type safety, readability, and
maintainability.

The implementation includes:
- Rust MessageType enum with serialization support
- JavaScript constants matching the Rust enum values
- Helper
2025-11-29 11:17:01 -03:00
60706bf1c7 Replace magic numbers with MessageType constants
This commit replaces all hardcoded message type integers (0, 1, 2, 3, 4,
5) with named constants from a new MessageType module, improving code
readability and maintainability across the codebase.
2025-11-28 18:15:09 -03:00
87b7d96031 run
- Database migrations run automatically on startup
- New QUICK_START.md with usage examples and troubleshooting
- Better handling of already-running services
2025-11-28 15:06:30 -03:00
6f686565ab Update default features and add quick start guide
Replaces ui-server with console in default features, adds comprehensive
quick start documentation, implements automatic database migrations at
startup, and ensures critical services (PostgreSQL and MinIO) are
started automatically.

Key changes:
- Console UI now enable
2025-11-28 13:50:28 -03:00
c67ff407b1 Add .env.example with comprehensive configuration template
The commit adds a complete example environment configuration file
documenting all available settings for BotServer, including logging,
database, server, drive, LLM, Redis, email, and feature flags.

Also removes hardcoded environment variable usage throughout the
codebase, replacing them with configuration via config.csv or
appropriate defaults. This includes:

- WhatsApp, Teams, Instagram adapter configurations
- Weather API key handling
- Email and directory service configurations
- Console feature conditionally compiles monitoring code
- Improved logging configuration with library suppression
2025-11-28 13:19:03 -03:00
1789952c5b Remove unused sqlx dependency and related code
The sqlx database library has been removed from the project along with
associated database-specific code that was no longer being used. This
includes removal of various sqlx-related dependencies from Cargo.lock
and cleanup of database connection pool references.
2025-11-28 09:27:29 -03:00
7f2967b04b Add SQLx dependencies for calendar feature 2025-11-27 23:10:43 -03:00
4b5d18db71 Add metadata and refactor BASIC compiler
- Add package metadata (keywords, categories) to Cargo.toml
- Add #[must_use] attributes to constructor methods
- Simplify conditional logic by inverting if-else blocks
- Replace string formatting with interpolation syntax
2025-11-27 15:19:17 -03:00
ac03af0b20 Refactor InstagramAdapter initialization and implement file sending
The InstagramAdapter constructor is simplified to remove unused
parameters, and the send_instagram_file function is fully implemented
with S3 upload and message sending capabilities.
2025-11-27 13:53:16 -03:00
6e48474d55 olithic route configuration
- Add route configuration and handlers to calendar module
- Add route configuration and handlers to task module
- Update main.rs to build router from module configurations
- Fix various compiler warnings (dead code, unused variables)

This improves code organization by keeping routes co-located with their
implementation logic.
2025-11-27 13:53:00 -03:00
db06927e24 Looking at the diff, I can see this commit removes the api_router.rs
file and distributes its functionality to individual modules. The
calendar and task modules now have their own route configuration and API
handlers.

Remove centralized API router in favor of module-based routing

Decentralizes API route configuration by moving route definitions and
handlers to their respective modules. Each module now exports its own
`configure_*_routes()` function that is merged in main.rs.

- Delete api_router.rs with its mon
2025-11-27 09:38:50 -03:00
4424fcf548 Fix compiler warnings and improve code consistency
- Remove unused imports and comment them for potential future use
- Add missing .send() to HTTP request chain
- Fix integer type suffixes for JSON values
- Simplify async execution by using tokio::block_in_place
- Remove unused function parameters to eliminate warnings
- Extract temporary variables to avoid borrowing issues
- Add placeholder methods to SessionManager for analytics
- Implement real database operations for admin endpoints
- Remove duplicate or conflicting type definitions

These changes address all compiler warnings while maintaining the
existing functionality and preparing the codebase for future
enhancements in areas like analytics and session management.
2025-11-27 08:34:24 -03:00
f40cb6c7b4 Fix typos in bot file extensions and keyword names
Changed incorrect references to .vbs files to .bas and corrected
USE_WEBSITE keyword naming. Also added missing fields to API response
structure and clarified that start.bas is optional for bots.
2025-11-26 22:54:22 -03:00
82e92de011 Remove unused Python scripts and book.toml
The scripts were development utilities for SVG processing and mdBook
configuration that are no longer needed in the project.
2025-11-26 15:27:47 -03:00
3eae624f92 - No languages for now, just English. 2025-11-26 14:02:59 -03:00
319375025e - Version of publish. 2025-11-25 16:10:50 -03:00
29adc6306f - Defined standard for diagrams. 2025-11-25 08:50:03 -03:00
8d1f9de821 - Finishing text. 2025-11-24 18:09:17 -03:00
b4a2595682 - New diagrams. 2025-11-24 14:37:32 -03:00
5844b7aaa8 - Fix .svgs. 2025-11-24 14:15:01 -03:00
2615a0e891 - Almost done, documentation base for 6.1.0. 2025-11-24 13:36:09 -03:00
f62e0d4f37 - From 8 to 13.5 2025-11-24 13:02:30 -03:00
d98a529025 - Review .svg and intro text. 2025-11-24 09:49:25 -03:00
100753149c - 7 docs revised. 2025-11-24 08:42:58 -03:00
fd97028995 - From 4 to 7. 2025-11-23 20:12:09 -03:00
e06cd4d646 - From 1 to 4 validated. 2025-11-23 17:02:22 -03:00
b680301c38 - More general docs. 2025-11-23 13:46:55 -03:00
06b5e100dc - No more empty docs. 2025-11-23 09:19:06 -03:00
53bac1f5ec - Refactor folder as features. 2025-11-22 22:55:35 -03:00
9ea9360231 - Removing warnings. 2025-11-22 22:54:45 -03:00
baeebc5677 - New docds. 2025-11-22 16:12:32 -03:00
79c9a10dd7 - New security features and compliance checklist. 2025-11-22 13:24:53 -03:00
e013f3f800 - Even more keywords. 2025-11-22 12:26:16 -03:00
20696dd64f - New templates. 2025-11-22 01:27:29 -03:00
9f59d1f6ab 6.1.0 2025-11-21 23:26:43 -03:00
a39bfce495 - New stuff, 6.1. 2025-11-21 23:23:53 -03:00
39e6ec0e35 WPP. 2025-11-21 12:13:48 -03:00
7779a915e9 - New keywords. 2025-11-21 10:44:29 -03:00
99037d5876 ``` Add comprehensive email account management and user settings
interface

Implements multi-user authentication system with email account
management, profile settings, drive configuration, and security
controls. Includes database migrations for user accounts, email
credentials, preferences, and session management. Frontend provides
intuitive UI for adding IMAP/SMTP accounts with provider presets and
connection testing. Backend supports per-user vector databases for email
and file indexing with Zitadel SSO integration and automatic workspace
initialization. ```
2025-11-21 09:28:35 -03:00
7356b20e01 @media (prefers-color-scheme: dark)
-  Enhanced accessibility features (focus states, reduced motion)
-  Added connection status component styles
-  Improved responsive design
-  Added utility classes for common patterns

-  Added semantic HTML5 elements (`<header>`, `<main>`, `<nav>`)
-  Comprehensive ARIA labels and roles for accessibility
-  Keyboard navigation support (Alt+1-4 for sections, Esc for menus)
-  Better event handling and state management
-  Theme change subscriber with meta theme-color sync
-  Online/offline connection monitoring
-  Enhanced console logging with app info

-  `THEMES.md` (400+ lines) - Complete theme system guide
-  `README.md` (433+ lines) - Main application documentation
-  `COMPONENTS.md` (773+ lines) - UI component library reference
-  `QUICKSTART.md` (359+ lines) - Quick start guide for developers
-  `REBUILD_NOTES.md` - This summary document

**Theme files define base colors:** ```css :root { --primary: 217 91%
60%; /* HSL: blue */ --background: 0 0% 100%; /* HSL: white */ } ```

**App.css bridges to working variables:** ```css :root { --accent-color:
hsl(var(--primary)); --primary-bg: hsl(var(--background));
--accent-light: hsla(var(--primary) / 0.1); } ```

**Components use working variables:** ```css .button { background:
var(--accent-color); color: hsl(var(--primary-foreground)); } ```

-  Keyboard shortcuts (Alt+1-4, Esc)
-  System dark mode detection
-  Theme change event subscription
-  Automatic document title updates
-  Meta theme-color synchronization
-  Enhanced console logging
-  Better error handling
-  Improved accessibility

-  Theme switching via dropdown
-  Theme persistence to localStorage
-  Apps menu with section switching
-  Dynamic section loading (Chat, Drive, Tasks, Mail)
-  WebSocket chat functionality
-  Alpine.js integration for other modules
-  Responsive design
-  Loading states

- [x] Theme switching works across all 19 themes
- [x] All sections load correctly
- [x] Keyboard shortcuts functional
- [x] Responsive on mobile/tablet/desktop
- [x] Accessibility features working
- [x] No console errors
- [x] Theme persistence works
- [x] Dark mode detection works

``` documentation/ ├── README.md # Main docs - start here ├──
QUICKSTART.md # 5-minute guide ├── THEMES.md # Theme system details ├──
COMPONENTS.md # UI component library └── REBUILD_NOTES.md # This summary
```

1. **HSL Bridge System**: Allows theme files to use shadcn-style HSL
   variables while the app automatically derives working CSS properties
2. **No Breaking Changes**: All existing functionality preserved and
   enhanced
3. **Developer-Friendly**: Comprehensive documentation for customization
4. **Accessibility First**: ARIA labels, keyboard navigation, focus
   management
5. **Performance Optimized**: Instant theme switching, minimal reflows

- **Rebuild**:  Complete
- **Testing**:  Passed
- **Documentation**:  Complete
- **Production Ready**:  Yes

The rebuild successfully integrates the theme system throughout the UI
while maintaining all functionality and adding comprehensive
documentation for future development.
2025-11-21 09:28:02 -03:00
b8c1e5028b I've completed a comprehensive rebuild of the General Bots Desktop UI to
properly integrate the theme system. Here's what was accomplished:

-  Converted all color variables to HSL format compatible with theme
  files
-  Created a two-layer bridge system:
  - **Layer 1**: Base HSL variables (from theme files: `--primary: 217
    91% 60%`)
  - **Layer 2**: Working CSS variables (auto-derived: `--accent-color:
    hsl(var(--primary))`)
-  Added support for alpha transparency: `hsla(var(--primary) / 0.1)`
2025-11-21 07:42:20 -03:00
7b322d952b Refactor chat module to use unified theme system
Rewrites chat.css to use centralized CSS variables from app.css instead
of maintaining its own theme definitions. Moves all theme variables
(colors, spacing, shadows, transitions) to app.css as the single source
of truth. Improves chat UI consistency, adds better connection status
indicators, and enhances responsive design.
2025-11-20 21:09:23 -03:00
cdfeabf0c7 Add public assets route and improve chat initialization
- Add /public static file route for themes and shared assets
- Fix chat app initialization for dynamic script loading
- Add ThemeManager with dropdown selector for 19 theme variants
- Improve module lazy loading with better retry logic
- Add loading overlay for smoother app startup
- Refactor app.css to use unified theme variables
- Format code and organize imports consistently
2025-11-20 20:39:20 -03:00
cd8b220773 simplifying the chat interface. 2025-11-20 18:29:55 -03:00
2ca4765707 . Adjust chat layout dimensions and remove context indicator
Reduced footer height from 90px to 75px and adjusted related spacing
throughout
2025-11-20 16:29:10 -03:00
89b0e646b7 Fix messages layout and improve scrollbar styling
Switch messages area to fixed positioning with centered transform for
better layout stability. Enhance scrollbar appearance with thin style,
improved colors
2025-11-20 16:02:48 -03:00
2bbab6e41b - Fix all js errors. 2025-11-20 14:40:15 -03:00
40890a6076 Load layout before Alpine and adjust chat CSS 2025-11-20 14:35:23 -03:00
0c6d474738 Introduce chatApp singleton and guarded init
- Implement singleton pattern for chatApp to prevent multiple instances
- Gate initialization with isInitialized to skip repeated init calls
- Add guards for auth and WebSocket connections to avoid overlaps
- Filter non-message payloads and only render content messages
- Improve scroll-to-bottom button visibility and interaction
- Update scrollbar styling, including dark theme rules
2025-11-20 14:28:21 -03:00
cc858d73a7 Update branding to General Bots for log and title 2025-11-20 13:46:01 -03:00
eb45089b45 Refactor TALK delivery and streaming pipelines 2025-11-20 13:40:40 -03:00
5364a5df56 Migrate HTTP API from Actix to Axum 2025-11-20 13:28:35 -03:00
67a0a89b7b chore: bump several dependencies and refactor CLI/UI startup flow
- Updated Cargo.lock to use newer versions:
  - syn 2.0.110 (from 2.0.108)
  - actix-web 4.12.0 (from 4.11.0)
  - socket2 0.6.1 (from 0.5.10)
  - aho-corasick 1.1.4 (from 1.1.3)
  - anstyle-query 1.1.5 (from 1.1.4)
  - anstyle-wincon 3.0.11 (from 3.0.10)
  - windows-sys 0.61.2 (from 0.60.2)
- Added a comment clarifying CLI command handling.
- Simplified the default match arm for unknown CLI arguments.
- Added explanatory comment for UI thread initialization.
- Modified UI startup logic to conditionally spawn the UI thread only when not in `no_ui` and not in desktop mode, returning an `Option` handle.
2025-11-19 14:00:57 -03:00
5df1a9bedd fix: correct syntax error and improve chat UI initialization
- Removed stray `o` character after `pendingContextChange` declaration to fix a syntax error in `chat.js`.
- Added safety check before calling `focus()` on the message input element.
- Implemented `preloadChatCSS()` to preload chat styles and prevent flash‑of‑unstyled‑content.
- Added GSAP fade‑in animation when switching sections for smoother visual transition.
- Ensured input field is auto‑focused after a section loads.
- Changed the default initial section from `drive` to `chat` to align with new default behavior.
2025-11-17 12:16:53 -03:00
5a13a99e71 refactor(web): add SPA fallback route and clean up server
- Removed the unused `serve_html` handler and its import.
- Added a fallback static file service that serves `index.html` for any unmatched path, enabling proper SPA routing.
- Reordered service registration to place the fallback before the explicit index route.
- Cleaned up redundant blank lines and imports in `mod.rs`.

**Client-side (chat.js) updates**
- Renamed the message input variable from `input` to `messageInputEl` for clarity.
- Introduced `pendingContextChange` placeholder for future context handling.
- Switched initialization event from `document 'ready'` to `window 'load'`.
- Updated DOM element assignments and focus calls to use the new variable name.
- Removed unused sidebar auto‑close logic and obsolete session loading functions (`loadSessions`, `loadSessionHistory`).
- Minor refactoring and comment adjustments to improve readability and eliminate dead code.
2025-11-17 12:11:13 -03:00
d78ed3e2ee feat(layout): add section caching with dynamic container
Refactor `layout.js` to improve section loading performance:
- Removed unused sections from the `sections` map.
- Introduced `sectionCache` to store loaded sections.
- Created a reusable `#section-container` element for managing section DOM nodes.
- Implemented lazy loading with a loading placeholder and show/hide logic for cached sections.
- Optimized CSS handling by reusing existing stylesheet links instead of removing and recreating them.
- Added safeguards to avoid reloading already‑loaded JS modules.
2025-11-17 10:16:01 -03:00
348385c2ab refactor(web): consolidate routing and expose auth handler
- Add `*.log` to `.gitignore` to exclude log files from version control.
- Change `auth_handler` to `pub` in `src/auth/mod.rs` to make the endpoint publicly accessible.
- Remove unused `bot_index` import and route; replace direct service registration with `web_server::configure_app` in `src/main.rs`.
- Refactor `src/web_server/mod.rs`:
  - Remove the `bot_index` handler.
  - Introduce `serve_html` helper for loading HTML pages.
  - Simplify static file serving by configuring separate routes for JS and CSS assets.
  - Centralize all route and static file configuration in `configure_app`.
- Clean up related imports and improve error handling for missing pages.
2025-11-17 10:00:12 -03:00
deb96b7d75 Clean up desktop module files 2025-11-16 22:57:02 -03:00
e496ca13ce feat: add Chat navigation link and section mapping
- Added a new "Chat" link in the desktop navigation bar with appropriate click handling and active state styling.
- Updated the layout configuration to include the Chat section, mapping it to `chat/chat.html`.
- Enables users to switch to the Chat interface directly from the main navigation.
2025-11-16 22:53:51 -03:00
da8fba11a7 refactor: remove obsolete navigation links from desktop index.html
Removed several unused navigation items (Dashboard, Editor, Player, Paper, Settings, Tables, News) from the desktop version of the application. This cleanup simplifies the UI, reduces dead code, and prevents users from accessing sections that are no longer part of the product.
2025-11-16 22:40:10 -03:00
5ca056a285 fix(web_server): update static file path and remove unused index import
Changed static file path to a relative path (`./web/desktop`) for better portability across environments and removed the unused `index` import from `main.rs` to tidy up module references.
2025-11-16 09:07:53 -03:00
24e969c399 feat(editor): redesign editor UI with 3DBevel theme and ribbon layout
Revamps editor.css to introduce a modern 3DBevel-inspired visual theme, adds structured variables, and implements new UI components including title bar, ribbon tabs, and quick access toolbar for improved usability and maintainability.
2025-11-15 22:03:30 -03:00
2c68f32c64 feat(editor, settings): refactor state handling and enhance validation
Refactored editor.page.html to use a Vue-style `data()` function for reactive state, adding a new `content` property and cleaning up redundant inline styles. Updated profile-form.html to replace single `error` handling with field-specific `errors.<field>` bindings, improving form validation clarity and user feedback.
2025-11-15 21:52:53 -03:00
2dbb938daa feat(ui): update dashboard styles and expand layout sections
Update dashboard CSS to use new color scheme matching visual identity, replacing CSS variables with specific color values. Improved button hover state with background transition instead of opacity.

Expanded layout.js with additional application sections including dashboard, editor, player, and settings to support new navigation structure.
2025-11-15 20:00:29 -03:00
5f12dd13b8 feat(desktop): add new navigation links to index.html
Added new navigation links for Dashboard, Editor, Player, Paper, Settings, Tables, and News sections. Each link includes click handlers to switch sections and active state styling. This expands the application's navigation options for better user access to different features.
2025-11-15 19:52:24 -03:00
afe87e1ab5 feat: add actix-files dependency for file serving support
Added actix-files and its dependencies (http-range, mime_guess, unicase, v_htmlescape) to enable static file functionality in the botserver. This will allow serving static assets and files through the web server. The change includes all required transitive dependencies for proper file handling and MIME type detection.
2025-11-15 19:08:26 -03:00
33872558b0 feat: consolidate assets and improve navigation structure
- Consolidated CSS and JS assets by moving them to local files (app.css, gsap.min.js, marked.min.js)
- Removed livekit-client CDN dependency as it appears unused
- Moved navbar logic to separate layout.js file for better organization
- Changed navigation links to use hash-based routing (#chat, #drive, etc)
- Removed redundant navbar template fetching in favor of static inclusion
- Simplified HTML structure by removing commented code and redundant elements

These changes improve maintainability and performance by reducing external dependencies and better organizing frontend assets.
2025-11-15 10:16:09 -03:00
b423c1f66a feat: add HTTP server and refactor initialization
- Added HTTP server with CORS support and various endpoints
- Introduced http_tx/http_rx channels for HTTP server control
- Cleaned up build.rs by removing commented code
- Updated .gitignore to use *.rdb pattern instead of .rdb
- Simplified capabilities.json to empty object
- Improved UI initialization with better error handling
- Reorganized module imports in main.rs
- Added worker count configuration for HTTP server

The changes introduce a new HTTP server capability while cleaning up and improving existing code structure. The HTTP server includes authentication, session management, and websocket support.
2025-11-15 09:48:46 -03:00
b65e7cc88a feat: update webview URL and frontend dist path
Changed the default webview URL from 'tables.html' to 'index.html' in main.rs to reflect the new entry point. Updated the frontend distribution path in tauri.conf.json from './web/desktop' to './web/html' to better represent the directory structure. These changes align with recent frontend reorganization.
2025-11-14 17:04:51 -03:00
1109bbb3de fix(webview): correct path to tables.html in WebviewWindowBuilder
The path to tables.html in WebviewWindowBuilder was incorrectly set to "../web/desktop/tables.html". This was fixed to use the correct relative path "tables.html" to ensure the webview loads the file from the proper location. The change maintains the same functionality while using the correct path structure.
2025-11-14 17:00:04 -03:00
743507cd09 feat(desktop): add desktop mode support with Tauri integration
- Changed default feature to include 'desktop' in Cargo.toml
- Replaced --noui flag with --desktop flag in launch.json
- Added Tauri desktop mode implementation in main.rs
- Simplified command line argument handling
- Cleaned up code formatting in main.rs

The changes introduce a new mode for running the application as a desktop app using Tauri framework, while maintaining the existing server functionality. The desktop mode loads a webview window with a specific HTML interface.
2025-11-14 16:54:55 -03:00
7a3a761a8e feat(llm): remove deprecated args and clean up server startup
Removed commented-out code for deprecated LLM server arguments (n_moe, parallel, cont_batching, etc.) since these are no longer used. Also cleaned up the model arguments string by removing --jinja and --flash-attn flags which were moved to TODO comments for future config implementation. The change simplifies the server startup code while maintaining core functionality.
2025-11-14 14:14:21 -03:00
0b347a18a6 feat: update botserver to v6.0.8 and refine desktop dependencies
- Bump version from 6.0.7 to 6.0.8 in Cargo.toml and Cargo.lock
- Refactor desktop feature to use explicit dependency syntax
- Remove outdated open source tools list from README-6.md
2025-11-13 05:25:46 -03:00
23843e2a4c feat(ui): optimize index.html structure and content
- Changed DOCTYPE to lowercase for HTML5 compliance
- Removed redundant CSS and JavaScript code
- Simplified theme variables and styling
- Improved message processing logic
- Added better event management
- Streamlined UI components

The changes focus on code cleanliness, performance improvements, and maintainability while preserving all functionality. The HTML structure is now more semantic and follows modern web standards.
2025-11-12 19:02:21 -03:00
c767040ea9 feat(llm): add jinja flag to local server args
Added the --jinja flag to the LLM server startup arguments to enable Jinja template support. This allows for more flexible prompt formatting when using the local LLM server. The change maintains all existing functionality while adding the new feature.
2025-11-12 18:37:01 -03:00
d3b66217a4 feat(llm): simplify log file paths and remove redundant verbose flag
Removed the redundant `--verbose` flag from Windows command since it's not needed. Standardized log file names to `llm-stdout.log` and `llmembd-stdout.log` for consistency across platforms. This makes log management simpler and more predictable.
2025-11-12 18:20:50 -03:00
ac3a274109 feat(llm): add flash-attn flag to local server args
Added the `--flash-attn on` flag to the LLM server startup arguments to enable flash attention optimization. This improves performance while maintaining existing parameters (top_p, temp, repeat-penalty). A TODO was added to move these parameters to config for better maintainability.
2025-11-12 18:19:23 -03:00
40e4ce5995 feat(llm): standardize ctx-size parameter naming
Updated the parameter name from 'n-ctx-size' to 'ctx-size' in both config lookup and argument formatting for consistency. This change aligns with the naming convention used elsewhere in the codebase and makes the parameter name more concise while maintaining clarity. The functionality remains unchanged.
2025-11-12 17:27:32 -03:00
780e9d3172 feat(llm): standardize config key naming to use hyphens
Changed the config key 'llm-server-n_ctx_size' to 'llm-server-n-ctx-size' in local.rs to maintain consistent hyphen-separated naming convention across configuration parameters. This improves code readability and aligns with existing naming patterns.
2025-11-12 17:25:08 -03:00
38605cdfeb feat(llm): add n_ctx_size parameter to LLM server startup
Added support for configuring the context window size (n_ctx_size) when starting the local LLM server. The parameter is read from config with a default value of 4096 if not specified. This allows for better control over the model's memory usage and performance characteristics.
2025-11-12 17:22:33 -03:00
f1aae91d82 feat(drive_monitor): comment out deprecated check_gbot call
The check_gbot function call in DriveMonitor's run method has been commented out with a TODO note, indicating it's deprecated and should be removed. This is likely part of cleaning up unused or outdated functionality while keeping the codebase functional. The gbdialog changes check remains active.
2025-11-12 17:18:08 -03:00
c281e1ce7e feat: remove redundant traces and update LLM server args
- Remove trace logs in compact_prompt.rs that were cluttering logs without adding value
- Simplify LLM server args in local.rs by removing redundant --reasoning-format parameter
- Add ID to float menu div in index.html for better DOM targeting
- Clean up code by removing unnecessary debug logging while maintaining functionality
2025-11-12 16:04:33 -03:00
9c5d38b60e feat(automation): increase schedule field size and improve task checking
- Increased schedule field size from bpchar(12) to bpchar(20) in database schema
- Reduced task checking interval from 60s to 5s for more responsive automation
- Improved error handling for schedule parsing and execution
- Added proper error logging for automation failures
- Changed automation execution to use bot_id instead of nil UUID
- Enhanced HEAR keyword functionality (partial diff shown)
2025-11-12 15:04:04 -03:00
7ae05edb8f feat(installer): add dummy command to prevent empty shell execution
The change adds `arg("true")` to the shell command to prevent executing an empty shell command when a component is already running. This ensures a valid command is always passed to the shell, avoiding potential issues with empty command execution.
2025-11-12 13:47:21 -03:00
3ebd180932 feat(package_manager): remove redundant trace log in install_local
The trace log for successful component installation was removed as it was deemed unnecessary. The success of the installation is already indicated by the Ok(()) return value, making the log redundant. This change simplifies the code while maintaining the same functionality.
2025-11-12 13:22:46 -03:00
e1245ef5ab feat(package_manager): fix env var reference in installer
Fix incorrect variable reference in package manager installer. The code was using `C&component.env_vars` instead of `&component.env_vars` when iterating through environment variables. This would cause compilation errors. The fix properly references the component's env_vars field when evaluating environment variable references.
2025-11-12 12:51:21 -03:00
e8fc78e638 feat: add diesel_migrations and update dependencies
Added diesel_migrations crate (v2.3.0) to enable database migration functionality. Updated Cargo.toml and Cargo.lock to include the new dependency along with its required sub-dependencies (migrations_internals and migrations_macros). Also made minor cleanups in the codebase:
- Removed unused UI code from platform README
- Cleaned up LLM server initialization code
- Added additional build dependencies in documentation
2025-11-12 12:48:06 -03:00
c7c6535eb1 feat(package_manager): evaluate env vars in installer commands
Remove hardcoded DRIVE_ACCESSKEY/SECRET env vars and replace with variable references ($DRIVE_USER, $DRIVE_ACCESSKEY). Added logic to evaluate environment variable references in command execution by expanding $VAR references to their actual values from the environment. This makes the configuration more flexible and secure by avoiding hardcoded credentials.
2025-11-12 10:36:15 -03:00
9168375775 feat(llm): add support for API key in LLM generation calls
Include retrieval and passing of `llm-key` from configuration to LLM provider methods for secure authentication. Also refine role naming in compact prompts and remove unused logging import.
2025-11-12 09:25:10 -03:00
b79c483a2e feat(llm): pass model configuration to LLM generation and streaming
Include model parameter in LLM provider calls across automation, bot, and keyword modules to ensure correct model selection based on configuration. This improves flexibility and consistency in LLM usage.
2025-11-12 08:19:21 -03:00
32acfaf29c feat(bootstrap): remove legacy mode and simplify bootstrap process
Removed the legacy TABLES_SERVER environment variable check and related database connection logic. Simplified the bootstrap process to always generate new credentials and write them to .env file. Also updated drive monitor log message to use "Drive" instead of "S3" for consistency. #464
2025-11-12 00:26:42 -03:00
766a817593 feat(automation): refactor prompt construction for summarization
Refactored the prompt construction in compact_prompt.rs to use a single formatted string instead of multiple JSON messages. The conversation is now built as a single string with clear formatting markers, and the role names are more readable (User/Bot instead of user/bot). Also removed a trailing slash from the OpenAI API endpoint URL in llm/mod.rs for consistency.

The changes improve readability of the prompt structure and ensure consistent API endpoint formatting. The summarization request is more clearly formatted for the LLM while maintaining the same functionality.
2025-11-12 00:11:16 -03:00
6366a55f98 feat: simplify system metrics collection and improve status panel
- Removed unused token parameters from get_system_metrics function
- Simplified metrics collection in BotOrchestrator by removing initial token check
- Improved StatusPanel by:
  - Removing 1-second update throttle
  - Refreshing CPU usage more efficiently
  - Separating metrics collection from rendering
  - Using direct CPU measurement from sysinfo
- Cleaned up unused imports and improved code organization

The changes make the system monitoring more straightforward and efficient while maintaining all functionality.
2025-11-11 23:12:27 -03:00
71abcc4bf2 feat(automation): refactor compact prompt logic and remove unused code
Refactored the compact_prompt_for_bots function to use structured JSON messages instead of plain text formatting. Removed unused execute_compact_prompt method and related code from automation service as the functionality is now handled elsewhere. The changes include:
- Using serde_json to structure messages for LLM
- Improved error handling and fallback mechanism
- Cleaned up obsolete compact prompt execution code
2025-11-11 22:31:19 -03:00
9a79825085 feat(automation): improve prompt handling and message processing
- Add initial instruction to compact_prompt_for_bots summary request
- Store processed content separately before formatting as summary
- Save filtered content instead of formatted summary in session manager
- Remove max_tokens limit from OpenAI client request
- Refactor message parsing logic to avoid empty content messages
- Improve role-based message handling in OpenAIClient
2025-11-11 21:45:54 -03:00
52b9f1e152 feat(llm): add message parsing for OpenAI client
Added parse_messages method to handle structured prompt input for OpenAI API. The method converts human/bot/compact prefixes to appropriate OpenAI roles (user/assistant/system) and properly formats multi-line messages. This enables more complex conversation structures in prompts while maintaining compatibility with the OpenAI API format.

Removed the direct prompt-to-message conversion in generate and generate_stream methods, replacing it with the new parse_messages utility. Also reorganized the impl blocks for better code organization.
2025-11-11 21:13:12 -03:00
c42d83988d feat(automation): refactor prompt compaction logic
- Remove unused imports and redundant session progress tracking
- Reorder session progress check to after initial validation
- Replace `summarize` with `generate` for LLM interaction
- Add more detailed logging for summarization process
- Improve error handling and fallback behavior
- Move session cleanup guard to end of processing
- Update log levels for better observability (trace -> info for key events)

The changes streamline the prompt compaction flow and improve reliability while maintaining the same core functionality.
2025-11-11 19:23:04 -03:00
baea0b942c feat: refactor prompt compaction and clean up test files
- Renamed `execute_compact_prompt` to `compact_prompt_for_bots` and simplified logic
- Removed redundant comments and empty lines in test files
- Consolidated prompt compaction threshold handling
- Cleaned up UI logging implementation by removing unnecessary whitespace
- Improved code organization in ui_tree module

The changes focus on code quality improvements, removing clutter, and making the prompt compaction logic more straightforward. Test files were cleaned up to be more concise.
2025-11-11 18:32:52 -03:00
48eec514d3 feat(automation): limit compact prompt history to recent messages
Modified compact_prompt_for_bot to only include the most recent N messages (messages_since_summary + 1) when building the compacted prompt string. This prevents excessive context from being included and improves performance by
2025-11-11 15:30:52 -03:00
92b615f117 feat(bot): add trace log for LLM prompt in BotOrchestrator
Added a trace-level log statement to output the constructed LLM prompt in BotOrchestrator. This helps with debugging by making the prompt content visible in logs when trace logging is enabled. The change maintains existing functionality while improving observability.
2025-11-11 15:20:43 -03:00
1a47355834 feat(automation): improve prompt compaction scheduling and error handling
Refactor the compact prompt scheduler to use proper indentation and improve error logging. Added more detailed error messages for prompt compaction failures and included bot_id in error logs. The changes make the code more maintainable and debugging easier while maintaining the same functionality.
2025-11-11 15:01:57 -03:00
191bf0bba7 feat(bootstrap): add secure password generation and env setup
Added functionality to generate secure passwords for database and drive server credentials during bootstrap. Removed the PostgreSQL running check and auto-start logic as it's no longer needed. Renamed `create_s3_operator` to more descriptive `get_drive_client`. The bootstrap process now automatically sets up required environment variables in .env file including database URL and drive server credentials.
2025-11-11 11:12:54 -03:00
b5887190ed feat(s3): add timeout handling and clean up drive config
- Added 30-second timeout for S3 bucket listing operations in DriveMonitor
- Removed unused `use_ssl` flag from DriveConfig and cleaned up imports
- Improved error handling with proper logging for timeout scenarios
- Fixed syntax in AppConfig initialization (added missing commas)
- Added proper spacing between methods in BootstrapManager
2025-11-11 10:34:06 -03:00
73d0ab3a1a refactor: simplify UI panels, use pooled DB, add --noui flag
- Removed unused `id` and `app_state` fields from `ChatPanel`; updated constructor to accept but ignore the state, reducing memory footprint.
- Switched database access in `ChatPanel` from a raw `Mutex` lock to a connection pool (`app_state.conn.get()`), improving concurrency and error handling.
- Reordered and cleaned up imports in `status_panel.rs` and formatted struct fields for readability.
- Updated VS Code launch configuration to pass `--noui` argument, enabling headless mode for debugging.
- Bumped several crate versions in `Cargo.lock` (e.g., `bitflags` to 2.10.0, `syn` to 2.0.108, `cookie` to 0.16.2) and added the new `ashpd` dependency, aligning the project with latest library releases.
2025-11-11 09:42:52 -03:00
bffde64273 feat(bootstrap): enable bootstrap and package_manager modules
Uncommented bootstrap and package_manager directories in add-req.sh to include them in build process. Refactored bootstrap module for cleaner initialization and improved component handling logic.
2025-11-08 07:04:44 -03:00
77532c6827 fix(nvidia): remove warning log when no GPU detected
The warning log was removed from the error case in has_nvidia_gpu() function
as it was producing false positives. The function now silently returns false
when nvidia-smi is not available or no NVIDIA GPU is detected, which is the
expected behavior for the fallback case.
2025-11-07 22:51:35 -03:00
1febffdc58 feat(bot): refactor progress and warning output to use UI module
Extract progress bar rendering and warning message display from BotOrchestrator into a dedicated BotUI module. This improves code organization by separating UI concerns from core bot logic. The UI module handles both progress visualization with system metrics and warning message presentation, providing a cleaner interface for output operations.
2025-11-07 22:33:49 -03:00
1190fd2bb8 feat(deps): add desktop UI support and update dependencies
Added new dependencies for desktop UI support including color-eyre, crossterm, and ratatui. Updated existing dependencies and modified Cargo.toml to include a new 'desktop' feature flag. Also cleaned up the contributors list and modified the add-req.sh script to focus on core bot functionality.

The desktop UI support enables better terminal-based interfaces while the dependency updates ensure compatibility and security. The script changes reflect a shift in focus areas for the project.
2025-11-07 21:31:25 -03:00
1503b007fa feat(llm): add deepseek reasoning flag and rename GPU layers
Update the LLM server command construction to include a new `--reasoning-format deepseek` argument, enabling explicit selection of the DeepSeek reasoning format. Replace the short `-ngl` flag with the more descriptive `--n-gpu-layers` to improve readability and consistency with other CLI options. This change enhances configurability for models requiring specific reasoning formats and clarifies GPU layer configuration.
2025-11-07 17:16:58 -03:00
396b461179 feat: add detailed logging for LLM server startup commands
Add `info!` statements that output the exact command used to launch the LLM server on both Windows and Unix platforms. This enhances observability and aids debugging by showing the constructed command line before the process is spawned.
2025-11-07 17:12:55 -03:00
cb34960f02 feat(llm): add configurable reasoning-format flag support
- Added retrieval of `llm-server-reasoning-format` configuration in `src/llm/local.rs`.
- When the config value is non‑empty, the server start command now includes `--reasoning-format <value>`.
- Updated argument construction to conditionally append the new flag.
- Cleaned up `src/automation/mod.rs` by removing an unused `std::sync::Arc` import, simplifying the module and eliminating a dead dependency.
2025-11-07 17:04:33 -03:00
358811f22f fix: remove trailing slash from default LLM URL configuration
The default LLM service URL was changed from `http://localhost:8081/` to `http://localhost:8081`.
Both the configuration lookup default and the fallback string are updated to omit the trailing slash. This prevents accidental double‑slashes when constructing request paths and aligns the default with expected endpoint formatting.
2025-11-07 16:52:21 -03:00
39cff6b276 feat(config): update default LLM URL to root endpoint
Changed the fallback LLM service URL from `http://localhost:8081/v1` to `http://localhost:8081/`. This aligns the default endpoint with the updated API that no longer requires the `/v1` path, ensuring the application connects correctly when no custom configuration is provided.
2025-11-07 16:45:19 -03:00
7f199cc7c9 refactor(bot): limit lock scope for history and tidy progress output
- Reordered imports for clarity (chrono and tokio::time::Instant).
- Fixed comment indentation around compact automation note.
- Refactored session history retrieval to acquire the mutex only briefly, then process compacted message skipping and history limiting outside the lock.
- Added explanatory comments for the new lock handling logic.
- Cleaned up token progress calculation and display formatting, improving readability of GPU/CPU/TOKENS bars.
- Minor formatting adjustments throughout the file.
2025-11-07 16:43:49 -03:00
3626719d7f chore: point LLM client and default configs to local endpoint
Updated the 6.0.4 migration to use `http://localhost:8081/v1` for the default OpenAI model configurations (gpt‑4 and gpt‑3.5‑turbo) and the local embed service. Adjusted `OpenAIClient` to default to the same localhost base URL instead of the production OpenAI API.

Reorganized imports and module ordering in `src/main.rs` (moved `mod llm`, `mod nvidia`, and `BotOrchestrator` import), cleaned up formatting, and removed unused imports. These changes streamline development by directing LLM calls to a local server and improve code readability.
2025-11-07 16:40:19 -03:00
38cf8b3bd0 refactor(bot): disable history retrieval and simplify LLM args
Removed the conversation history loading logic in `BotOrchestrator` and replaced it with a placeholder string, commenting out related prompt construction and tracing. This change streamlines prompt generation while debugging and prevents unnecessary history processing.

In the local LLM server setup, eliminated the `llm-server-ctx-size` configuration and its corresponding command‑line argument, as the context size parameter is no longer required. This simplifies server initialization and avoids passing an unused flag.
2025-11-07 16:35:48 -03:00
3f1a36a1f5 fix: redirect LLM server logs to local files instead of deep path
Adjusted the command strings used to start the LLM and embedding servers on both Windows and Unix.
- Replaced the previous log redirection `../../../../logs/llm/stdout.log` with simpler local files (`llm-stdout.log` and `stdout.log`).
- Updated both normal and embedding server launch commands to use the new paths.

This change simplifies log management, ensures logs are correctly written regardless of the working directory, and resolves issues where the previous relative path could be invalid or inaccessible.
2025-11-07 16:19:48 -03:00
14ab06b9f1 refactor: inject AppState into automation & bot, drop Default impl
- Updated `execute_compact_prompt` to accept an `Arc<AppState>` instead of creating a new default state, enabling proper state sharing across tasks.
- Adjusted bot orchestration to clone and pass the existing `AppState` to the automation task, ensuring the same connection and configuration are used.
- Removed the `Default` implementation for `AppState`, preventing accidental creation of a default state with hard‑coded DB connections and services.
- Modified `BotOrchestrator::default` to panic, enforcing explicit construction via `BotOrchestrator::new(state)` for clearer dependency injection.

These changes improve testability, avoid hidden side‑effects from default state initialization, and ensure consistent use of the application state throughout the system.
2025-11-07 16:13:47 -03:00
e15047cd16 feat(bot): persist user messages and refine session handling
Add logic to save user messages to session history for better traceability and context continuity. Simplify session creation error handling and remove redundant warning on closed response channel. Update README with guidance on maintaining production-ready source code.
2025-11-07 10:26:34 -03:00
c4923166d4 refactor(bootstrap): remove unused warn import from log module
Removed the unused `warn` import from the `log` module in `mod.rs` to clean up unused dependencies and improve code clarity.
2025-11-07 10:16:49 -03:00
291ce9072d refactor(logging): update component names and adjust log levels
Renamed PostgreSQL references to "Tables" for clarity in bootstrap logs, changed config sync logging from info to trace for reduced verbosity, and made session message clearing method private to limit external access.
2025-11-07 10:11:08 -03:00
f1c5a79fe1 feat(bot, web): improve progress display and simplify context indicator
Use `print!` with stdout flush for smoother in-place GPU/CPU/token progress updates in the bot module. Simplify context indicator logic in the web UI by always removing visibility class to streamline behavior.
2025-11-07 10:01:05 -03:00
c3eaefbede feat(prompt-compaction): add compacted message handling and forced compaction
Refactored prompt compaction to use a special compacted message type (9) instead of clearing old messages. Added support for forced compaction when threshold is negative and updated history retrieval to skip messages before the last compacted marker. This improves efficiency and preserves summary continuity.
2025-11-07 09:54:04 -03:00
d07e1fd279 fix: add PostgreSQL auto-start and silence unused variable warnings
Added a check in `BootstrapManager` to detect if PostgreSQL is running and attempt to start the "tables" component automatically if not. Also prefixed unused variables and struct fields with underscores in compiler, session, and model modules to suppress warnings and improve code clarity.
2025-11-07 09:37:45 -03:00
3a15b32c4e feat(automation): add compaction lock and improve prompt summarization
Added `once_cell` and `scopeguard` dependencies to implement thread-safe compaction lock mechanism. Modified `compact_prompt_for_bot` to:
- Prevent concurrent compaction for the same bot using a global lock
- Add proper tracing and error handling
- Improve summarization with content filtering
- Clean up locks automatically using scopeguard
- Remove redundant threshold check and compact entire history

The changes ensure thread safety during prompt compaction and provide better observability through tracing.
2025-11-06 18:02:04 -03:00
de6da7cd4b feat(automation): improve prompt compaction with async LLM summarization
- Added initial 30s delay to compact prompt scheduler
- Implemented async LLM summarization for conversation history
- Reduced lock contention by minimizing critical sections
- Added fallback to original text if summarization fails
- Updated README with guidance for failed requirements
- Added new `summarize` method to LLMProvider trait
- Improved session manager query with proper DSL usage

The changes optimize the prompt compaction process by:
1. Reducing lock contention through better resource management
2. Adding LLM-based summarization for better conversation compression
3. Making the system more resilient with proper error handling
4. Improving documentation for development practices
2025-11-06 17:07:12 -03:00
1509ecde5b feat(automation): add compact prompt scheduler and improve code formatting
Added new compact_prompt module and its scheduler initialization in AutomationService.
Refactored code for better readability:
- Improved import organization
- Fixed indentation in schedule checking logic
- Enhanced error handling with more descriptive messages
- Formatted long lines for better readability
- Added comments for clarity

The changes maintain existing functionality while making the code more maintainable.
2025-11-06 16:15:54 -03:00
1ea4e6268a docs(readme): add platform overview and simplify setup steps
Expanded README with detailed feature matrix and enterprise capabilities for the self-host AI automation platform. Simplified setup instructions by removing redundant configuration and build steps to improve clarity and onboarding experience.
2025-11-06 11:49:52 -03:00
a07f787aae feat: update logging config and enable automation modules
- Update RUST_LOG configuration in launch.json to include trace level and additional module filters
- Uncomment and enable multiple directories in add-req.sh script
- Add execute_compact_prompt function to automation module
- Extend BasicCompiler comment detection to handle single quotes
- Modify BotOrchestrator system message prefix from "SYSTEM" to "SYS"
- Add placeholder for compact prompt automation in BotOrchestrator initialization

Changes improve debugging capabilities and enable previously commented-out automation features while maintaining existing functionality.
2025-11-05 22:48:55 -03:00
3419d1b6a0 feat: add cron dependency and theme broadcast functionality
Add the `cron` crate (v0.15.0) to Cargo.toml and Cargo.lock to enable scheduling capabilities.
Introduce a new `broadcast_theme_change` helper in `src/automation/mod.rs` that parses CSV theme data and pushes JSON theme update events to all active response channels.
Clean up unused imports in the automation module and add `ConfigManager` import for future configuration handling.
Update `add-req.sh` to adjust the list of processed directories (comment out `auth`, enable `basic`, `config`, `context`, and `drive_monitor`).
These changes lay groundwork for scheduled tasks and dynamic theme updates across the application.
2025-11-05 21:10:03 -03:00
2e41e26f3b feat: update botserver to v6.0.7 and adjust authors list
- Updated botserver version from 6.0.5 to 6.0.7 in Cargo.toml and Cargo.lock
- Removed old Rodrigo Rodriguez entry from authors list
- Added new Rodrigo Rodriguez entry with updated email
- Maintained all other existing authors in the list
2025-11-05 20:33:17 -03:00
e8086cab4f feat(bot): add configurable history limit for conversation prompts
Added support for configurable conversation history limits through bot configuration. The bot now reads 'prompt-history' from config (defaulting to -1 for unlimited) and trims the conversation history accordingly before generating prompts. Updated announcements bot template to use history limit of 2 messages instead of the previous compact setting.
2025-11-05 20:18:34 -03:00
60938bc606 fix(migrations, ui): remove redundant constraint check and logo click handler
Removed `IF NOT EXISTS` from the unique constraint in `system_automations` to ensure proper enforcement, and deleted the unused `floatLogo` click event listener to clean up UI behavior.
2025-11-05 15:29:01 -03:00
3515ac9b8b feat(announcements): add theme colors and custom logo config
Added new configuration options for theme colors (green, yellow) and a custom logo URL to enhance branding and visual customization in announcement templates.
2025-11-05 15:23:02 -03:00
26f995b8d0 feat: update deepseek_r3 regex and add test case
Updated the regex pattern in DeepseekR3Handler to use (?s) flag for dot-matches-newline behavior when removing <think> tags. Added comprehensive test case that verifies the handler correctly processes content with multiline think tags. Also made styling changes to the web interface, though the full diff was truncated.
2025-11-05 14:28:14 -03:00
868c656433 feat: simplify LLM prompt and add debug logging
- Simplified build_llm_prompt by removing redundant formatting
- Added info logging for LLM model and processed content
- Updated README with development philosophy note
- Adjusted announcement schedule timing from 55 to 59 minutes past the hour
2025-11-05 14:15:12 -03:00
84ae1163f3 feat(nvidia): mark unused params in get_system_metrics
Mark current_tokens and max_tokens parameters as unused in get_system_metrics function by prefixing them with underscores. This change clarifies that these parameters are intentionally unused in the function implementation while maintaining the function signature for potential future use.
2025-11-05 13:47:19 -03:00
2d6f214193 feat: remove unused dependencies and clean up Cargo.lock
Removed several unused dependencies from Cargo.lock including:
- auto_generate_cdp
- headless_chrome
- scraper
- cssparser and related crates
- dtoa and dtoa-short
- string_cache and related crates
- tendril
- tungstenite 0.27.0

Also updated ureq dependency to single version (removed duplicate entry). This cleanup reduces the dependency tree and removes unused code.
2025-11-05 13:46:03 -03:00
a8e3a2c026 feat: improve prompt formatting and system metrics
- Update prompt formatting in BotOrchestrator to use clearer labels (SYSTEM/CONTEXT) with emphasis markers
- Remove unused token_ratio field from SystemMetrics struct
- Increase default context size (2048->4096) and prediction length (512->1024) in config
- Clean up metrics calculation by removing redundant token ratio computation

The changes improve readability of system prompts and simplify metrics collection while increasing default model capacity.
2025-11-05 12:46:08 -03:00
eecd04b7e9 feat: add sysinfo dependency and system metrics support
Added the sysinfo crate (v0.37.2) to gather system metrics. This includes:
- New dependencies: sysinfo, ntapi, objc2-core-foundation, objc2-io-kit
- Updated windows-core to specific version 0.62.2
- Initial system metrics integration in bot module

The change enables monitoring system resources which will be used for performance optimization and health monitoring.
2025-11-05 12:28:34 -03:00
88d017f457 feat(llm): improve logging and content processing
- Add 'keyword' to LLM processing log message for better context
- Replace simple string replace with regex for removing <think> tags in DeepseekR3 model
- The changes provide more precise logging and more robust content processing
2025-11-05 10:35:54 -03:00
5245fc0567 feat(db): add unique constraint to system_automations and fix clicks PK
- Added migration 6.0.6 to enforce a unique constraint on `(bot_id, kind, param)` in `system_automations`, preventing “no unique or exclusion constraint matching the ON CONFLICT specification” errors, and created a supporting index.
- Added migration 6.0.7 to replace the `clicks` table with a correctly defined primary key and a unique `(campaign_id, email)` constraint, satisfying Diesel
2025-11-05 10:19:02 -03:00
5b08bd887e feat(compiler): clean up stale schedules on script recompilation
Added tracking of previously scheduled scripts using a `HashSet` and initialized it in `BasicCompiler::new`. Updated `compile_file` and `preprocess_basic` to require mutable access, allowing schedule cleanup before processing. Implemented logic to delete existing scheduled automations for a script using Diesel queries, ensuring old schedules are removed when a script is recompiled without a `SET_SCHEDULE`. Added necessary Diesel imports and `TriggerKind` reference. This prevents duplicate or orphaned scheduled tasks.
2025-11-05 10:15:36 -03:00
3a57c6ac8d feat(schedule): optimize set_schedule with update-first approach
Changed the set_schedule function to first attempt updating existing records before inserting new ones. This improves efficiency by avoiding unnecessary insert conflicts and subsequent updates. The logic now:
1. Tries to update matching existing schedule first
2. Only performs insert if no matching record was found
3. Maintains same functionality but with better performance
2025-11-05 09:05:25 -03:00
b1d4e8dd5a feat(db): add bot_id column, constraints, enforce DATABASE_URL
- Extend `system_automations` with a non‑null `bot_id` UUID column, create an index on it, and add a unique constraint on `(bot_id, kind, param)` to support upserts.
- Add a unique constraint on `bot_configuration.config_key` to prevent duplicate configuration keys.
- Include migration guards to ensure the new constraint is only created once.
- Remove automatic writing of drive configuration to a `.env` file, cleaning up side‑effects during config loading.
- Change database connection handling to require `DATABASE_URL` to be set (no fallback), making the environment initialization explicit.
2025-11-05 08:47:28 -03:00
7eaf5ece34 test: add test module declarations and cleanup unused code
- Introduced `#[cfg(test)] pub mod auth_test;` in `src/auth/mod.rs` to expose authentication tests.
- Added `pub mod tests;` declarations in `src/lib.rs` and `src/main.rs` for centralized test utilities.
- Removed unnecessary blank lines and a placeholder comment in `src/shared/models.rs` and `src/tests/test_util.rs`.
- Minor formatting adjustments to improve code readability and maintainability.
2025-11-05 08:06:18 -03:00
7f1e6dc91c feat: refactor auth and models, update LLM fallback strategy
- Simplified auth module by removing unused imports and code
- Cleaned up shared models by removing unused structs (Organization, User, Bot, etc.)
- Updated add-req.sh to comment out unused directories
- Modified LLM fallback strategy in README with additional notes about model behaviors

The changes focus on removing unused code and improving documentation while maintaining existing functionality. The auth module was significantly reduced by removing redundant code, and similar cleanup was applied to shared models. The build script was adjusted to reflect currently used directories.
2025-11-04 23:11:33 -03:00
18c40a02d2 feat: remove test bucket creation code from main
Removed the test bucket creation code from the main function as it was only used for testing purposes. The production code should not include test functionality in the main execution path. This cleanup improves code quality and separation of concerns.
2025-11-04 10:21:07 -03:00
8f0f2d829a feat: add new prompts and clean up bucket creation code
- Added CLI and IDE prompt files to the add-req.sh script
- Removed unused bucket creation code from BotOrchestrator
- Deleted unused create_bucket module from main.rs

The changes streamline the codebase by removing unused bucket creation functionality while expanding the prompt file inclusion for better LLM context handling.
2025-11-04 10:20:48 -03:00
1e43c2c2e0 feat: update directory list in add-req.sh
Updated the directory list in add-req.sh to include previously commented-out directories and added new ones. The changes reflect a more complete set of project modules, including newly added ones like 'bootstrap', 'llm_models', and 'ui'. This ensures the script will process requirements for all current project components.
2025-11-04 09:30:21 -03:00
ff01e4ea4a feat(package_manager): add check_cmd to ComponentConfig and services
Added check_cmd field to ComponentConfig struct and implemented health check commands for all services including minio, postgres, valkey, stalwart, caddy, zitadel, forgejo, and forgejo-runner. This allows for proper health monitoring of each service. Also updated IDE guidelines to prohibit magic values and defaults.
2025-11-04 09:25:03 -03:00
1957776f3a feat(ide): update code generation guidelines and improve component startup
- Refine IDE prompt to clarify identifier/character requirements in English
- Add info and debug logging for component startup process in bootstrap
- Fix PostgreSQL command formatting and improve output redirection
- Standardize Valkey command formatting and fix execution command
- Remove LLM server execution command (now handled separately)
- Clean up unused PostgreSQL status check code for tables component
2025-11-04 07:58:43 -03:00
90ea09de2d feat: check bucket existence before uploading templates
Only upload templates to Drive buckets if the bucket was just created. Skip upload if bucket already exists to avoid overwriting existing content.

- Change from always uploading to conditionally uploading based on bucket existence
- Add info log when skipping upload for existing buckets
- Maintain same upload behavior for newly created buckets
2025-11-04 07:07:39 -03:00
0ffe045215 chore(add-req): update active directories list for requirement generation
Enable automation, basic, config, context, session, kb, and tools directories while disabling bootstrap, file, and drive_monitor to refine which modules are processed by add-req.sh.
2025-11-04 07:03:20 -03:00
e5ac6b7051 docs: expand session management and add authentication section
Enhanced Chapter 1 documentation with detailed session architecture, storage layers, and API endpoints. Added new Part XI on authentication and security to SUMMARY.md, introducing chapters on user and bot authentication, password security, and API endpoints. Improves clarity and coverage of system interaction and security concepts.
2025-11-03 20:42:38 -03:00
ed70ae1e17 feat(session): add interaction tracking and history management
Added interaction count tracking for sessions with Redis or in-memory fallback. Implemented conversation history replacement functionality to compact and update message history. The changes include:
- New AtomicUsize counter in SessionManager for interaction tracking
- increment_and_get_interaction_count method with Redis support
- replace_conversation_history to update and compact message history
- Maintains existing functionality while adding new features
2025-11-03 17:22:54 -03:00
1f057c17c8 refactor(bot): remove legacy process_message method and its handling
The large `process_message` function was deleted from `src/bot/mod.rs`. Its responsibilities have been migrated to newer, more modular handlers, eliminating dead code and simplifying the BotOrchestrator. This refactor reduces complexity, improves maintainability, and aligns the codebase with the updated message processing architecture.
2025-11-03 15:22:08 -03:00
588cac89cc refactor(bot): restructure message handling and context flow
- Reformatted `update_session_context` call for better readability.
- Moved context‑change (type 4) handling to a later stage in the processing pipeline and removed early return, ensuring proper flow.
- Adjusted deduplication logic formatting and clarified condition.
- Restored saving of user messages after context handling, preserving message history.
- Added detailed logging of the LLM prompt for debugging.
- Simplified JSON extraction for `message_type` and applied minor whitespace clean‑ups.
- Overall code refactor improves maintainability and corrects context‑change handling behavior.
2025-11-03 15:20:53 -03:00
b420ea4f73 feat: implement message deduplication and LLM config improvements
- Deduplicate consecutive messages with same role in conversation history
- Add n_predict configuration option for LLM server
- Prevent duplicate message storage in session manager
- Update announcement schedule timing from 37 to 55 minutes
- Add default n_predict value in default bot config
2025-11-03 14:13:22 -03:00
aab87a8f0a feat(automation): improve cron matching and job locking
- Refactor cron matching to use individual variables for each time component with additional debug logging
- Replace SETEX with atomic SET NX EX for job locking in Redis
- Add better error handling and logging for job execution tracking
- Skip execution if Redis is unavailable or job is already held
- Add verbose flag to LLM server startup command for better logging
2025-11-03 13:52:28 -03:00
d20d08d2df feat: optimize suggestions and LLM server configuration
- Added duplicate filtering for suggestions in both backend (Rust) and frontend (JavaScript)
- Changed announcement summary schedule from every 15 minutes to hourly at :37
- Simplified LLM prompt for document summarization
- Updated LLM server configuration with reduced GPU layers and increased context size
- Removed memory mapping and lock settings for LLM server
- Improved HTML formatting and added missing newline at EOF
2025-11-03 13:38:55 -03:00
4dd3dac192 feat(announcements): add scheduled updates every 15 minutes
Added SET_SCHEDULE directive to run the update-summary script every 15 minutes. This ensures the announcements summary stays current by regularly fetching and processing the latest news document.
2025-11-03 13:18:40 -03:00
adda3bcea0 feat(llm): add model selection and response processing
Added support for selecting an LLM model based on configuration and processing the raw response. The execute_llm_generation function now:
1. Fetches the configured model using ConfigManager
2. Gets the appropriate handler for the model
3. Processes the raw response through the handler before returning

This provides more flexibility in model selection and allows for model-specific response handling.
2025-11-03 13:12:05 -03:00
40f0706abd feat(bot): add semantic caching and improve message handling
Enhances BotOrchestrator by integrating optional semantic caching via LangCache for faster LLM responses. Also refactors message saving to occur before and after direct mode handling, and simplifies context change logic for better clarity and flow.
2025-11-03 12:54:21 -03:00
82dea88188 feat: add trace logging, refactor bot streaming, add config fallback
- Added `trace!` logging in `bot_memory.rs` to record retrieved memory values for easier debugging.
- Refactored `BotOrchestrator` in `bot/mod.rs`:
  - Removed duplicate session save block and consolidated message persistence.
  - Replaced low‑level LLM streaming with a structured `UserMessage` and `stream_response` workflow, improving error handling and readability.
- Updated configuration loading in `config/mod.rs`:
  - Imported `get_default_bot` and enhanced `get_config` to fall back to the default bot configuration when the primary query fails.
  - Established a fresh DB connection for the fallback path to avoid borrowing issues.
2025-11-03 10:13:39 -03:00
9f62f6cb25 feat(ui): remove redundant styles and adjust theme toggle position
- Remove redundant background and filter properties from logo-icon and assistant-avatar
- Remove redundant filter property from light theme logo-icon
- Invert assistant-avatar image in light theme for better visibility
- Move theme-toggle button further right (60px to 160px) to prevent overlap
2025-11-03 08:34:32 -03:00
7ddadeedc8 refactor(automation, llm): simplify service init and prompt handling
- Remove `scripts_dir` from `AutomationService` and its constructor, as it was unused.
- Drop LLM and embedding server readiness checks; the service now only schedules periodic tasks.
- Increase the health‑check interval from 5 seconds to 15 seconds for reduced load.
- Streamline the LLM keyword prompt to a concise `"User: {}"` format, removing verbose boilerplate.
- Remove unnecessary logging and LLM cache handling code from the bot orchestrator, cleaning up unused environment variable checks and cache queries.
2025-11-03 08:23:03 -03:00
26c09b5695 feat(automation): add LLM server readiness check and improve user session handling
- Added LLM server readiness check in AutomationService before starting tasks
- Renamed `user` parameter to `user_session` in execute_talk for clarity
- Updated BotResponse fields to use user_session data instead of hardcoded values
- Improved Redis key generation in execute_talk to use user_session fields
- Removed commented Redis code in set_current_context_keyword

The changes ensure proper initialization of automation tasks by checking LLM server availability first, and improve code clarity by using more descriptive variable names for user session data.
2025-11-02 23:54:14 -03:00
49d6debc83 feat(automation): add unique constraint and refactor action execution
- Added UNIQUE constraint on system_automations (bot_id, kind, param) to prevent duplicate automations
- Refactored execute_action to accept full Automation struct instead of just param
- Simplified bot name resolution by using automation.bot_id directly
- Improved error handling in action execution with proper error propagation
- Removed redundant bot name lookup logic by leveraging existing bot_id
2025-11-02 20:57:53 -03:00
937dbfcc76 feat: add bot_id to system_automations and enhance schedule handling
- Introduced `bot_id` column in `system_automations` table (migration 6.0.0.sql) and updated the Diesel schema/model to include it.
- Adjusted migrations to remove the hard‑coded “Update Summary” automation and only create an index on the `name` column.
- Extended the `SET_SCHEDULE` keyword:
  - Added a second string argument for the script name.
  - Passed the invoking user's `bot_id` to the database layer.
  - Updated function signature to accept a full `UserSession` instead of discarding it.
- Modified `execute_set_schedule` to store `bot_id`, script name, and activation flag; added conflict handling on `(bot_id, param)` to update schedule and reset trigger state.
- Updated imports and logging to reflect new parameters.

These changes enable per‑bot automation management, allow specifying the script to run, and improve idempotent schedule updates.
2025-11-02 19:32:25 -03:00
a9062b6a9c feat(automation): update logging and script handling
- Update RUST_LOG environment variable in launch.json to exclude more verbose crates
- Change automation kind from 3 to 0 in migrations/6.0.5.sql
- Replace debug with trace logging for schedule evaluation in automation service
- Modify script path resolution to use .ast extension instead of .bas
- Improve error message when script reading fails
- Remove MinIO download fallback for scripts (simplifying script handling)

These changes improve logging verbosity control and simplify script handling by removing the MinIO fallback mechanism. The trace-level
2025-11-02 19:03:52 -03:00
993049dcb8 feat: enforce config load errors and add dynamic LLM model handling
- Updated `BootstrapManager` to use `AppConfig::from_env().expect(...)` and `AppConfig::from_database(...).expect(...)` ensuring failures are explicit rather than silently ignored.
- Refactored error propagation in bootstrap flow to use `?` where appropriate, improving reliability of configuration loading.
- Added import of `llm_models` in `bot` module and introduced `ConfigManager` usage to fetch the LLM model identifier at runtime.
- Integrated dynamic LLM model handler selection via `llm_models::get_handler(&model)`.
- Replaced static environment variable retrieval for embedding configuration with runtime
2025-11-02 18:36:21 -03:00
03c8fb14e7 feat(llm): add cancel_job support and integrate session cleanup
Introduce a new `cancel_job` method in the `LLMProvider` trait to allow cancellation of ongoing LLM tasks. Implement no-op versions for OpenAI, Anthropic, and Mock providers. Update the WebSocket handler to invoke job cancellation when a session closes, ensuring better resource management and preventing orphaned tasks. Also, fix unused variable warning in `add_suggestion.rs`.
2025-11-02 15:13:47 -03:00
cded41d305 feat(keywords): add CLEAR_SUGGESTIONS command and implement in dialog
Added new CLEAR_SUGGESTIONS keyword command that clears user suggestions from Redis cache. Implemented the command in the announcements dialog start script to prevent duplicate suggestions. The command handles Redis connection errors gracefully and logs appropriate debug information.
2025-11-02 14:21:38 -03:00
f2b90e168c feat(logging): replace debug with trace for verbose operations
Changed debug logging to trace level for Redis suggestion operations and drive monitor object listings. This better reflects the verbosity level of these operations since they are more detailed debugging information. Also updated "Redis client" to "Cache client" in a debug message for consistency with the broader cache abstraction.
2025-11-02 14:16:35 -03:00
aa02defb56 feat(automation): improve logging and bot path resolution
- Updated RUST_LOG environment variable in launch.json to include more detailed debug logging configuration
- Changed trace! logs to debug! in AutomationService for better visibility
- Replaced environment variable usage with get_default_bot helper function
- Improved bot path resolution by using bot name from database
- Added error handling for bot name query
- Simplified S3 bucket name generation using get_default_bot
- Removed unused imports and environment variable dependencies
2025-11-02 14:08:49 -03:00
8adb35b9c5 feat: include context length info in BotResponse messages
Add `context_length` and `context_max_length` fields to the `BotResponse` struct across the codebase.
Initialize these fields with default values (0) for existing response constructions and populate them using `ConfigManager` to retrieve the configured maximum context size for each bot.
Import `ConfigManager` in `bot/mod.rs` to access configuration.
These changes enable tracking of the current and maximum context sizes in bot responses, supporting future features that rely on context management.
2025-11-02 12:46:37 -03:00
d568b89d51 feat: simplify message content in hear_talk function
Removed the redundant "I heard: " prefix from the message content in the execute_talk function. The message is now stored as-is without additional formatting, making it more straightforward and consistent with other message handling.
2025-11-02 12:28:07 -03:00
0034c205ae feat(ui): update design system with new theme and visual enhancements
- Replace Orbitron/Inter fonts with Space Grotesk/JetBrains Mono
- Implement new color scheme with primary, secondary, and accent variables
- Add radial gradient background with animated glow effects
- Introduce grain overlay for texture
- Redesign sidebar with improved transitions and blur effects
- Update empty state styling and remove neon effects
- Optimize layout spacing and shadows
- Streamline API call in chat initialization

The changes modernize the UI with a more cohesive design language, better visual hierarchy, and improved readability while maintaining functionality. The new theme features a dark color palette with vibrant accents and subtle textures for depth.
2025-11-02 11:13:40 -03:00
6979c779c0 feat: add styled suggestion buttons and move them from messages to footer
Added new CSS classes for suggestion buttons and container, moving them from message content to footer. Removed inline styles in favor of CSS classes for better maintainability. The suggestions now appear at the top of the footer with consistent styling and hover effects.
2025-11-02 11:01:36 -03:00
ade7a2d99b feat(ui): improve suggestion handling and input clearing
Enhanced suggestion handling to include empty state in message selection and improved UX by:
- Clearing input field after selecting a suggestion
- Adding selected suggestion as user message to chat
- Maintaining all existing functionality while simplifying the flow

Changes ensure more intuitive user interaction with suggestions while keeping the chat interface clean.
2025-11-02 10:51:42 -03:00
2fb944c936 feat: refactor Redis operations to synchronous in add_suggestion
Changed async Redis operations to synchronous in add_suggestion_keyword function. Removed unnecessary async/await and tokio::spawn since the operations are now blocking. This simplifies the code while maintaining the same functionality of storing suggestions and context state in Redis. Error handling remains robust with proper early returns.
2025-11-02 10:45:57 -03:00
ac12f186ef feat: simplify Redis key format and clean up code
- Remove comments from launch.json configuration
- Simplify Redis key format in set_current_context_keyword by removing context_name
- Remove unused /api/start endpoint and related session start logic
- Change log level from info to trace for config sync messages
- Add trace logging to drive_monitor module

The changes focus on code cleanup and simplification, particularly around session handling and logging. The Redis key format was simplified as the context_name was deemed unnecessary for uniqueness.
2025-11-02 07:50:57 -03:00
3972863911 refactor(state): rename resource clients and improve keyword syntax
Updated references from `redis_client`, `s3_client`, and `custom_conn` to unified names `cache`, `drive`, and `conn` for consistency across modules. Adjusted `add_suggestion_keyword` to use clearer parameter naming and enhanced custom syntax registration for better readability and maintainability.
2025-11-01 20:53:45 -03:00
887204e544 feat(auth): add bot name lookup and suggestion support in bot responses
Implemented a new `bot_from_name` method in `AuthService` to retrieve a bot's UUID by its name, enabling explicit bot selection via a `bot_name` query parameter in the authentication endpoint. Updated `auth_handler` to prioritize this parameter, fall back to the first active bot when necessary, and handle cases where no active bots exist.

Extended `BotOrchestrator` to import the `Suggestion` model and fetch suggestion data from Redis for each user session. Integrated these suggestions into the `BotResponse` payload, ensuring clients receive relevant suggestions alongside bot messages.

These changes improve bot selection flexibility and enrich the response data with contextual suggestions.
2025-11-01 17:56:53 -03:00
40fed6baaf refactor(bot): reorganize imports, improve logging and formatting
- Reordered and deduplicated `use` statements, adding missing imports for `langcache`, `DriveMonitor`, `generate_embeddings`, `Qdrant` client, and `chrono::Utc`.
- Moved Diesel prelude import into the function scope where it is used to limit its visibility.
- Refactored async task spawning to handle errors more clearly and consistently.
- Enhanced string formatting for bucket names and log messages, introducing multiline `warn!` and `error!` calls for better readability.
- Applied consistent code style (spacing, line breaks) across the module to improve maintainability.
2025-11-01 15:16:43 -03:00
2e9fb67ac3 feat(drive_monitor): restart LLaMA servers on llm- config changes
Add logic to detect changes in llm-related configuration properties when syncing gbot configs. If any llm- keys differ from stored values, automatically restart LLaMA servers to apply updates. This ensures model servers stay in sync with configuration changes without unnecessary restarts.
2025-11-01 14:23:40 -03:00
588220d7ac refactor(config): replace raw SQL with Diesel query for bot config
Updated `ConfigManager::get_config` to use Diesel query builder instead of raw SQL for improved safety and maintainability. Adjusted parameter naming and integrated schema references. Also refactored `ensure_llama_servers_running` to fetch configuration from the database using `AppState` and `ConfigManager`. Removed unused imports in bootstrap module.
2025-11-01 11:48:46 -03:00
377d9837c3 feat: remove unused bot config update logic from bootstrap
The commit removes the unused bot configuration update functionality from the bootstrap manager. This includes:
1. Removing the fallback logic in component installation that would update bot configs
2. Removing the entire update_bot_config method which was used to insert/update configuration values

The code was likely removed because this functionality is no longer needed or has been moved elsewhere in the codebase. The removal simplifies the bootstrap process by eliminating unused database operations.
2025-11-01 09:50:28 -03:00
18713072ad feat: add bot ID to DriveMonitor and simplify config sync
- Added bot_id parameter to DriveMonitor::new() and pass it through BotOrchestrator
- Modified DriveMonitor to store bot_id as a field
- Simplified ConfigManager::sync_gbot_config() to accept content directly instead of file path
- Removed file reading logic from sync_gbot_config
- Cleaned up logging messages in config sync
- Improved error handling and logging in DriveMonitor's gbot check

These changes better associate monitoring with specific bots and make the config sync more flexible by accepting content directly rather than requiring a file path.
2025-11-01 09:38:15 -03:00
a8286092a1 feat(config): refactor config loading and remove unused code
- Removed database-based config loading from server_configuration table
- Simplified AppConfig::from_database to use empty HashMap since config is now loaded from bot_configuration table via drive_monitor
- Removed unused load_config_from_db function
- Removed config sync hash checking logic from ConfigManager
- Cleaned up config update logic in ConfigManager

The changes reflect the shift to loading configuration from the bot_configuration table instead of server_configuration, removing now-unused code paths and simplifying the configuration loading process.
2025-11-01 09:18:02 -03:00
4ece2e3bf3 feat(config): refactor AI config into separate LLM and embedding configs
- Split AIConfig into separate LLMConfig and embedding config structs
- Update create_site.rs to use config.llm instead of config.ai
- Improve config loading comments in bootstrap manager
- Add new LLM-related environment variables with defaults
- Maintain backward compatibility with existing config loading
- Clean up unused AIConfig struct and related code

The change better organizes the AI-related configuration by separating LLM and embedding configurations, making the code more maintainable and flexible for future AI service integrations.
2025-11-01 08:43:14 -03:00
d0ce299b79 feat: cleanup unused imports in bootstrap module
- Remove unused diesel::Connection import
- Rename unused database_url variable to _database_url
- Mark unused config parameter in upload_templates_to_drive with underscore
- Maintain same functionality while cleaning up compiler warnings
2025-11-01 07:25:36 -03:00
1c80c026d2 feat: refactor database connection handling and add LLM component
- Replace direct database connection establishment with shared `establish_pg_connection` utility
- Add "llm" to required components list in bootstrap manager
- Lower default RUST_LOG level from debug to info in VSCode config
- Clean up imports and connection error messages
- Remove hardcoded database URL strings in favor of centralized connection handling

The changes improve code maintainability by centralizing database connection logic and adding support for the new LLM component in the bootstrap process.
2025-11-01 07:20:04 -03:00
01351f60fd feat(auth): add suggestion support and clean up code
- Added new ADD_SUGGESTION keyword handler to support sending suggestions in responses
- Removed unused env import in hear_talk module
- Simplified bot_id assignment to use static string
- Added suggestions field to BotResponse struct
- Improved SET_CONTEXT keyword to take both name and value parameters
- Fixed whitespace in auth handler
- Enhanced error handling for suggestion sending

The changes improve the suggestion system functionality while cleaning up unused code and standardizing response handling.
2025-10-31 20:55:13 -03:00
02b8f6e4cf Merge pull request #445 from ChristopherCastilho/main
Add_suggestion fix
2025-10-31 16:05:24 -03:00
5ca9cfc62a Merge branch 'main' into main 2025-10-31 16:05:14 -03:00
45eb6c99b5 feat: capture Redis RPUSH length and log HSET result for suggestions
Changed the Redis RPUSH command to return the new list length (`Result<i64, RedisError>`) and added a debug log that includes this length. Updated the HSET command to capture its result (`Result<i64, RedisError>`), logging the number of fields added on success and handling errors explicitly. Removed unnecessary `unwrap_or_else` and added comments to clarify behavior, improving observability and error handling for suggestion storage.
2025-10-31 15:58:54 -03:00
5c4245f9b2 feat(auth): refactor authentication handler and update logging
- Changed RUST_LOG level from 'trace' to 'debug' in VSCode launch config
- Simplified auth handler by removing direct bot ID lookup logic
- Added HttpRequest parameter to auth handler
- Implemented bot_from_url helper for bot identification
- Updated auth script path to use bot-specific directory structure
- Removed unused warn import
- Improved error handling for auth script reading and execution

The changes streamline the authentication process by:
1. Moving bot identification to a dedicated helper function
2. Making the auth script path dynamic based on bot name
3. Reducing log verbosity in development
4. Cleaning up unused imports and code
2025-10-31 15:40:52 -03:00
3302295538 feat: simplify bot name handling and improve logging
- Added RUST_LOG=trace to VSCode debug configurations for better debugging
- Removed unused imports (uuid, Selectable, SelectableHelper) from bootstrap module
- Simplified bot name handling by removing name formatting logic, using raw bot folder names
- Renamed check_default_gbot to check_gbot for consistency
- Improved logging format in drive monitor initialization
- Fixed S3 bucket reference in bootstrap manager (removed 'templates/' prefix)
2025-10-31 07:30:37 -03:00
3814276b31 Refactor BotOrchestrator for async bot mounting
* Introduced async mounting
2025-10-30 21:02:44 -03:00
16d2eacbad feat(bot, bootstrap): add bot mounting and improve DB handling
Introduce bot mounting logic in `BotOrchestrator` to load and manage active bots from the database. Enhance `BootstrapManager` by refining Diesel query usage and connection handling for better reliability and maintainability.
2025-10-30 18:48:16 -03:00
1f10a69644 feat: remove LLM configuration defaults migration
The migration file 6.0.6.sql was deleted as it contained default LLM server configurations that are no longer needed. The file was originally used to set up local LLM server settings including model paths and URLs, but these configurations are now handled differently in the system.
2025-10-30 17:36:15 -03:00
f8e2c3f94b feat(config): remove default server config and update database credentials
Removed the default server configuration section from migrations as these values should now be managed through environment variables. Updated default database username from 'postgres' to 'gbuser' in bootstrap and changed default database name from 'gbuser' to 'botserver' in config to align with the removed server configuration defaults.
2025-10-30 17:32:21 -03:00
dcfce44b91 feat(suggestions): enhance suggestion handling and context management in WebSocket 2025-10-30 14:53:06 -03:00
d4db358850 feat(bootstrap): add CSV config loading and improve legacy mode handling
Added functionality to load configuration from CSV files in S3 when available, with fallback to existing methods. The changes include:

1. Added new `load_config_from_csv` method to handle CSV config loading
2. Improved legacy mode handling by attempting CSV load before falling back to database
3. Added new dependencies (uuid, Arc, Mutex) for config management
4. Enhanced error handling and logging for config loading scenarios

The changes maintain backward compatibility while adding the ability to load configurations from CSV files stored in S3, which provides more flexibility in configuration management.
2025-10-30 13:29:46 -03:00
f52aad931a feat: remove default config.csv upload from bootstrap
Removed the automatic upload of default config.csv to S3 during bootstrap initialization. This functionality was previously uploading a local config file to the S3 bucket 'default.gbai/default.gbot' if the file existed. The change simplifies the bootstrap process by removing this implicit behavior.
2025-10-30 13:18:23 -03:00
f18b35d5b6 feat(config): add drive config persistence to .env file
Added functionality to write drive configuration (MinIO settings) to a .env file when the AppConfig is created. The new write_drive_config_to_env function handles the file operations and logs warnings if the write fails. This change ensures drive configuration is persisted for future use while maintaining backward compatibility.
2025-10-30 13:14:06 -03:00
31d65bcfd9 refactor: clean up S3 client creation and imports in bootstrap module
- Renamed unclear function `c` to more descriptive `create_s3_operator`
- Removed duplicate `create_s3_operator` function implementation
- Consolidated imports from aws_sdk_s3 and diesel crates
- Removed unused import `aws_s3_bucket_create`
- Improved code formatting and organization

The changes make the code more maintainable by removing duplication and improving clarity while maintaining the same functionality.
2025-10-30 13:05:35 -03:00
8efe3ec9eb feat(s3): Finally improve directory upload with proper path handling
- Added bucket parameter to upload_directory_recursive for explicit bucket specification
- Improved key construction logic to handle path prefixes more robustly
- Removed redundant trace logs and added more informative upload messages
- Fixed potential issue with bucket name extraction from prefix
- Ensured consistent path separator handling in S3 keys

The changes make the S3 upload functionality more reliable and maintainable by:
1. Explicitly passing bucket names instead of extracting from prefixes
2. Properly handling path separators in S3 keys
3. Providing clearer logging for upload operations
2025-10-30 12:52:21 -03:00
cad94939c3 feat: replace opendal with AWS SDK for S3 operations
- Added AWS SDK S3 dependencies including aws-config, aws-sdk-s3, and related crates
- Removed opendal dependency and replaced with AWS SDK S3 client
- Implemented new get_file_content helper function using AWS SDK
- Updated MinIOHandler to use AWS SDK client instead of opendal Operator
- Modified file change detection to work with AWS SDK's S3 client

The change was made to standardize on AWS's official SDK for S3 operations, which provides better maintenance and feature support compared to the opendal crate. This also aligns with AWS best practices for interacting with S3 services.
2025-10-30 12:35:25 -03:00
7a0241019d Merge branch 'main' of https://github.com/ChristopherCastilho/botserver 2025-10-30 09:09:42 -03:00
866fe9049f feat(keywords): add suggestion keyword to ScriptService initialization 2025-10-30 09:09:15 -03:00
859ab83aa5 Merge branch 'GeneralBots:main' into main 2025-10-29 18:55:20 -03:00
414575a1ec feat(keywords, ui): add suggestion module and UI for context switching
Added new `add_suggestion` module to support suggestion handling logic.
Updated `index.html` to include a dynamic suggestions container that fetches and displays context suggestions.
This improves user experience by enabling quick context changes through interactive suggestion buttons.
2025-10-29 18:54:33 -03:00
5de056a353 feat(bootstrap): improve bucket creation and error handling logic
Enhance the bucket creation process in `BootstrapManager` to handle existing buckets gracefully. Adds logic to reuse the default template when a bucket already exists and ensures proper path formatting before creation. This improves reliability and prevents redundant bucket creation errors.
2025-10-29 14:49:25 -03:00
122e455909 feat(bootstrap): upload default config and improve S3 setup
Add logic to automatically upload an initial `config.csv` to the default S3 bucket during bootstrap. Enhance S3 operator creation by ensuring endpoint formatting, setting default bucket and region, and enabling path style. Improve template upload flow by validating bucket existence and creating it if missing. Also include debug logging for better traceability.
2025-10-29 14:16:11 -03:00
b617659b74 Merge branch 'main' of https://github.com/ChristopherCastilho/botserver 2025-10-29 10:25:45 -03:00
7b4e7bc800 refactor(config): remove unused S3 bucket configuration and setup logic
Eliminates the `s3_bucket` field from `AppConfig` and deletes related initialization code in `main.rs`. This simplifies configuration management since S3 bucket handling is no longer required or used in the application.
2025-10-29 09:54:39 -03:00
4d14131acf feat(storage): add S3 bucket existence check during startup
Introduces an async helper function to verify and create the configured S3 bucket if missing. This ensures the application has a valid storage target before initializing the drive, improving reliability in environments with dynamic bucket provisioning.
2025-10-28 21:33:09 -03:00
149f537485 fix(installer): update MinIO setup to use admin user creation
Replaces hardcoded alias setup with commands that create and configure a MinIO admin user, ensuring proper authentication and permissions during installation.
2025-10-28 21:16:25 -03:00
37c03fa55c feat(bootstrap): add env check and improve config update logic
Introduce environment existence check to prevent redundant bootstrap runs and ensure smoother startup. Refactor `update_bot_config` to use globally unique config keys and atomic updates for better data consistency.
2025-10-28 21:06:31 -03:00
d39e25e524 feat(config): refresh environment before establishing DB connection
Reload configuration from environment to ensure latest DATABASE_URL and credentials are used before creating the database connection. This prevents stale config values when environment variables change.
2025-10-28 20:48:28 -03:00
5d32bb13b8 feat(bootstrap): associate bot configuration updates with bot ID
Add logic to retrieve a default bot ID from the database and pass it to `update_bot_config`, ensuring configuration entries are linked to a specific bot. Updated SQL queries to include `bot_id` and `id` fields for consistency and improved data integrity.
2025-10-28 20:41:21 -03:00
eb4907e93b Fix installer: write DATABASE_URL after DB creation and append drive credentials later; update drive credentials only after DB ready 2025-10-28 20:39:14 -03:00
ab8a8b3263 - Docs updated. 2025-10-28 19:47:29 -03:00
930c47f705 - Migration to Open ADAL. 2025-10-28 14:53:45 -03:00
b7449f45fb - Migration to Open ADAL. 2025-10-28 14:20:55 -03:00
e517dfec48 - Migration to Apache OpenDAL. 2025-10-28 14:00:52 -03:00
4bba9cb268 refactor: update building instructions to include additional dependencies for improved compatibility 2025-10-28 13:04:04 -03:00
978d7c3e3a refactor: remove aws-config dependency from Cargo.toml 2025-10-28 12:45:28 -03:00
5d381df0ea refactor: update directory inclusion in add-req.sh and fix-errors.sh for clarity 2025-10-28 12:44:28 -03:00
ff770e593f Refactor dependencies in Cargo.toml and update start.bas dialog
- Removed unused Tauri dependencies and replaced aws-sdk-s3 with opendal for S3 services.
- Cleaned up feature flags in Cargo.toml.
- Simplified the welcome message logic in start.bas and removed redundant comments.
2025-10-28 12:07:14 -03:00
d32c78abd0 refactor: comment out unused directories in add-req.sh for clarity 2025-10-28 11:35:25 -03:00
f46131599e Merge branch 'main' into main 2025-10-28 07:18:56 -03:00
f6385d0218 refactor: update configuration prefix to 'pragmatismo-' and add CLI example format 2025-10-27 18:32:36 -03:00
4aeea51c0a refactor: remove unused dev-start script and clean up code formatting in mod.rs 2025-10-26 21:47:20 -03:00
ca87e5e896 fix: update required components and correct exec command path in PackageManager 2025-10-26 20:50:37 -03:00
00cf19b195 fix: update file paths to use correct directory for HTML files 2025-10-26 18:49:11 -03:00
17918ba41b refactor: remove unnecessary post-install commands for Linux in PackageManager 2025-10-26 18:42:34 -03:00
4180c5412b feat: add data download list to ComponentConfig and implement file downloading
- Added `data_download_list` field to `ComponentConfig` struct in `component.rs`.
- Implemented processing of `data_download_list` in the `PackageManager` to download files asynchronously in `facade.rs`.
- Updated `installer.rs` to initialize `data_download_list` for various components.
- Refactored `download_file` function in `utils.rs` to return `anyhow::Error` for better error handling.
2025-10-26 18:26:19 -03:00
10b7beeae1 - Termination procedure optional. 2025-10-26 17:13:58 -03:00
f36f6b974c Update download_file function to set a custom user agent for HTTP requests 2025-10-26 16:00:41 -03:00
9eaf4ceb52 Remove unused aws_config import from bootstrap module 2025-10-26 15:40:46 -03:00
ccb83ae67e Refactor AWS SDK configuration in bot update logic and fix comment typos 2025-10-26 15:40:29 -03:00
48eec70e74 Add AWS SDK integration and update bot configuration management
- Introduced AWS SDK dependencies for S3 and CSV handling.
- Implemented logic to check and update the default bot configuration in S3 after component installation.
- Added a new configuration CSV template for bot settings.
- Refactored package manager to register cache component with updated download URL and binary name.
- Updated README and Cargo files to reflect new dependencies and configuration options.
2025-10-26 14:15:43 -03:00
b6167d8d54 Refactor script tags in HTML files to remove type="module" and update welcome page with authentication logic and styles 2025-10-26 08:07:14 -03:00
59232a5bfa Add About and Login pages with responsive design and user authentication
- Created a new About page (index.html) detailing the BotServer platform, its features, and technology stack.
- Developed a Login page (login.html) with sign-in and sign-up functionality, including form validation and user feedback messages.
- Removed the empty style.css file as it is no longer needed.
2025-10-26 00:02:19 -03:00
8e775cdacb Update documentation to reflect transition from Qdrant to VectorDB, including caching, indexing, and semantic search sections. Add comprehensive overview for Chapter 03. 2025-10-25 20:28:40 -03:00
a50cce7f27 Add templates for authentication, enrollment, and greeting flows with detailed explanations and examples 2025-10-25 16:51:03 -03:00
1056a65dd6 Revise documentation in Chapter 01 to improve clarity and structure, including updates to the installation instructions and session management overview. 2025-10-25 15:59:06 -03:00
e43638d55b Revise FORMAT keyword documentation to enhance clarity and structure, including examples and practical tips for usage. 2025-10-25 15:00:46 -03:00
892d20440e Add comprehensive documentation for GeneralBots, including keyword references, templates, and user guides
- Created detailed markdown files for keywords such as HEAR, TALK, and SET_USER.
- Added examples and usage notes for each keyword to enhance user understanding.
- Developed templates for common tasks like enrollment and authentication.
- Structured documentation into chapters covering various aspects of the GeneralBots platform, including gbapp, gbkb, and gbtheme.
- Introduced a glossary for key terms and concepts related to GeneralBots.
- Implemented a user-friendly table of contents for easy navigation.
2025-10-25 14:50:14 -03:00
dff1021bb4 Refactor BotOrchestrator to remove in-memory cache and implement LangCache for user input responses 2025-10-25 11:18:05 -03:00
9c77bd2b87 Add caching mechanism to BotOrchestrator for user input responses 2025-10-24 23:36:16 -03:00
2f08fa085e Refactor installer to remove app user credentials and streamline environment variable setup 2025-10-24 22:36:49 -03:00
ccf0a4f7e6 Update exec_cmd in post_install_cmds_linux to include wait and timeout options 2025-10-24 15:44:50 -03:00
503b5e5b8e Enhance package manager to generate and store drive credentials in .env file 2025-10-24 15:39:27 -03:00
866a17f40e Update .gitignore to include logfile patterns 2025-10-24 13:49:01 -03:00
6a6465c1bd Revert "Implement token-based context usage in chat UI"
This reverts commit 82aa3e8d3677f0526f722d23c15340147da3d319.
2025-10-24 11:17:22 -03:00
bf3ea1ddd3 Implement token-based context usage in chat UI
- Replace simple message count with token-based calculation
- Add token estimation function (4 chars ≈ 1 token)
- Set MAX_TOKENS to 5000 and MIN_DISPLAY_PERCENTAGE to 20
- Update context usage display to show token count percentage
- Track tokens for both user and assistant messages
- Handle server-provided context usage as ratio of MAX_TOKENS
2025-10-23 16:33:23 -03:00
be971fb082 Add Windows post-install commands for MinIO
Add curl command to download MinIO client for Windows and configure
MinIO client with admin user and policy.

Also add powershell commands to install Valkey on Windows.
2025-10-22 09:25:16 -03:00
54c29e01a5 Add LLM configuration defaults 2025-10-21 23:10:28 -03:00
86afb49967 Switch cache install to Redis build from source 2025-10-21 22:51:46 -03:00
dc3d9b44b1 Enable template bot creation and fix bot schema 2025-10-21 22:43:28 -03:00
9760f57653 - New web assets for 6.0.5. 2025-10-20 23:44:47 -03:00
b96396c4bb - More automation from start to web, user sessions. 2025-10-20 23:32:49 -03:00
39f5571240 Support legacy bootstrap and update installer 2025-10-20 20:21:31 -03:00
0a9fddc145 Add new KB and session association tables 2025-10-20 19:49:54 -03:00
cd91d011f4 Refactor config loading and DB URL parsing 2025-10-20 16:52:08 -03:00
98fb2be981 Add include_dir dependency and use it for embedded migrations
Use include_dir to embed migration scripts and load them at runtime.
This change allows for easier management and versioning of migrations.
2025-10-20 09:42:07 -03:00
66f5d2d8de Update PostgreSQL installer commands
Add build command before running cargo Update PostgreSQL installation
commands to use relative paths

Update Linux and macOS installation commands to use `chmod +x ./bin/*`
instead of `chmod +x bin/*`
2025-10-20 07:50:51 -03:00
a593d68ff3 Remove tables install from bootstrap
The tables component is now installed by default. The install command no
longer installs it as part of the bootstrap process.
2025-10-20 07:34:06 -03:00
436bff1e76 Add indicatif for progress bars and enhance bootstrap
----------------------------------------------------------------
2025-10-19 19:28:08 -03:00
d675e84357 Add await to bootstrap start_all call
Fixes the asynchronous bootstrap process by properly awaiting the
start_all method, ensuring all services are started before proceeding.
2025-10-19 15:42:13 -03:00
fe198c1eea Add method to start all components
Implement a new method `start_all` in `BootstrapManager` to start all
components using the `PackageManager`.

This method creates a new `PackageManager` instance and uses it to start
each component in a predefined list.

--- Add remove_local for PackageManager

Remove component specific code

The specific code for component 'tables' has been removed from the
`remove_local` method in `PackageManager`.

The method now simply removes the binary directory for the component.

--- Implement start for PackageManager

Add a new method `start` to `PackageManager` to start a component.

This method takes a component name as an argument and uses the
`exec_cmd` for that component to spawn a new process.

If the component is not found, it returns an error.
2025-10-19 15:03:27 -03:00
466203735f - Tables is installing. 2025-10-19 14:02:47 -03:00
8eeb2ff43c Add package manager CLI and component system
Implement core package manager with component configuration, installer
logic, OS detection, and a command‑line interface for install, remove,
list, and status operations.
2025-10-19 11:08:35 -03:00
d39454b86f Refactor bootstrap and package manager, add ureq
- Split package manager into separate modules
- Expose only the installer API
- Simplify BootstrapManager to install components and load config
- Pin ureq to 3.1.2 and add ureq‑proto crate
- Clean up configuration code and remove legacy comments
- Update helper scripts and server start command formatting
2025-10-19 11:08:23 -03:00
a1afbbf4f5 Update password generator to new Rand API
Replace `thread_rng` with `rng` and use `random_range` for character
selection. Rename the `component` argument to `_component` in
`PackageManager::download_binary` to suppress an unused‑parameter
warning.
2025-10-18 22:26:42 -03:00
b771faca91 - Postgres updated to 18. 2025-10-18 22:25:59 -03:00
4a2dc49dba - New bootstrap engine. 2025-10-18 19:08:00 -03:00
09b57aafa0 - Knowledge management. 2025-10-18 18:20:02 -03:00
098c6464e3 - Added logic to Knowledge management. 2025-10-18 18:19:08 -03:00
8a4ccff5de - Refactoring bot package. 2025-10-18 12:03:07 -03:00
8237d9304b - Refactor in bot package. 2025-10-18 12:01:39 -03:00
34c2477ee6 - Added component management. 2025-10-18 09:26:48 -03:00
2ab4d25853 Merge branch 'main' of github.com:GeneralBots/BotServer 2025-10-17 20:35:50 -03:00
bb6ecd457c Refactor: remove custom template and add dev-start 2025-10-17 20:32:25 -03:00
87bebd1fd8 Merge pull request #441 from ChristopherCastilho/main
Add trace logging to AutomationService and increase timeout values in LLM commands
2025-10-17 18:51:29 -03:00
9eb8f8f57f Add scroll-to-bottom button and context usage indicator with styling improvements 2025-10-17 15:12:19 -03:00
2be85773ab Add trace logging to AutomationService and increase timeout values in LLM commands 2025-10-17 13:11:49 -03:00
ee5184fefb Remove sqlite support and switch auth to POST 2025-10-16 16:49:23 -03:00
f916f3469b Merge branch 'main' of github.com:GeneralBots/BotServer 2025-10-16 14:43:24 -03:00
09a9c8f3cd Enhance bot memory and Redis guards
- Derive bot_id from BOT_GUID env var
- Guard concurrent runs with Redis
- Read CACHE_URL for Redis connection
- Extend bot memory keyword to accept comma as separator
- Increase LLM timeouts to 180s (local and legacy)
- Update templates to use bot memory (GET_BOT_MEMORY/SET_BOT_MEMORY)
- Fix start script path to announcements.gbai
2025-10-16 14:22:28 -03:00
5f50e3c410 Update issue templates 2025-10-16 11:45:31 -03:00
acd664245b Migrate automations to param and sqlite
- Rename script_name to param in automation flow and DB schema
- Add BotMemory model and bot_memories table
- Remove script_name field from automation
- Enable sqlite support via rusqlite and related crates (optional)
- Update prompts and queries to use param instead of script_name
- Remove deprecated annoucements GBai templates and align add-req.sh
- Refactor main to initialize automation service and simplify startup
2025-10-16 11:43:02 -03:00
95456e90dd Add dev prompts for keyword, model, and service 2025-10-16 08:04:13 -03:00
f3813951c8 Delete dev prompt files and update shared rules
Add rule to shared.md to output only modified files in a .sh script
Remove obsolete dev prompt markdown files
2025-10-16 08:04:06 -03:00
8c68b9c3dc Remove unnecessary mut from response_channels 2025-10-16 07:56:57 -03:00
7a583b1a64 Refactor TALK keyword to use try_send
Remove unnecessary async spawn in TALK handling and use `try_send` on
the WebSocket channel. Acquire `response_channels` with `try_lock` and
spawn an async task only when falling back to the web adapter. Clean up
debug logs and add missing `env` import. Also delete an extra blank line
in the announcement start script.
2025-10-15 22:39:04 -03:00
4ead626a90 Refactor LLM parsing and overhaul connection UI
- Strip content up to the “final<|message|>” token in OpenAI responses.
- Replace the text‑based connection‑status indicator with a small
  flashing circle.
- Simplify updateConnectionStatus to take only the status argument.
- Remove special handling of the initial assistant message and
  streamline empty‑state removal.
- Clean up stray blank lines in the announcement template.
2025-10-15 22:24:04 -03:00
d584f8dfc3 Refactor async GET and LLM, add connection UI
- Execute GET requests in a dedicated thread with its own Tokio runtime,
  add timeout handling and clearer error messages.
- Tighten `is_safe_path` checks and simplify HTTP/S3 logic.
- Change `llm_keyword` to accept `Arc<AppState>`, add prompt builder,
  run LLM generation in an isolated thread with timeout.
- Update keyword registration call in `basic/mod.rs`.
- Convert template script to use `let` declarations and return a
  boolean.
- Introduce connection‑status indicator in the web UI with styles,
  automatic reconnection attempts, and proper WS/WSS handling for voice.
2025-10-15 21:18:01 -03:00
0ef45eafe3 Remove unused warn logger import 2025-10-15 19:13:40 -03:00
872ff5913f Refactor GET keyword with blocking execution
- Replace async task spawning with `block_in_place` to simplify GET
  handling
- Add detailed safety checks for file paths and organization prefixes
- Introduce timeout and keep‑alive settings for HTTP client
- Improve S3 bucket access with existence check, timeouts, and richer
  logging
- Switch tracing logs to debug and add warning logs where appropriate
- Update announcement template to retrieve a PDF, generate a resume via
  LLM, and set context for subsequent queries.
2025-10-15 13:13:27 -03:00
bb9c733fd5 - GET ketyowrd for buckets. 2025-10-15 12:45:15 -03:00
0774251449 - Fix on the web presentation. 2025-10-15 10:37:04 -03:00
e77362e09a Refactor LLM flow, add prompts, fix UI streaming
- Extract LLM generation into `execute_llm_generation` and simplify
  keyword handling.
- Prepend system prompt and session context to LLM prompts in
  `BotOrchestrator`.
- Parse incoming WebSocket messages as JSON and use the `content` field.
- Add async `get_session_context` and stop injecting Redis context into
  conversation history.
- Change default LLM URL to `http://48.217.66.81:8080` throughout the
  project.
- Use the existing DB pool instead of creating a separate custom
  connection.
- Update `start.bas` to call LLM and set a new context string.
- Refactor web client message handling: separate event processing,
  improve streaming logic, reset streaming state on thinking end, and
  remove unused test functions.
2025-10-15 01:14:37 -03:00
60ee933769 Add async Redis context storage and session fetch
- Use `tokio::spawn` to run Redis SET for `SET_CONTEXT` in a background
  task with detailed tracing.
- Move context retrieval from `BotOrchestrator` to `SessionManager`,
  inserting it as a system message in conversation history.
- Remove redundant Redis fetch logic from `BotOrchestrator`.
- Update `DEV.md` to install `valkey-cli`, reorder cargo tools, and
  adjust apt commands.
- Add a `SET_CONTEXT "azul bolinha"` example to the announcements
  template.
2025-10-15 00:01:48 -03:00
a88a1613a1 - Fixing ngl param. 2025-10-14 17:02:11 -03:00
9e9db27bca - Fixing parameters for llama.cpp. 2025-10-14 17:00:00 -03:00
3f85f95af4 - Fine tunning GTP OSS 20B. 2025-10-14 16:57:50 -03:00
b8ab16b839 - Database schema added. 2025-10-14 16:34:34 -03:00
16e685f556 Switch debug to BotServer and use cargo run
- Change label from "Build & Debug native binary" to "Debug BotServer"
- Use cargo run instead of cargo build
2025-10-14 15:57:17 -03:00
96a02ee06e Refactor session handling and auth flow 2025-10-14 14:51:49 -03:00
3375bb667a Add botserver prompt, auth template, and CSS 2025-10-14 13:51:54 -03:00
16516b23bb Refactor server code and add auth API fixes 2025-10-14 13:51:27 -03:00
cd33995435 New features for start.bas 2025-10-13 18:11:03 -03:00
3d0e8df36e - New features for start.bas 2025-10-13 17:43:03 -03:00
fe04ea3c85 Update mod.rs 2025-10-13 09:36:45 -03:00
b0e229d2e5 Update prompt build script and shared guidelines 2025-10-13 09:36:06 -03:00
5ae630521c Enhance streaming with events and warning API
- Introduce event-driven streaming with thinking_start, thinking_end,
  and warn events; skip sending analysis content to clients
- Add /api/warn endpoint to dispatch warnings for sessions and channels;
  web UI displays alerts
- Emit session_start/session_end events over WebSocket and instrument
  logging throughout orchestration
- Update web client: show thinking indicator and warning banners; switch
  LiveKit client URL to CDN
- Extend BotOrchestrator with send_event and send_warning, expand
  session/tool workflow
- Improve REST endpoints for sessions/history with better logging and
  error handling
- Update docs and prompts: DEV.md usage note; adjust dev build_prompt
  script
2025-10-13 00:31:08 -03:00
595fe98eff - Mew LLM provider. 2025-10-12 20:54:42 -03:00
9efeffd80a Refactor to Arc<AppState> for shared state
- Migrate core services to store Arc<AppState> and use locks
- Centralize state in AppState with Arc-wrapped managers
- Update handlers to pass Arc<AppState> via web::Data
- Add Default for AppState and initialize components in main
- Update debug.json program path from gbserver to botserver
2025-10-12 20:12:49 -03:00
7722c66d4c Migrate to web/index.html and OpenAI client
- Load index.html from web/index.html instead of templates/static
- Initialize OpenAIClient with an empty key and local endpoint
- Remove the old static/index.html file
2025-10-12 17:41:41 -03:00
27ca5ca543 - Answering in Web using streaming. 2025-10-12 15:06:16 -03:00
9609aa4e70 Switch message_type to integer across codebase 2025-10-12 14:39:23 -03:00
d28a63f2dc Make AuthService thread-safe and auto-create user 2025-10-12 13:38:56 -03:00
42dabc6982 - Set mode is now a number. 2025-10-12 13:27:48 -03:00
d3875d3c50 - Compiling again. 2025-10-12 11:44:35 -03:00
b9bc01098a - 0 errors. 2025-10-11 20:41:52 -03:00
83ead0db31 - Only 18 errors missing being fixed. 2025-10-11 20:25:08 -03:00
a16d9affe7 - main.rs is compiling again. 2025-10-11 20:02:14 -03:00
8dd71c4a8e - Fix compilation errors. 2025-10-11 17:26:56 -03:00
a012ca1bd7 - More LLM on compiler. 2025-10-11 13:29:52 -03:00
ba8fc38431 - Fixing compilation errors. 2025-10-11 13:29:38 -03:00
a1dd7b5826 - Remove all compilation errors. 2025-10-11 12:29:03 -03:00
d1a8185baa - Remove of all warnings. 2025-10-07 10:53:09 -03:00
0203f0ad0e Add organizations table and build fix script
Create organizations table with UUID primary key, unique slug,
timestamps, and indexes on slug and created_at. Add
scripts/dev/build_fix.sh to consolidate prompts and source files for LLM
context. Allow dead_code in main.rs and rename unused org_id parameter
to _org_id.
2025-10-07 09:08:53 -03:00
2f77b68294 - Warning removal and restore of old code. 2025-10-07 07:16:03 -03:00
ed984f89fb - First run after refactor. 2025-10-06 22:33:43 -03:00
191b6a741a - New rust version is now compiling. 2025-10-06 20:49:38 -03:00
959f67aa83 - Fixing compilation errors. 2025-10-06 20:06:43 -03:00
704a575926 - Just more errors to fix. 2025-10-06 19:12:13 -03:00
dfc615134c - Fix compiling errors. 2025-10-06 14:55:04 -03:00
6d58491281 Migration to Rust and free from Azure. 2025-10-06 10:30:17 -03:00
c88a240903 Migration to Rust removal of Azure. 2025-10-06 10:29:14 -03:00
8de32231cb Merge pull request #428 from GeneralBots/rodrigorodriguez-patch-3
Update README.md
2025-10-06 09:01:05 -03:00
6a6abbb37a Bump version to 5.1.1 2025-10-06 08:49:31 -03:00
1c07fff272 Use regex in server.all to match all routes Remove request interception
from KBService

Drop request interception to simplify navigation. Add a page.evaluate to
strip images, scripts, and stylesheets.
2025-09-28 20:04:45 -03:00
ac818f3704 Update app.ts 2025-09-28 19:29:43 -03:00
3ba2bf5f7e Remove obsolete Babel overrides from package.json 2025-09-28 19:07:16 -03:00
93bf90df3a Remove eslint dependency from default.gbui package 2025-09-28 16:47:52 -03:00
b859586a55 Remove redux-devtools-extension dependency 2025-09-28 16:39:42 -03:00
92602d7b62 m Update msal dependency to version 1.4.18 2025-09-28 16:23:32 -03:00
e9393ea706 Move sourcemap-codec to dependencies 2025-09-28 16:07:59 -03:00
e6198d21ed Update package.json 2025-09-28 15:57:46 -03:00
1c9ce0cc58 Remove rollup-plugin-terser dependency 2025-09-28 12:07:57 -03:00
316f083e09 - Warning removal. 2025-09-28 11:03:37 -03:00
7d368c4286 Update dependencies, gitignore, and unsecure addons script 2025-09-28 10:57:11 -03:00
abee35464d Bump botlib-legacy to 5.3.0 2025-09-27 20:35:31 -03:00
b4b4b2d694 Update GBMinService.ts 2025-09-27 12:21:41 -03:00
62a80c0725 Refactor WhatsApp route handler syntax 2025-09-27 11:48:25 -03:00
ba600aae55 Change WhatsApp route to POST. 2025-09-27 09:32:34 -03:00
3145ca8483 Remove images and CSS from crawled pages 2025-09-26 14:47:13 -03:00
e2f079eeea - Fix WA. 2025-09-25 14:11:08 -03:00
5d3146cd57 Downgrade puppeteer to 23.2.2 2025-09-24 21:19:37 -03:00
69954ef02c Downgrade puppeteer, pin puppeteer-extra 2025-09-24 21:18:08 -03:00
e1f2914fe4 Add -f flag when removing package-lock.json 2025-09-24 19:30:08 -03:00
b42148e6d6 - Update CI. 2025-09-24 19:14:15 -03:00
53ed23fc5f - Delete package-lock.json. 2025-09-24 19:09:53 -03:00
f6d5949a2a Update package-lock.json dependencies 2025-09-24 18:28:27 -03:00
5244e1faea Guard getColors call when function missing 2025-09-24 18:05:36 -03:00
46b65779cb - Warning removal. 2025-09-24 15:20:32 -03:00
1f5466eae4 - Warming removal. 2025-09-21 16:49:03 -03:00
42c2a3a2d1 - Warning removal. 2025-09-21 16:37:58 -03:00
007e90c989 -New PARAMS for LLM Embedding. 2025-09-11 17:09:02 -03:00
5ffa7f381a -New PARAMS for LLM Embedding. 2025-09-11 17:03:29 -03:00
1b61951def - LocalLLM Embedded. 2025-09-10 11:11:32 -03:00
5a2f6357ee Update SystemKeywords.ts 2025-08-25 19:46:19 -03:00
5c883ebd01 Update SystemKeywords.ts 2025-08-25 19:33:51 -03:00
89e2b6e404 Refactor code formatting and adjust minor syntax errors 2025-08-25 19:32:31 -03:00
432c559942 Merge branch 'main' of https://alm.pragmatismo.com.br/GeneralBots/botserver 2025-08-23 21:40:54 -03:00
2e7e333ce3 - Logo fix. 2025-08-23 21:39:03 -03:00
28c3c3b57b Update templates/edu.gbai/edu.gbdialog/enrollment.bas 2025-08-10 20:59:06 +00:00
b99f4b71ef refactor(SystemKeywords): comment out unused ID column logic for clarity 2025-08-05 14:17:38 -03:00
3c8ca07ea7 refactor(SystemKeywords): comment out unused ID column logic for clarity 2025-08-05 14:03:17 -03:00
b0afa72349 - TS updates. 2025-07-22 18:04:15 -03:00
7b2929a6cb refactor(SystemKeywords): comment out unused ID column logic for clarity 2025-07-19 22:48:11 -03:00
6c342a680b refactor(SystemKeywords): comment out unused ID column logic for clarity 2025-07-19 22:27:47 -03:00
1cd48513c8 refactor(SystemKeywords): comment out unused ID column logic for clarity 2025-07-02 20:38:26 -03:00
45d9d6f55e refactor(SystemKeywords): comment out unused ID column logic for clarity 2025-06-27 15:37:04 -03:00
1c6adeb27f refactor(SystemKeywords): comment out unused ID column logic for clarity 2025-06-27 15:31:11 -03:00
8e5dcadc05 fix(GBSSR): update packagePath logic to handle non-static URLs correctly 2025-06-27 13:31:32 -03:00
d61fb27648 fix: update Puppeteer launch options to use environment variables for headless mode and enhance enrollment confirmation messages 2025-06-27 12:46:15 -03:00
7b08b17d8c fix(WhatsappDirectLine): update sendFileToDevice to default isViewOnce to true and clean up header example 2025-06-24 14:54:28 -03:00
243fb72ce9 fix(WhatsappDirectLine): update sendFileToDevice to default isViewOnce to true and clean up header example 2025-06-24 11:43:00 -03:00
9e9cec6918 fix(WhatsappDirectLine): update sendFileToDevice to default isViewOnce to true and clean up header example 2025-06-24 08:43:17 -03:00
d5e7ef1e04 fix(WhatsappDirectLine): update sendFileToDevice to default isViewOnce to true and clean up header example 2025-06-15 19:23:39 -03:00
127425a0f9 fix(WhatsappDirectLine): update sendFileToDevice to default isViewOnce to true and clean up header example 2025-06-15 19:17:50 -03:00
5a376078e0 fix(WhatsappDirectLine): update sendFileToDevice to default isViewOnce to true and clean up header example 2025-06-15 19:00:45 -03:00
a5a7cc1e1b fix(WhatsappDirectLine): streamline media handling and improve template creation 2025-06-12 11:50:14 -03:00
e38a95ed1f fix(WhatsappDirectLine): streamline media handling and improve template creation 2025-06-12 11:31:33 -03:00
899045ceea fix(WhatsappDirectLine): comment out unused header component in message structure 2025-06-12 11:20:00 -03:00
c57f362ea6 fix(WhatsappDirectLine): comment out unused header component in message structure 2025-06-11 12:05:57 -03:00
9d25e51de6 fix(WhatsappDirectLine): comment out unused header component in message structure 2025-06-11 11:47:59 -03:00
4350cd53cc fix(WhatsappDirectLine): comment out unused header component in message structure 2025-06-11 11:08:15 -03:00
21a2664dfe fix(WhatsappDirectLine): comment out unused header component in message structure 2025-06-11 11:05:48 -03:00
d44e5aac0c fix(WhatsappDirectLine): add missing closing brace for header object in message structure 2025-06-11 10:28:13 -03:00
3e390ef91d fix(WhatsappDirectLine): add missing closing brace for header object in message structure 2025-06-11 10:05:39 -03:00
2df00d9037 fix(WhatsappDirectLine): refactor server status check and improve large file upload process with chunked uploads 2025-06-11 09:53:10 -03:00
3b48dcac37 fix(GBConversationalService, WhatsappDirectLine): update component structure to include header type and format 2025-06-11 09:40:58 -03:00
ad2279042a fix(WhatsappDirectLine): refactor large file upload process to improve error handling and add public URL registration 2025-06-11 09:33:34 -03:00
8e402c3e65 fix(WhatsappDirectLine): refactor large file upload process to improve error handling and add public URL registration 2025-06-11 09:19:16 -03:00
332c8c4e3c fix(WhatsappDirectLine): improve large file upload handling and error messages 2025-06-10 20:27:02 -03:00
ce93ebad75 fix(KBService): update Puppeteer configuration for headless mode and executable path
fix(node.yaml): correct deployment paths and improve Node.js setup
fix(.gitignore): add 'botpoc' to ignored files
fix(SystemKeywords): enhance PDF conversion and image processing logic
fix(DialogKeywords): adjust Puppeteer launch options for better performance
fix(KeywordsExpressions): fix syntax error in PDF assignment
2025-06-09 19:51:05 -03:00
95c4fbe8b1 fix(KBService): update Puppeteer configuration for headless mode and executable path
fix(node.yaml): correct deployment paths and improve Node.js setup
fix(.gitignore): add 'botpoc' to ignored files
fix(SystemKeywords): enhance PDF conversion and image processing logic
fix(DialogKeywords): adjust Puppeteer launch options for better performance
fix(KeywordsExpressions): fix syntax error in PDF assignment
2025-06-09 19:48:24 -03:00
7c998d77f8 fix(KBService): standardize formatting and improve code readability 2025-05-22 20:32:30 -03:00
6eab508e00 fix(KBService): standardize formatting and improve code readability 2025-05-22 18:56:30 -03:00
a8eddee477 fix(KBService): reduce timeout and max documents for crawling logic 2025-05-22 12:16:05 -03:00
2c67ba4052 fix(KBService): remove unnecessary skip variable in file processing logic 2025-05-22 11:14:10 -03:00
1129e3b6cc fix(KBService): remove unnecessary skip variable in file processing logic 2025-05-22 11:00:16 -03:00
1ca0ca1329 fix(KBService): remove unnecessary skip variable in file processing logic 2025-05-22 10:55:32 -03:00
37bdc04ccc fix(KBService): remove unnecessary skip variable in file processing logic 2025-05-22 10:46:11 -03:00
1814e92a4d fix(KBService): remove unnecessary skip variable in file processing logic 2025-05-22 10:41:43 -03:00
48b3d6556c fix(KBService): remove unnecessary skip variable in file processing logic 2025-05-13 23:10:42 -03:00
8fd00febed fix(KBService): update file processing logic to include additional file types 2025-05-13 22:43:47 -03:00
83ee35fe7c fix(KBService): skip processing of files in gbdata path 2025-05-13 22:33:29 -03:00
d379fcbc24 fix(KBService): enable concatenation of files from gbdata path 2025-05-13 22:19:18 -03:00
2ac365b147 feat(ChatServices): specify model as 'gpt-4' for improved performance 2025-05-12 09:20:28 -03:00
84ab8f37f0 feat(ChatServices): specify model as 'gpt-4' for improved performance 2025-05-11 23:19:44 -03:00
1292573222 refactor(workflows): remove unnecessary .env file copy in deployment script 2025-05-11 22:44:30 -03:00
7c2c8548cf refactor(GBDeployer): simplify file type checks for downloading text files 2025-05-11 22:41:54 -03:00
d193654ecc refactor(GBDeployer): simplify file type checks for downloading text files 2025-05-11 21:21:25 -03:00
7b91f56baa feat(KeywordsExpressions, DialogKeywords, AdminDialog, GBDeployer, KBService): enhance functionality and improve file handling 2025-05-11 10:09:32 -03:00
105aa5ab8f feat(KeywordsExpressions): add support for posting to Instagram with parameters
refactor(GBAdminService): improve folder name extraction logic
refactor(ImageProcessingServices): clean up whitespace and enhance image generation options
refactor(SystemKeywords): simplify rewrite prompt and logging
fix(ChatServices): correct spacing in model invocation
delete(marketing.gbai): remove outdated marketing poster template
add(marketing.gbai): create new marketing poster template with Instagram posting functionality
2025-05-09 21:19:14 -03:00
39341ddece refactor(GBOService): remove unused imports for cleaner code 2025-04-30 14:19:00 -03:00
50f438caa9 fix(DialogKeywords): comment out unused email headers in mail options 2025-04-30 14:18:32 -03:00
76fe9f63e2 feat(DialogKeywords): integrate Nodemailer for email sending functionality 2025-04-30 13:50:47 -03:00
328e29fed5 feat(DialogKeywords): integrate Nodemailer for email sending functionality 2025-04-30 13:45:49 -03:00
8c2dc63044 fix(GBMinService): update CORS origin to use HTTPS for improved security 2025-04-27 19:00:54 -03:00
8d25081a79 fix(GBMinService): update CORS origin to specific subdomain 2025-04-27 18:46:43 -03:00
f1f2bfa022 fix(GBMinService): add logging for meeting token requests and definition 2025-04-27 18:02:00 -03:00
1a23a39da9 fix(GBMinService): add logging for meeting token requests and definition 2025-04-26 21:44:02 -03:00
b078f51e4f fix(GBMinService): await token.toJwt() for proper JWT generation 2025-04-26 17:27:29 -03:00
05bf56a5e4 fix(GBMinService): await token.toJwt() for proper JWT generation 2025-04-26 17:17:28 -03:00
d5ffe94f0f fix(dependencies): remove duplicate super-strong-password-generator entries in package.json 2025-04-26 17:01:02 -03:00
d28aaafe48 fix(workflow): clean up node_modules before installing production dependencies in BotServer 2025-04-26 16:56:38 -03:00
cfda2b726d fix(workflow): enable npm ci command for production build in BotServer 2025-04-26 16:47:02 -03:00
f197e5a135 fix(workflow): enable npm ci command for production build in BotServer 2025-04-26 16:40:42 -03:00
d31e10c109 feat(GBMinService): update dependencies to include livekit-server-sdk and AccessToken import 2025-04-26 16:14:53 -03:00
0e421cf82e feat(GBMinService): add CORS header to meeting token endpoint 2025-04-26 15:25:35 -03:00
87c774145d feat(GBMinService): add endpoint for generating meeting tokens with LiveKit 2025-04-26 15:15:57 -03:00
7351127f52 chore: remove deprecated files including deployment scripts, localization, and CI configurations 2025-04-25 02:24:52 -03:00
7cde1bcc05 chore: remove deprecated files including deployment scripts, localization, and CI configurations 2025-04-25 02:20:32 -03:00
591e243892 chore: remove unused image assets and update API URL in configuration 2025-04-25 01:46:35 -03:00
d479efd3f0 feat(GBMinService, MainService): integrate Stripe payment success handling and update dialog flow 2025-04-24 20:02:50 -03:00
961e58e176 feat(GBMinService, MainService): integrate Stripe payment success handling and update dialog flow 2025-04-24 19:52:06 -03:00
ee61299760 feat(GBMinService, MainService): integrate Stripe payment success handling and update dialog flow 2025-04-24 01:18:30 -03:00
43cf1901f5 refactor(GBOService, MainModel): clean up code and enhance model structure for better clarity and maintainability 2025-04-21 22:29:26 -03:00
4b913b8fcf fix(SystemKeywords): enhance save method to support CSV files and improve row update logic 2025-04-19 22:34:42 -03:00
35a0d55296 fix(DialogKeywords): modify file naming convention for improved clarity 2025-04-19 14:44:40 -03:00
653100b4fc fix(DialogKeywords): update file writing method and adjust WhatsApp file sending logic 2025-04-19 14:39:21 -03:00
81aaa4bf21 fix(DialogKeywords): update file writing method and adjust WhatsApp file sending logic 2025-04-19 14:36:48 -03:00
333f7c4e2a fix(DialogKeywords): update file writing method and adjust WhatsApp file sending logic 2025-04-19 14:33:58 -03:00
505ace3d1a fix(DialogKeywords): update file writing method and adjust WhatsApp file sending logic 2025-04-19 14:27:23 -03:00
f99130b743 fix(DialogKeywords): update file writing method and adjust WhatsApp file sending logic 2025-04-19 14:20:15 -03:00
8a368aa311 fix(DialogKeywords): update file writing method and adjust WhatsApp file sending logic 2025-04-19 14:13:53 -03:00
5a62d6ce6a fix(workflow): add logging for file copying in node.yaml 2025-04-19 14:05:43 -03:00
264b0a1445 fix(workflow): add logging for file copying in node.yaml 2025-04-19 13:37:55 -03:00
e12744b1de fix(workflow): comment out Node.js setup and adjust build commands in node.yaml 2025-04-19 13:36:07 -03:00
b392aa6e7f fix(ChatServices): update prompt message for clarity on tool results 2025-04-19 13:32:53 -03:00
0dd8c8c1ce fix(ChatServices): update prompt message for clarity on tool results 2025-04-19 13:21:41 -03:00
75f34e5faf fix(ChatServices): enhance logging and clarify response instructions 2025-04-19 12:39:25 -03:00
4301bb64c4 fix(workflow): streamline botserver restart process in node.yaml 2025-04-19 12:14:18 -03:00
d912667dee fix(workflow): ensure BotServer directory is created before copying files 2025-04-19 11:48:09 -03:00
9786749728 fix(workflow): ensure BotServer directory is created before copying files 2025-04-19 11:36:07 -03:00
96c65af1b4 fix(workflow): ensure BotServer directory is created before copying files 2025-04-19 11:14:26 -03:00
b24f8fb733 fix(workflow): ensure BotServer directory is created before copying files 2025-04-19 01:42:51 -03:00
a8c3c696e8 fix(workflow): ensure BotServer directory is created before copying files 2025-04-19 01:12:54 -03:00
10294c9a82 fix(workflow): update node.yaml to correctly copy .env file to deployment location 2025-04-19 01:09:16 -03:00
f4f76f3743 fix(workflow): update node.yaml to run npm start in the background 2025-04-19 00:24:43 -03:00
275eaa90e1 fix(workflow): update node.yaml to run npm start in the background 2025-04-18 23:48:26 -03:00
e95d180eb7 feat: update dependencies and improve file handling in GBVMService 2025-04-18 22:20:33 -03:00
f1b9c1742e feat: add bcrypt for password hashing and comparison utilities 2025-04-17 21:45:46 -03:00
c872766664 fix(GBMinService): comment out file writing to prevent overwriting bot manifest 2025-04-17 16:21:02 -03:00
7140f041c8 fix(SystemKeywords): update file writing to use Uint8Array for buffer consistency 2025-04-17 16:15:27 -03:00
567f2c8480 feat(SystemKeywords): integrate MinIO client for file retrieval in gbcluster mode 2025-04-17 15:05:09 -03:00
0177488597 feat(DialogKeywords): integrate MinIO client for file handling in gbcluster mode 2025-04-15 13:56:56 -03:00
9e66a2acba feat(DialogKeywords): integrate MinIO client for file handling in gbcluster mode 2025-04-15 13:46:02 -03:00
fe2544e1a5 feat(DialogKeywords): integrate MinIO client for file handling in gbcluster mode 2025-04-15 13:30:42 -03:00
be3a27cbb4 feat(DialogKeywords): integrate MinIO client for file handling in gbcluster mode 2025-04-15 13:19:51 -03:00
2a4710b902 fix: update URLs and email addresses to reflect new domain 2025-04-15 12:49:05 -03:00
80d8a4101d fix(app): comment out boot instance creation and saving in legacy mode 2025-04-04 19:11:12 -03:00
6814cc2ed0 fix(app): comment out boot instance creation and saving in legacy mode 2025-04-04 18:34:57 -03:00
dd1ff28028 fix(app): comment out boot instance creation and saving in legacy mode 2025-04-04 18:27:39 -03:00
7f7459b4e2 fix(app): comment out boot instance creation and saving in legacy mode 2025-04-04 16:14:08 -03:00
ccf9f3acb1 fix(services): add ordering to GuaribasInstance query in GBCoreService 2025-04-03 14:53:05 -03:00
30837bd5f0 fix(services): add ordering to GuaribasInstance query in GBCoreService 2025-04-03 14:20:08 -03:00
c77a7e89c6 fix(services): add ordering to GuaribasInstance query in GBCoreService 2025-03-30 00:20:44 -03:00
16b7da9bbf fix(services): change script file extension from .docx to .vbs in KBService 2025-03-30 00:07:05 -03:00
b3680867a7 fix(services): add ordering to GuaribasInstance query in GBCoreService 2025-03-29 23:12:53 -03:00
d1832e6e47 fix(services): add ordering to GuaribasInstance query in GBCoreService 2025-03-29 22:11:57 -03:00
f1f045bb88 fix(services): update condition in GBMinService to simplify WhatsApp Direct Line setup 2025-03-29 20:38:55 -03:00
8a1eeb1b05 fix(services): refactor GBOService instantiation and update template listing logic 2025-03-29 20:27:22 -03:00
b0bd583812 fix(services): refactor GBOService instantiation and update template listing logic 2025-03-29 11:03:46 -03:00
cb8b4c5a60 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 10:24:41 -03:00
fd69e28765 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:27:15 -03:00
5a9418be28 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:20:12 -03:00
7c697064d8 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:19:10 -03:00
895fa3b3cc fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:18:37 -03:00
23ca9f3c34 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:18:08 -03:00
f1f319380e fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:17:08 -03:00
0aa386b8bf fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:16:14 -03:00
77484beda2 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:15:50 -03:00
b741ca979b fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:14:55 -03:00
11860199bb fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:13:15 -03:00
0614b83d9c fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:11:28 -03:00
3e0ee7b912 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:09:08 -03:00
adbee9b44f fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:08:37 -03:00
4196b8745c fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 09:01:06 -03:00
639c9075ff fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 08:59:25 -03:00
6b330deaf1 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 08:57:41 -03:00
2124cd67ec fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 08:49:06 -03:00
ac041d0ced fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 08:45:50 -03:00
f80ff06ca2 fix(workflows): clean up node.yaml by removing unnecessary commented-out commands 2025-03-28 08:42:24 -03:00
259024e65d fix(services): remove unnecessary comments and improve URL configuration in GBCoreService and GBMinService 2025-03-28 08:40:46 -03:00
1889635b55 fix(services): remove unnecessary comments and improve URL configuration in GBCoreService and GBMinService 2025-03-28 08:39:06 -03:00
92116a2ada fix(services): remove unnecessary comments and improve URL configuration in GBCoreService and GBMinService 2025-03-28 08:03:30 -03:00
7e57d20ebf fix(services): remove unnecessary comments and improve URL configuration in GBCoreService and GBMinService 2025-03-28 07:48:50 -03:00
a6f87e8b91 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-28 07:35:45 -03:00
49e0ba23fb fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-28 07:14:35 -03:00
9fe6683ea6 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 23:39:06 -03:00
f0f80a5ac6 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 23:33:23 -03:00
e382292763 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 23:24:58 -03:00
4773f22223 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 22:56:02 -03:00
6839d6d9dd fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 22:41:47 -03:00
bac69bc817 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 22:36:40 -03:00
9ddc55222c fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 21:43:49 -03:00
639c603e00 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 21:36:37 -03:00
7cb4741e85 fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 21:29:00 -03:00
d793d7ae4b fix(workflows): clean up node.yaml by removing unnecessary whitespace 2025-03-26 20:56:10 -03:00
c1aa19cbf0 fix(workflows): change build runner from CI to gbo 2025-03-26 20:35:27 -03:00
c084d105a5 fix(workflows): change build runner from CI to gbo 2025-03-26 20:34:11 -03:00
9ce3c6df2d fix(workflows): change build runner from CI to gbo 2025-03-26 20:29:33 -03:00
ebe72093a5 fix(workflows): change build runner from CI to gbo 2025-03-26 19:50:42 -03:00
474ed0da86 delete: Remove issue and pull request templates 2025-03-26 19:49:41 -03:00
9543a87ffe delete: Remove issue and pull request templates 2025-03-26 19:46:19 -03:00
527a129d84 new(all): Removal of OneDrive dependencies. 2025-03-05 22:09:05 -03:00
c677b7c424 new(whatsapp.gblib): FB Analytics. 2025-02-16 21:47:03 -03:00
3b7c7f0da5 new(whatsapp.gblib): FB Analytics. 2025-02-16 21:41:38 -03:00
e2619ff56e new(whatsapp.gblib): FB Analytics. 2025-02-16 21:01:10 -03:00
ee6abe7e2b new(whatsapp.gblib): FB Analytics. 2025-02-16 20:56:01 -03:00
01e20cce27 new(whatsapp.gblib): FB Analytics. 2025-02-16 20:53:04 -03:00
e0a8291735 new(whatsapp.gblib): FB Analytics. 2025-02-16 20:47:16 -03:00
4501aa334a new(whatsapp.gblib): FB Analytics. 2025-02-16 20:34:54 -03:00
ad868e5323 new(whatsapp.gblib): FB Analytics. 2025-02-16 20:26:09 -03:00
94ddf38f81 new(whatsapp.gblib): FB Analytics. 2025-02-16 19:29:53 -03:00
f850e05b7f new(whatsapp.gblib): FB Analytics. 2025-02-16 19:27:57 -03:00
4319b676c3 new(whatsapp.gblib): FB Analytics. 2025-02-16 19:23:18 -03:00
e8c5b830cb new(whatsapp.gblib): FB Analytics. 2025-02-16 19:21:09 -03:00
7f19864df0 new(whatsapp.gblib): FB Analytics. 2025-02-16 19:13:10 -03:00
36dcf79214 new(whatsapp.gblib): FB Analytics. 2025-02-16 19:08:26 -03:00
0f4018a1ad new(whatsapp.gblib): FB Analytics. 2025-02-16 19:04:10 -03:00
ea18888aeb new(whatsapp.gblib): FB Analytics. 2025-02-16 18:56:07 -03:00
ab658c8d57 new(whatsapp.gblib): FB Analytics. 2025-02-16 18:42:16 -03:00
11ca833951 new(whatsapp.gblib): FB Analytics. 2025-02-16 18:28:09 -03:00
8fe94664e3 new(whatsapp.gblib): FB Analytics. 2025-02-16 18:24:08 -03:00
38eaecb253 new(whatsapp.gblib): FB Analytics. 2025-02-16 18:22:14 -03:00
dd006838e7 new(whatsapp.gblib): FB Analytics. 2025-02-16 18:16:14 -03:00
411e449326 new(whatsapp.gblib): FB Analytics. 2025-02-16 18:09:46 -03:00
8c2ee7946d new(whatsapp.gblib): FB Analytics. 2025-02-16 18:05:06 -03:00
c57d5a6d86 new(whatsapp.gblib): FB Analytics. 2025-02-16 17:57:01 -03:00
85bbd3efa2 new(whatsapp.gblib): FB Analytics. 2025-02-16 10:54:42 -03:00
c4c66cf546 fix(whatsapp.gblib): Fixed audio with IBM Watson. 2025-02-02 18:42:45 -03:00
4ba4e8856d fix(whatsapp.gblib): Fixed audio with IBM Watson. 2025-02-02 18:29:58 -03:00
3242cb203f fix(whatsapp.gblib): Fixed audio with IBM Watson. 2025-02-02 17:44:25 -03:00
16b2e5446b fix(whatsapp.gblib): Fixed audio with IBM Watson. 2025-02-02 17:06:43 -03:00
f060df099e fix(whatsapp.gblib): Fixed check status. 2025-01-27 11:37:41 -03:00
6b437b1058 fix(whatsapp.gblib): Fixed check status. 2025-01-27 10:57:47 -03:00
1c610883a0 fix(whatsapp.gblib): Fixed check status. 2025-01-27 10:55:04 -03:00
f2ec4e6ce2 fix(whatsapp.gblib): Fixed check status. 2025-01-27 10:49:57 -03:00
9ba6c936d2 fix(kb.gblib): Fixed crawler. 2025-01-19 16:06:43 -03:00
7e08e4b0ba new(kb.gblib): added postgres. 2025-01-17 16:48:45 -03:00
49b8f2bcfa new(kb.gblib): added postgres. 2025-01-17 16:28:40 -03:00
7eb2a24e09 new(kb.gblib): added postgres. 2025-01-16 05:47:28 -03:00
175a4691a4 new(kb.gblib): added postgres. 2025-01-16 05:42:50 -03:00
5f34c35928 new(kb.gblib): added postgres. 2025-01-16 05:29:53 -03:00
009db6c5ee new(kb.gblib): added postgres. 2025-01-16 05:22:48 -03:00
7cebb8c7c4 new(kb.gblib): added postgres. 2025-01-16 05:12:08 -03:00
673b106d5a new(kb.gblib): added postgres. 2025-01-16 05:07:35 -03:00
4d6d4b89de new(kb.gblib): added postgres. 2025-01-16 04:59:22 -03:00
fc8d4ccbf9 new(kb.gblib): added postgres. 2025-01-16 04:53:05 -03:00
ab7caf37d2 new(kb.gblib): added postgres. 2025-01-16 04:48:12 -03:00
10dc233bae new(kb.gblib): added postgres. 2025-01-16 04:34:43 -03:00
71c8f68fd3 new(kb.gblib): added postgres. 2025-01-16 02:52:59 -03:00
53b34fcd96 new(kb.gblib): added postgres. 2025-01-16 02:51:30 -03:00
9554d336a3 new(kb.gblib): added postgres. 2025-01-16 02:38:18 -03:00
461b0225e3 new(kb.gblib): added postgres. 2025-01-16 02:31:07 -03:00
ece3164e5f new(kb.gblib): added postgres. 2025-01-16 02:23:52 -03:00
39fd702f14 new(kb.gblib): added postgres. 2025-01-16 02:11:12 -03:00
0e064ba3fa Merge branch 'main' of https://github.com/GeneralBots/BotServer into main 2025-01-01 21:33:57 -03:00
36d98722a1 fix(kb.gblib): fix in crawler. 2025-01-01 21:33:56 -03:00
c5985ed856 Update README.md 2024-12-22 14:45:07 -03:00
9c7119a897 Update README.md 2024-12-22 14:41:43 -03:00
84e4ab97b8 Update README.md 2024-12-22 14:41:19 -03:00
9a52dac92a Merge pull request #437 from GeneralBots/rodrigorodriguez-patch-6
Update README.md
2024-12-22 14:34:40 -03:00
d258cc7f9f Update README.md 2024-12-22 14:34:16 -03:00
833a79abc9 Add files via upload 2024-12-22 14:32:30 -03:00
9ae141a6db Merge pull request #436 from GeneralBots/rodrigorodriguez-patch-5
Update README.md
2024-12-22 14:31:28 -03:00
107d450ef8 Update README.md 2024-12-22 14:31:05 -03:00
ecbf4126f4 Merge pull request #435 from GeneralBots/rodrigorodriguez-patch-4
Update README.md
2024-12-22 14:28:14 -03:00
5dae133d53 Update README.md 2024-12-22 14:27:55 -03:00
5b45af8de3 new(online.gbui): UI OK. 2024-12-21 20:23:44 -03:00
8dad130205 fix(kb.gbapp): HTML crawler improved. 2024-12-15 16:27:40 -03:00
191c64332c new(kb.gbapp): Avif format added. 2024-12-15 10:27:46 -03:00
413362efa1 new(kb.gbapp): Avif format added. 2024-12-15 10:17:22 -03:00
41d0cb905f fix(llm.gblib): Talk to data local db use fix. 2024-12-12 09:55:51 -03:00
cfab189c59 fix(llm.gblib): Talk to data local db use fix. 2024-12-12 09:46:31 -03:00
124d15b971 fix(llm.gblib): Talk to data local db use fix. 2024-12-10 15:57:21 -03:00
91504450e8 fix(llm.gblib): Talk to data local db use fix. 2024-12-10 15:46:18 -03:00
c2bd8a62db fix(llm.gblib): Talk to data local db use fix. 2024-12-10 15:43:28 -03:00
68a65d6dfb fix(llm.gblib): Fix in doc. publishing. 2024-12-10 15:40:52 -03:00
f4cf4d1e9d fix(llm.gblib): Fix in doc. publishing. 2024-12-09 08:07:34 -03:00
3d235fcc51 fix(llm.gblib): Fix in doc. publishing. 2024-12-03 22:09:27 -03:00
4d28219e2f fix(llm.gblib): Fix in doc. publishing. 2024-12-03 21:43:28 -03:00
1fcb5207b3 fix(llm.gblib): Fix in doc. publishing. 2024-12-03 19:56:39 -03:00
78d01a02fa fix(llm.gblib): Fix in doc. publishing. 2024-11-30 12:11:39 -03:00
9c07334e33 fix(llm.gblib): Fix in doc. publishing. 2024-11-30 12:10:57 -03:00
0d01f31e32 fix(llm.gblib): Fix in doc. publishing. 2024-11-30 11:58:40 -03:00
ca0f581ad7 fix(llm.gblib): Talk to data local db use fix. 2024-11-29 21:49:35 -03:00
3f19a6670c fix(llm.gblib): Talk to data local db use fix. 2024-11-29 21:19:42 -03:00
9b2423af86 fix(llm.gblib): Talk to data local db use fix. 2024-11-28 11:13:01 -03:00
6b1faef0a7 fix(basic.gblib): Refresh data source. 2024-11-27 19:17:35 -03:00
e37b3911f1 fix(basic.gblib): Refresh data source. 2024-11-27 17:23:46 -03:00
b15ecacde8 fix(basic.gblib): Refresh data source. 2024-11-27 08:50:02 -03:00
caa46fb2df fix(kb.gbapp): Auto Logo generation fixed. 2024-11-26 09:35:15 -03:00
4e9cfa52cb fix(llm.gblib): Talk to data local db use fix. 2024-11-24 13:17:18 -03:00
01277e0b82 fix(llm.gblib): Talk to data local db use fix. 2024-11-24 13:07:16 -03:00
00c82be6a9 fix(llm.gblib): Talk to data local db use fix. 2024-11-24 12:57:14 -03:00
7f415770c5 fix(llm.gblib): Talk to data local db use fix. 2024-11-24 12:43:58 -03:00
422759e45a fix(llm.gblib): MultiURL player type fixed. 2024-11-24 10:25:58 -03:00
816d71b470 fix(llm.gblib): MultiURL player type fixed. 2024-11-24 10:03:23 -03:00
ea0870626d fix(llm.gblib): Fix in doc. publishing. 2024-11-22 14:37:34 -03:00
fd81f60b28 fix(llm.gblib): Fix in doc. publishing. 2024-11-22 14:28:31 -03:00
0a506f728e fix(llm.gblib): Fix in doc. publishing. 2024-11-22 14:27:45 -03:00
32231f8774 Update README.md 2024-11-15 10:16:12 -03:00
15afd2e15f fix(kb.gbapp): Cleaning vector store before indexing. 2024-11-14 07:32:43 -03:00
4b4ba9e0e7 fix(kb.gbapp): Cleaning vector store before indexing. 2024-11-13 10:38:59 -03:00
766f829704 fix(llm.gblib): Vector store fixed in /publish. 2024-11-08 11:49:12 -03:00
b287e88779 new(llm.gblib): Added Claude. 2024-11-08 06:49:30 -03:00
b9ad57f00a new(all): Adobe Illustrator CONVERT keyword support. 2024-11-06 18:19:16 -03:00
4dee11aa78 fix(all): LLM templates on production. 2024-10-30 20:00:01 -03:00
5dce8c9423 fix(all): LLM templates on production. 2024-10-30 15:35:11 -03:00
5cd0ab4a7c fix(all): LLM JSON. 2024-10-28 13:48:13 -03:00
9a42f502d6 fix(all): LLM JSON. 2024-10-28 12:42:37 -03:00
15e87d4cd2 fix(all): JSON LLM. 2024-10-28 12:33:52 -03:00
0f3cccc2fe fix(all): LLM json OK. 2024-10-28 12:07:53 -03:00
e5f5793aa1 fix(all): Back router. 2024-10-28 10:11:49 -03:00
1de47e4b0a fix(all): Removed router. 2024-10-28 09:43:02 -03:00
294ab87077 new(all); ROUTER. 2024-10-24 11:09:24 -03:00
d657b65f3f new(all); ROUTER. 2024-10-24 10:44:05 -03:00
9a05e9aca1 new(all); ROUTER. 2024-10-24 10:39:58 -03:00
127b17284c new(all); ROUTER. 2024-10-23 16:47:15 -03:00
c9dc852b6e new(all); 2024-10-20 08:01:58 -03:00
da1fa5ee93 new(all); 2024-10-20 00:21:14 -03:00
9962cf1f6d new(all); 2024-10-19 23:56:04 -03:00
bfbd3c01a6 new(all); ROUTER. 2024-10-19 23:36:02 -03:00
4716fc6370 new(all); ROUTER. 2024-10-19 13:55:57 -03:00
c2b2366fa1 new(all); ROUTER. 2024-10-19 13:01:53 -03:00
92accfbba8 new(all); 2024-10-19 12:52:57 -03:00
b4e91facc8 new(core.gbapp): LLM alerts for data. 2024-10-17 17:19:37 -03:00
97a2857831 new(core.gbapp): LLM alerts for data. 2024-10-17 17:07:27 -03:00
da85542ae8 new(core.gbapp): LLM alerts for data. 2024-10-17 16:52:04 -03:00
615b871e28 new(core.gbapp): LLM alerts for data. 2024-10-17 16:46:39 -03:00
c4b2a37c2d new(core.gbapp): LLM alerts for data. 2024-10-17 16:33:43 -03:00
d5761278b5 new(core.gbapp): LLM alerts for data. 2024-10-17 14:58:29 -03:00
20a154cfed new(core.gbapp): LLM alerts for data. 2024-10-17 14:52:48 -03:00
cdd2edfce5 new(core.gbapp): LLM alerts for data. 2024-10-17 14:50:25 -03:00
14a18556a5 new(core.gbapp): LLM alerts for data. 2024-10-17 14:45:30 -03:00
a81147f9b7 new(core.gbapp): LLM alerts for data. 2024-10-17 14:40:32 -03:00
c3f2a8647f new(core.gbapp): LLM alerts for data. 2024-10-17 14:34:20 -03:00
dd706f3e98 new(core.gbapp): LLM alerts for data. 2024-10-17 14:00:42 -03:00
eb9b3038e1 new(core.gbapp): LLM alerts for data. 2024-10-17 13:47:18 -03:00
f8447ddb64 new(core.gbapp): LLM alerts for data. 2024-10-17 10:35:48 -03:00
2f0e3f5642 new(core.gbapp): LLM alerts for data. 2024-10-17 09:07:41 -03:00
511e700c2c new(core.gbapp): LLM alerts for data. 2024-10-17 08:47:01 -03:00
c3b5caa653 new(core.gbapp): LLM alerts for data. 2024-10-16 12:56:28 -03:00
90c1e2b461 new(core.gbapp): LLM alerts for data. 2024-10-16 12:56:09 -03:00
7500148252 new(core.gbapp): LLM alerts for data. 2024-10-16 02:50:24 -03:00
2c01425401 new(core.gbapp): LLM alerts for data. 2024-10-15 16:09:48 -03:00
5acbc7a5b9 new(core.gbapp): Timestamp fields are now default. 2024-10-15 15:05:43 -03:00
e275c38152 new(core.gbapp): Timestamp fields are now default. 2024-10-15 10:55:10 -03:00
234e1e9a69 new(core.gbapp): Timestamp fields are now default. 2024-10-15 10:49:06 -03:00
d2c704e9bc new(core.gbapp): Timestamp fields are now default. 2024-10-15 09:35:05 -03:00
932f71d0d3 new(core.gbapp): Timestamp fields are now default. 2024-10-15 09:28:11 -03:00
85fe1cf444 new(core.gbapp): Timestamp fields are now default. 2024-10-15 09:08:53 -03:00
42ac35de1d fix(core.gbapp): Themes optional package. 2024-10-13 23:11:11 -03:00
be04f3bff4 new(basic.gblib): SEND FILE pdf as temporary images ViewOnce. 2024-10-12 20:12:18 -03:00
2d92292e3d new(basic.gblib): SEND FILE pdf as temporary images ViewOnce. 2024-10-12 18:13:11 -03:00
b02b4632ea new(basic.gblib): SEND FILE pdf as temporary images ViewOnce. 2024-10-12 17:56:09 -03:00
2a1364c268 new(basic.gblib): SEND FILE pdf as temporary images ViewOnce. 2024-10-12 16:59:23 -03:00
f9b2d5a0cc new(basic.gblib): SEND FILE pdf as temporary images ViewOnce. 2024-10-12 16:35:50 -03:00
d9a88bdb0c new(basic.gblib): SEND FILE pdf as temporary images ViewOnce. 2024-10-12 16:28:33 -03:00
154e6b47f4 new(basic.gblib): SEND FILE pdf as temporary images ViewOnce. 2024-10-06 15:49:07 -03:00
c2c87078f8 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-04 01:53:34 -03:00
abde7b3d48 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-04 01:48:12 -03:00
ec65e9c174 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-04 01:40:28 -03:00
ca3a5370be new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-04 01:32:51 -03:00
bc8918b688 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-04 00:55:10 -03:00
224cbf440c new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 23:57:49 -03:00
70645140ac new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 20:48:03 -03:00
adeba8edaf new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 20:44:58 -03:00
48e0607aae new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 20:42:24 -03:00
0670afcc04 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 20:11:50 -03:00
a5ef750cd1 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 19:36:18 -03:00
4f074b8aeb new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 16:43:31 -03:00
ce32372118 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 14:44:48 -03:00
f09f98378c new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 13:16:22 -03:00
23fa5d6c35 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 13:07:51 -03:00
3b5b560576 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 12:39:52 -03:00
32b2a15fa9 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-03 10:38:31 -03:00
ba684a5822 new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-02 19:04:20 -03:00
4fb7eae1fc new(basic.gblib): SEND FILE pdf as temporary images. 2024-10-02 18:39:25 -03:00
d161a23005 new(basic.gblib): HEAR AS QRCODE. 2024-10-02 10:12:03 -03:00
d6dafb4385 fix(all): Templates OK. 2024-09-29 22:15:39 -03:00
8151346e46 fix(all): Templates OK. 2024-09-29 22:08:08 -03:00
bf2a71fbc1 fix(all): Templates OK. 2024-09-29 22:01:56 -03:00
cd7c997b0f fix(all): Templates OK. 2024-09-29 21:52:07 -03:00
f9bea35197 fix(all): Templates OK. 2024-09-29 21:37:41 -03:00
f0b6187cae fix(all): Templates OK. 2024-09-29 20:33:39 -03:00
19e923d994 fix(all): Templates OK. 2024-09-29 20:23:13 -03:00
85e232c1ed fix(core.gbapp): SaaS missing in PROD. 2024-09-26 14:57:26 -03:00
e90111fea1 fix(core.gbapp): SaaS missing in PROD. 2024-09-26 14:53:16 -03:00
4cbf6ae5db fix(core.gbapp): SaaS missing in PROD. 2024-09-26 14:46:49 -03:00
eef250248b fix(core.gbapp): SaaS missing in PROD. 2024-09-26 14:08:41 -03:00
92085e0435 fix(core.gbapp): SaaS missing in PROD. 2024-09-26 14:03:29 -03:00
86679e078b fix(core.gbapp): SaaS missing in PROD. 2024-09-26 13:58:24 -03:00
8c7de14213 fix(core.gbapp): SaaS missing in PROD. 2024-09-26 13:29:42 -03:00
b78f2edab3 fix(core.gbapp): SaaS missing in PROD. 2024-09-26 13:11:09 -03:00
55b0c1e7bb fix(core.gbapp): Themes missing in PROD. 2024-09-26 12:36:08 -03:00
35b90dc269 fix(all): Templates OK. 2024-09-25 17:30:32 -03:00
5f01d95b75 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2024-09-25 17:01:56 -03:00
110c191ede fix(all): LLM tools OK. 2024-09-25 16:54:52 -03:00
417c89b515 Update README.md 2024-09-24 21:09:11 -03:00
28b7831f96 Update README.md 2024-09-24 21:01:49 -03:00
bf93c9ec15 new(all): Node.js v22 and ts-node. 2024-09-24 20:32:38 -03:00
3106faab1d new(all): Node.js v22 and ts-node. 2024-09-24 17:13:23 -03:00
08d81c18d3 new(all): Node.js v22 and ts-node. 2024-09-24 17:03:37 -03:00
a8d645ecb9 new(all): Node.js v22 and ts-node. 2024-09-24 16:44:03 -03:00
92b391f19f new(all): Node.js v22 and ts-node. 2024-09-24 14:38:34 -03:00
afc0f4b445 new(all): Node.js v22 and ts-node. 2024-09-24 14:30:01 -03:00
Rodrigo Rodriguez
824e23a01c fix (templates): ai-search OK. Image by AI. 2024-09-19 23:01:45 -03:00
Rodrigo Rodriguez
a74447faf4 fix (templates): ai-search OK. Fix themes. 2024-09-19 22:52:28 -03:00
Rodrigo Rodriguez
23143e928a fix (templates): ai-search OK. Fix themes. 2024-09-19 22:45:21 -03:00
Rodrigo Rodriguez
4a2744426c fix (templates): ai-search OK. Fix themes. 2024-09-19 22:40:04 -03:00
Rodrigo Rodriguez
b76899f888 fix (templates): ai-search OK. Fix themes. 2024-09-19 20:50:05 -03:00
Rodrigo Rodriguez
2ebaa1151c fix (templates): ai-search OK. Fix themes. 2024-09-19 17:46:43 -03:00
Rodrigo Rodriguez
64ee0b7ee7 fix (templates): ai-search OK. Image by AI. 2024-09-19 09:17:30 -03:00
Rodrigo Rodriguez
b22a3dc87b fix (templates): ai-search OK. 2024-09-18 18:43:19 -03:00
Rodrigo Rodriguez
d7b80f596f fix (templates): ai-search OK. 2024-09-18 14:46:39 -03:00
Rodrigo Rodriguez
130ecd81fd fix (templates): ai-search OK. 2024-09-18 13:45:33 -03:00
Rodrigo Rodriguez
76bf359831 fix (templates): ai-search OK. 2024-09-18 13:21:21 -03:00
Rodrigo Rodriguez
ff5831f142 fix (templates): ai-search OK. 2024-09-17 19:27:06 -03:00
Rodrigo Rodriguez
dc6802d276 fix (core.gbapp): Download folder on server azure. 2024-09-17 15:36:43 -03:00
Rodrigo Rodriguez
da3a78e2c5 fix (core.gbapp): Download folder on server azure. 2024-09-17 15:05:17 -03:00
Rodrigo Rodriguez
00fdafb3d1 fix (core.gbapp): Download folder on server azure. 2024-09-16 19:22:55 -03:00
Rodrigo Rodriguez
01e830595e fix (core.gbapp): Download folder on server azure. 2024-09-16 19:12:58 -03:00
Rodrigo Rodriguez
2f133895e0 fix (core.gbapp): Download folder on server azure. 2024-09-16 19:04:33 -03:00
Rodrigo Rodriguez
d3e0dce21e fix (core.gbapp): Download folder on server azure. 2024-09-16 18:47:12 -03:00
Rodrigo Rodriguez
e7b63b2547 fix (core.gbapp): Download folder on server azure. 2024-09-16 18:42:18 -03:00
Rodrigo Rodriguez
7633bc508f fix (templates): llm-server OK. 2024-09-15 18:32:20 -03:00
Rodrigo Rodriguez
a8278458fd fix (templates): llm-server OK. 2024-09-15 18:30:08 -03:00
Rodrigo Rodriguez
50b2a47379 fix (templates): llm-server almost OK. 2024-09-15 16:30:03 -03:00
Rodrigo Rodriguez
dc6b3f7ce4 fix (templates): llm-server almost OK. 2024-09-15 14:41:56 -03:00
Rodrigo Rodriguez
a6992f4760 fix (templates): llm-server almost OK. 2024-09-14 21:26:54 -03:00
Rodrigo Rodriguez
3ad0d8ecf5 fix (templates): llm-server almost OK. 2024-09-14 10:45:54 -03:00
Rodrigo Rodriguez
0c65fd86ca fix (templates): llm-server almost OK. 2024-09-13 16:56:04 -03:00
Rodrigo Rodriguez
04873d9ca5 fix (templates): llm-server OK. 2024-09-12 15:05:32 -03:00
Rodrigo Rodriguez
9d06e2b34c fix (templates): llm-tools OK. 2024-09-11 21:11:38 -03:00
Rodrigo Rodriguez
2fd85d667a fix (templates): tal-to-data OK. 2024-09-11 21:02:19 -03:00
Rodrigo Rodriguez
d08e08bdb7 fix (templates): ai-search OK. 2024-09-11 18:39:37 -03:00
Rodrigo Rodriguez
4e7a91ab1f fix (templates): edu OK. 2024-09-11 17:18:03 -03:00
Rodrigo Rodriguez
b253627ac0 fix (templates): law OK. 2024-09-11 14:41:24 -03:00
Rodrigo Rodriguez
723417f7aa new (basic.gblib): auto-publish. 2024-09-11 00:33:17 -03:00
Rodrigo Rodriguez
490fc426cd fix (all): path and fs normalization. 2024-09-10 23:25:07 -03:00
Rodrigo Rodriguez
b4cb44698b fix (all): path and fs normalization. 2024-09-09 19:14:43 -03:00
Rodrigo Rodriguez
c50d1f6e39 fix (all): path and fs normalization. 2024-09-09 17:54:25 -03:00
Rodrigo Rodriguez
0c7772d1cc fix (all): path and fs normalization. 2024-09-09 10:28:38 -03:00
Rodrigo Rodriguez
0675b114c2 fix (all): path and fs normalization. 2024-09-08 16:48:26 -03:00
Rodrigo Rodriguez
9312460940 fix (all): path and fs normalization. 2024-09-07 18:13:36 -03:00
Rodrigo Rodriguez
9b868e63fe fix (all): path and fs normalization. 2024-09-07 00:08:23 -03:00
Rodrigo Rodriguez
f34be07f8e fix (all): path and fs normalization. 2024-09-06 15:30:03 -03:00
Rodrigo Rodriguez
5d2c8cc840 new(basic.gblib): Crawler can index all now. 2024-09-06 15:15:42 -03:00
Rodrigo Rodriguez
a769405e56 new(basic.gblib): Video in WPP templates. 2024-09-05 15:28:21 -03:00
Rodrigo Rodriguez
87470040e3 new(basic.gblib): Video in WPP templates. 2024-09-05 15:15:15 -03:00
Rodrigo Rodriguez
fcf36fdd72 new(basic.gblib): Video in WPP templates. 2024-09-05 15:08:26 -03:00
Rodrigo Rodriguez
5d1c0ed4a0 new(basic.gblib): Video in WPP templates. 2024-09-05 15:03:38 -03:00
Rodrigo Rodriguez
fd51bc619a new(basic.gblib): CHART PROMPT and chart mode. 2024-09-05 14:53:21 -03:00
Rodrigo Rodriguez
2007dc072c new(basic.gblib): CHART PROMPT and chart mode. 2024-09-05 14:26:08 -03:00
Rodrigo Rodriguez
1217660442 new(basic.gblib): CHART PROMPT and chart mode. 2024-09-05 01:23:49 -03:00
Rodrigo Rodriguez
f2b0f69eca fix(llm.gblib): More templates working: law. 2024-09-04 16:48:08 -03:00
Rodrigo Rodriguez
d486c7d786 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2024-09-04 15:24:00 -03:00
Rodrigo Rodriguez
c163453f16 fix(llm.gblib): Tool fix. 2024-09-04 15:23:56 -03:00
d6cf089fb0 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2024-09-04 15:22:59 -03:00
4bb3618840 new(basic.gblib): Facebook added. 2024-09-04 14:58:11 -03:00
Rodrigo Rodriguez
293f8944fb fix(llm.gblib): Tool fix. 2024-09-04 00:18:19 -03:00
Rodrigo Rodriguez
32ca1dcd42 fix(all): Packages updated. 2024-09-03 11:20:13 -03:00
Rodrigo Rodriguez
81c604224a fix(llm.gblib): Tool fix. More templates. 2024-09-02 20:16:56 -03:00
Rodrigo Rodriguez
0dfa78f77b fix(llm.gblib): Tool fix. More templates. 2024-09-01 21:46:55 -03:00
Rodrigo Rodriguez
5c22d0600d new(all): WebDav support for all bots. 2024-09-01 18:21:34 -03:00
Rodrigo Rodriguez
c85f7f6888 new(all): WebDav support for all bots. 2024-09-01 10:08:56 -03:00
Rodrigo Rodriguez
9207cffa52 new(all): WebDav support for all bots. 2024-08-31 16:26:54 -03:00
Rodrigo Rodriguez
02e78c6c88 new(all): WebDav support for all bots. 2024-08-31 15:35:32 -03:00
Rodrigo Rodriguez
adbb91c316 new(all): WebDav support for all bots. 2024-08-31 04:33:51 -03:00
Rodrigo Rodriguez
27d3ea443a new(all): WebDav support for all bots. 2024-08-31 04:02:17 -03:00
Rodrigo Rodriguez
2481ffb7cf new(all): WebDav support for all bots. 2024-08-31 03:52:37 -03:00
Rodrigo Rodriguez
9a1425a0ac new(all): WebDav support for all bots. 2024-08-30 19:22:56 -03:00
Rodrigo Rodriguez
28a4290b6a new(all): WebDav support for all bots. 2024-08-30 14:15:02 -03:00
Rodrigo Rodriguez
dac2d783b9 fix(all): TRUE multicloud. 2024-08-29 22:10:52 -03:00
Rodrigo Rodriguez
e2c14417f2 fix(all): TRUE multicloud. 2024-08-29 19:53:56 -03:00
Rodrigo Rodriguez
3860398f1f fix(all): TRUE multicloud. 2024-08-28 19:42:12 -03:00
Rodrigo Rodriguez
d6fe8f6e0f fix(all): TRUE multicloud. 2024-08-27 19:07:13 -03:00
Rodrigo Rodriguez
589c2b2f4c fix(all): TRUE multicloud. 2024-08-27 16:15:08 -03:00
Rodrigo Rodriguez
27a4441fc5 fix(all): TRUE multicloud. 2024-08-27 15:32:03 -03:00
Rodrigo Rodriguez
bf3f7f1316 fix(all): TRUE multicloud. 2024-08-26 23:04:24 -03:00
Rodrigo Rodriguez
9eeb9a430e fix(all): TRUE multicloud. 2024-08-26 22:47:00 -03:00
Rodrigo Rodriguez
c0de9f8a44 fix(all): TRUE multicloud. 2024-08-26 22:42:07 -03:00
Rodrigo Rodriguez
2cdccd2c74 fix(all): TRUE multicloud. 2024-08-26 22:30:28 -03:00
Rodrigo Rodriguez
e36e1f2760 fix(all): TRUE multicloud. 2024-08-26 22:25:14 -03:00
Rodrigo Rodriguez
4d615cc150 fix(all): TRUE multicloud. 2024-08-26 21:47:57 -03:00
Rodrigo Rodriguez
9fff4a80f0 fix(all): TRUE multicloud. 2024-08-26 21:16:20 -03:00
Rodrigo Rodriguez
d08193a8c5 fix(all): TRUE multicloud. 2024-08-26 20:04:12 -03:00
Rodrigo Rodriguez
b11ee8a763 fix(all): TRUE multicloud. 2024-08-26 20:01:49 -03:00
Rodrigo Rodriguez
61bfb367b6 fix(all): TRUE multicloud. 2024-08-26 19:55:16 -03:00
Rodrigo Rodriguez
1dc5c0ce83 fix(all): TRUE multicloud. 2024-08-26 19:31:26 -03:00
Rodrigo Rodriguez
5cabd2b9e9 fix(all): TRUE multicloud. 2024-08-26 19:03:46 -03:00
Rodrigo Rodriguez
d66269e771 fix(all): TRUE multicloud. 2024-08-25 13:31:18 -03:00
Rodrigo Rodriguez
13ca7e0706 fix(all): TRUE multicloud. 2024-08-25 13:17:15 -03:00
Rodrigo Rodriguez
2eed35fb37 fix(all): TRUE multicloud. 2024-08-25 13:05:26 -03:00
Rodrigo Rodriguez
c9bee959a3 fix(all): TRUE multicloud. 2024-08-24 17:30:00 -03:00
Rodrigo Rodriguez
15560222e1 fix(all): New templates. 2024-08-24 15:52:23 -03:00
Rodrigo Rodriguez
a298499a7d fix(all): New templates. 2024-08-24 11:51:41 -03:00
Rodrigo Rodriguez
d7acb5a12e fix(all): New templates. 2024-08-24 11:35:22 -03:00
Rodrigo Rodriguez
826e65b99c fix(all): New templates. 2024-08-24 01:15:28 -03:00
Rodrigo Rodriguez
6767a8624b fix(all): New templates. 2024-08-24 01:10:36 -03:00
Rodrigo Rodriguez
f7d08ad8af fix(all): New templates. 2024-08-24 00:50:32 -03:00
Rodrigo Rodriguez
a8223f82c7 fix(all): New templates. 2024-08-24 00:22:34 -03:00
Rodrigo Rodriguez
df0340c909 fix(all): New templates. 2024-08-24 00:13:07 -03:00
Rodrigo Rodriguez
62e638de62 fix(all): New templates. 2024-08-24 00:12:50 -03:00
Rodrigo Rodriguez
4796d24658 fix(all): New templates. 2024-08-23 23:41:53 -03:00
Rodrigo Rodriguez
be416881e6 fix(all): New templates. 2024-08-23 23:40:02 -03:00
Rodrigo Rodriguez
e105e12d9d fix(all): New templates. 2024-08-23 23:38:37 -03:00
Rodrigo Rodriguez
7d23fb8beb Merge branch 'main' of https://github.com/GeneralBots/BotServer 2024-08-23 23:36:22 -03:00
Rodrigo Rodriguez
dcc84fe24c fix(all): New templates. 2024-08-23 23:36:20 -03:00
9ff22a712e Merge branch 'main' of https://github.com/GeneralBots/BotServer 2024-08-23 18:14:10 -03:00
Rodrigo Rodriguez
c50b516b56 fix(all): New templates. 2024-08-23 17:54:47 -03:00
Rodrigo Rodriguez
623bd9a54c fix(all): New templates. 2024-08-23 17:23:22 -03:00
cd7cc27952 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2024-08-23 17:21:53 -03:00
5414285013 fix(all): Image generation fixing. 2024-08-23 17:18:42 -03:00
Rodrigo Rodriguez
e7880e003b fix(all): New templates. 2024-08-23 00:00:04 -03:00
Rodrigo Rodriguez
53dc1b28a1 fix(all): TRUE multicloud. 2024-08-21 17:03:33 -03:00
Rodrigo Rodriguez
08db11f97f fix(all): TRUE multicloud. 2024-08-21 15:40:08 -03:00
Rodrigo Rodriguez
fe36188a95 fix(all): TRUE multicloud. 2024-08-21 13:26:40 -03:00
Rodrigo Rodriguez
e8d224d5d9 fix(all): TRUE multicloud. 2024-08-21 13:09:50 -03:00
Rodrigo Rodriguez
fb952d020a new(all): TRUE multicloud. 2024-08-21 07:56:14 -03:00
Rodrigo Rodriguez
4b98050c05 new(all): TRUE multicloud. 2024-08-21 07:28:42 -03:00
Rodrigo Rodriguez
ee1e026cb7 new(all): TRUE multicloud. 2024-08-20 23:04:33 -03:00
Rodrigo Rodriguez
d4e814f454 new(all): TRUE multicloud. 2024-08-20 19:12:57 -03:00
Rodrigo Rodriguez
3d92c6c539 new(all): TRUE multicloud. 2024-08-20 16:18:01 -03:00
Rodrigo Rodriguez
1cf3e7621f new(all): TRUE multicloud. 2024-08-20 16:12:30 -03:00
Rodrigo Rodriguez
2b5076a214 new(all): TRUE multicloud. 2024-08-20 15:49:28 -03:00
Rodrigo Rodriguez
84caf7d6a4 new(all): TRUE multicloud. 2024-08-20 15:44:28 -03:00
Rodrigo Rodriguez
d9036d7d45 new(all): TRUE multicloud. 2024-08-20 15:35:03 -03:00
Rodrigo Rodriguez
5653413f51 new(all): TRUE multicloud. 2024-08-20 15:32:18 -03:00
Rodrigo Rodriguez
492ff03c5d new(all): TRUE multicloud. 2024-08-20 15:30:47 -03:00
Rodrigo Rodriguez
20edcb0151 new(all): TRUE multicloud. 2024-08-20 15:26:07 -03:00
Rodrigo Rodriguez
2fdc401b5c new(all): TRUE multicloud. 2024-08-20 15:18:44 -03:00
Rodrigo Rodriguez
1a3aa08099 new(all): TRUE multicloud. 2024-08-20 15:13:43 -03:00
Rodrigo Rodriguez
f021baabc3 new(all): TRUE multicloud. 2024-08-19 23:03:58 -03:00
Rodrigo Rodriguez
24e9561da4 new(all): TRUE multicloud. 2024-08-19 17:09:23 -03:00
Rodrigo Rodriguez
6aa47ecf6a new(all): TRUE multicloud. 2024-08-19 16:12:23 -03:00
Rodrigo Rodriguez
b155688635 new(all): TRUE multicloud. 2024-08-18 17:51:03 -03:00
Rodrigo Rodriguez
1091308ea3 new(all): Unit tests infra. 2024-08-17 21:35:09 -03:00
Rodrigo Rodriguez
cb889a6cd5 fix(all): Formatting code and unit test. 2024-08-17 20:30:00 -03:00
Rodrigo Rodriguez
64c5f5682b new(basic.gblib): New batch features. 2024-08-16 14:04:17 -03:00
Rodrigo Rodriguez
ca043a51f8 new(basic.gblib): New batch features. 2024-08-16 13:02:27 -03:00
Rodrigo Rodriguez
0e91b333b3 new(basic.gblib): New batch features. 2024-08-16 13:00:33 -03:00
Rodrigo Rodriguez
b898e70af0 new(basic.gblib): New batch features. 2024-08-16 12:28:05 -03:00
Rodrigo Rodriguez
1afe68bed8 new(basic.gblib): New batch features. 2024-08-16 12:20:27 -03:00
Rodrigo Rodriguez
dc8e830fdb new(basic.gblib): New batch features. 2024-08-16 10:43:15 -03:00
Rodrigo Rodriguez
dda4212b4e new(basic.gblib): New batch features. 2024-08-13 21:20:33 -03:00
Rodrigo Rodriguez
febadeca50 new(basic.gblib): New batch features. 2024-08-13 21:16:01 -03:00
Rodrigo Rodriguez
83cfec27a1 new(basic.gblib): New batch features. 2024-08-13 21:12:58 -03:00
Rodrigo Rodriguez
b854cd477e new(basic.gblib): New batch features. 2024-08-13 21:09:59 -03:00
Rodrigo Rodriguez
b84da7e8aa new(basic.gblib): New batch features. 2024-08-13 21:03:36 -03:00
Rodrigo Rodriguez
56a10895bc new(basic.gblib): New batch features. 2024-08-13 21:00:08 -03:00
Rodrigo Rodriguez
b976c14414 new(whatsapp.gblib): LLM SQL. 2024-08-13 20:48:53 -03:00
Rodrigo Rodriguez
9544b3441a new(whatsapp.gblib): LLM SQL. 2024-08-13 20:36:57 -03:00
Rodrigo Rodriguez
a8b4a6085d new(whatsapp.gblib): LLM SQL. 2024-08-13 20:26:40 -03:00
Rodrigo Rodriguez
eff21ab514 new(whatsapp.gblib): LLM SQL. 2024-08-13 19:42:48 -03:00
Rodrigo Rodriguez
4d62401bc7 new(whatsapp.gblib): LLM SQL. 2024-08-13 19:27:04 -03:00
Rodrigo Rodriguez
5fa84792af new(whatsapp.gblib): LLM SQL. 2024-08-13 18:45:45 -03:00
Rodrigo Rodriguez
8eeb9c5e93 new(whatsapp.gblib): LLM SQL. 2024-08-11 17:02:39 -03:00
Rodrigo Rodriguez
31b678ca81 new(whatsapp.gblib): LLM SQL. 2024-08-11 16:47:12 -03:00
Rodrigo Rodriguez
983089194e new(whatsapp.gblib): LLM SQL. 2024-08-11 16:44:10 -03:00
Rodrigo Rodriguez
dbddda231f new(whatsapp.gblib): LLM SQL. 2024-08-10 21:01:15 -03:00
Rodrigo Rodriguez
b6fe59925f new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-10 14:14:41 -03:00
Rodrigo Rodriguez
86c0144377 new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-10 13:35:34 -03:00
Rodrigo Rodriguez
94a666566c new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-10 12:29:32 -03:00
Rodrigo Rodriguez
a30350fe7f new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-10 12:25:21 -03:00
Rodrigo Rodriguez
863a161d07 new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-10 11:57:53 -03:00
Rodrigo Rodriguez
5ec36e941c new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-10 11:40:36 -03:00
Rodrigo Rodriguez
58000d0d2d new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-09 18:46:45 -03:00
Rodrigo Rodriguez
6ed6a461a1 new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-06 08:36:42 -03:00
Rodrigo Rodriguez
fa6a5d4ab1 new(whatsapp.gblib): Auto-create WhatsApp templates from articles in .docx. 2024-08-04 17:16:04 -03:00
Rodrigo Rodriguez
aba9c9a27d fix(whatsapp.gblib): Fix broadcasts. 2024-07-12 11:13:47 -03:00
Rodrigo Rodriguez
6f58f8f293 fix(whatsapp.gblib): Fix broadcasts. 2024-07-09 16:47:36 -03:00
Rodrigo Rodriguez
06c633f379 fix(whatsapp.gblib): Fix broadcasts. 2024-07-09 16:42:38 -03:00
Rodrigo Rodriguez
cb3fd7824f fix(whatsapp.gblib): Fix broadcasts. 2024-07-09 16:38:35 -03:00
Rodrigo Rodriguez
f275acce9e fix(whatsapp.gblib): Fix broadcasts. 2024-07-09 16:33:09 -03:00
Rodrigo Rodriguez
8201f0cbca fix(whatsapp.gblib): Fix broadcasts. 2024-07-02 10:47:40 -03:00
Rodrigo Rodriguez
0089a76083 fix(whatsapp.gblib): Fix broadcasts. 2024-06-29 09:09:50 -03:00
Rodrigo Rodriguez
f5712e8a3c new(basic.gblib): SET CONTEXT new keyword. 2024-06-27 19:25:21 -03:00
Rodrigo Rodriguez
7dc5ab8980 new(basic.gblib): SET CONTEXT new keyword. 2024-06-27 19:19:43 -03:00
Rodrigo Rodriguez
3f937348a3 new(basic.gblib): SET CONTEXT new keyword. 2024-06-27 19:16:31 -03:00
Rodrigo Rodriguez
dd1abe090d new(basic.gblib): SET CONTEXT new keyword. 2024-06-27 19:14:01 -03:00
Rodrigo Rodriguez
e2d2b39e66 new(basic.gblib): SET CONTEXT new keyword. 2024-06-27 19:09:54 -03:00
Rodrigo Rodriguez
7808d4b3a1 new(basic.gblib): SET CONTEXT new keyword. 2024-06-27 18:45:33 -03:00
Rodrigo Rodriguez
866df09507 new(kb.gbapp): New option for website depth during Vector Retrieval. 2024-06-26 21:41:32 -03:00
Rodrigo Rodriguez
3e3b7ea90c new(kb.gbapp): New option for website depth during Vector Retrieval. 2024-06-26 21:12:51 -03:00
Rodrigo Rodriguez
9b0e551741 fix(whatsapp.gblib): Fix in version of webVersionCache. 2024-06-23 14:52:04 -03:00
Rodrigo Rodriguez
ef593d1e03 new(basic.gblib): New batch features. 2024-06-15 22:40:50 -03:00
Rodrigo Rodriguez
6d9172224d new(basic.gblib): New batch features. 2024-06-15 20:51:07 -03:00
Rodrigo Rodriguez
a3c5ee12b4 new(basic.gblib): New batch features. 2024-06-15 20:39:53 -03:00
Rodrigo Rodriguez
944e684ed1 new(basic.gblib): New batch features. 2024-06-13 22:24:36 -03:00
Rodrigo Rodriguez
53a3a3317a new(basic.gblib): New batch features. 2024-06-11 23:24:29 -03:00
Rodrigo Rodriguez
66d56f0942 new(basic.gblib): New batch features. 2024-06-10 18:35:45 -03:00
Rodrigo Rodriguez
bf1809e6fd new(basic.gblib): New batch features. 2024-06-09 13:55:33 -03:00
Rodrigo Rodriguez
74e0828db2 new(basic.gblib): New batch features. 2024-06-09 11:16:55 -03:00
Rodrigo Rodriguez
aab22a1c57 new(basic.gblib): New batch features. 2024-06-09 10:54:14 -03:00
Rodrigo Rodriguez
c0f98f903c new(basic.gblib): New batch features. 2024-06-09 10:32:49 -03:00
Rodrigo Rodriguez
ff710d0dae fix(whatsapp.lib): Sending of images in official. 2024-06-01 18:52:03 -03:00
Rodrigo Rodriguez
010c297faf fix(whatsapp.lib): Sending of images in official. 2024-05-30 21:05:58 -03:00
Rodrigo Rodriguez
efd9bb336a fix(whatsapp.lib): Sending of images in official. 2024-05-30 21:00:43 -03:00
Rodrigo Rodriguez
8a7390d262 fix(whatsapp.lib): Sending of images in official. 2024-05-29 12:43:03 -03:00
Rodrigo Rodriguez
f82a403f2a fix(whatsapp.lib): Sending of images in official. 2024-05-29 12:42:31 -03:00
Rodrigo Rodriguez
8a7cb72d3e fix(whatsapp.lib): Sending of images in official. 2024-05-29 11:06:00 -03:00
Rodrigo Rodriguez
665400b69a fix(whatsapp.lib): Sending of images in official. 2024-05-29 10:53:03 -03:00
Rodrigo Rodriguez
6d5681cbc8 fix(whatsapp.lib): Sending of images in official. 2024-05-28 18:21:30 -03:00
Rodrigo Rodriguez
b55689374d fix(whatsapp.lib): Sending of images in official. 2024-05-28 14:06:41 -03:00
Rodrigo Rodriguez
8ac11b0c2f fix(all): Libraries update. 2024-05-27 17:21:56 -03:00
Rodrigo Rodriguez
a897c823be fix(all): Libraries update. 2024-05-26 20:13:56 -03:00
Rodrigo Rodriguez
f51610c389 fix(all): Libraries update. 2024-05-26 10:23:43 -03:00
Rodrigo Rodriguez
0037f24f8e fix(all): Libraries update. 2024-05-26 10:18:20 -03:00
Rodrigo Rodriguez
b620dabda4 fix(all): Libraries update. 2024-05-25 22:00:57 -03:00
Rodrigo Rodriguez
abf54c3758 fix(all): Libraries update. 2024-05-25 21:53:21 -03:00
Rodrigo Rodriguez
139bafac67 fix(all): Libraries update. 2024-05-25 19:11:01 -03:00
Rodrigo Rodriguez
426dadfe5e new(all): Azure OpenAI added as new LLM provider. 2024-05-25 12:48:12 -03:00
Rodrigo Rodriguez
b94d8165e7 new(all): Azure OpenAI added as new LLM provider. 2024-05-25 10:41:33 -03:00
Rodrigo Rodriguez
8af16ab922 new(all): Azure OpenAI added as new LLM provider. 2024-05-25 10:25:20 -03:00
Rodrigo Rodriguez
bf75b8adac new(all): Azure OpenAI added as new LLM provider. 2024-05-25 10:20:56 -03:00
Rodrigo Rodriguez
3dd127acc3 new(all): Azure OpenAI added as new LLM provider. 2024-05-25 10:08:39 -03:00
Rodrigo Rodriguez
fc4ae7389b new(all): Azure OpenAI added as new LLM provider. 2024-05-25 09:58:30 -03:00
Rodrigo Rodriguez
e37597d73f new(all): Azure OpenAI added as new LLM provider. 2024-05-24 21:59:45 -03:00
Rodrigo Rodriguez
a65dd19f88 new(all): Azure OpenAI added as new LLM provider. 2024-05-24 21:47:13 -03:00
Rodrigo Rodriguez
d2dc8797ee new(all): Azure OpenAI added as new LLM provider. 2024-05-24 21:22:16 -03:00
Rodrigo Rodriguez
88f015dec3 new(all): Azure OpenAI added as new LLM provider. 2024-05-24 21:15:01 -03:00
Rodrigo Rodriguez
99b4eba896 new(all): Azure OpenAI added as new LLM provider. 2024-05-24 20:57:48 -03:00
Rodrigo Rodriguez
490d5ddb0a new(all): Azure OpenAI added as new LLM provider. 2024-05-24 20:34:12 -03:00
Rodrigo Rodriguez
bc6d3c886d new(all): Auto import for logo, colors and website content. 2024-05-24 18:41:16 -03:00
Rodrigo Rodriguez
7f93a6fa8c new(all): Auto import for logo, colors and website content. 2024-05-24 18:39:46 -03:00
Rodrigo Rodriguez
2d01176a52 new(all): Auto import for logo, colors and website content. 2024-05-24 18:31:07 -03:00
Rodrigo Rodriguez
7d7887a9f3 new(all): Auto import for logo, colors and website content. 2024-05-24 17:11:45 -03:00
Rodrigo Rodriguez
0bb7d990e1 new(all): Auto import for logo, colors and website content. 2024-05-24 14:52:46 -03:00
Rodrigo Rodriguez
eefe39790f new(all): Auto import for logo, colors and website content. 2024-05-24 14:50:05 -03:00
Rodrigo Rodriguez
3fca2508ac new(all): Auto import for logo, colors and website content. 2024-05-24 11:29:52 -03:00
Rodrigo Rodriguez
c875e1bb7c new(all): Auto import for logo, colors and website content. 2024-05-23 23:45:45 -03:00
Rodrigo Rodriguez
9ac97d1e53 new(all): Auto import for logo, colors and website content. 2024-05-23 14:42:04 -03:00
Rodrigo Rodriguez
1f07350846 new(all): Auto import for logo, colors and website content. 2024-05-23 14:11:33 -03:00
Rodrigo Rodriguez
4e0895cf3a new(all): Auto import for logo, colors and website content. 2024-05-22 22:42:52 -03:00
Rodrigo Rodriguez
8d0fab054c new(all): Auto import for logo, colors and website content. 2024-05-22 19:45:09 -03:00
Rodrigo Rodriguez
bae364b443 new(all): Auto import for logo, colors and website content. 2024-05-22 19:26:00 -03:00
Rodrigo Rodriguez
d1b0667284 new(all): Auto import for logo, colors and website content. 2024-05-22 19:09:34 -03:00
Rodrigo Rodriguez
e2be0f6f6c new(all): Auto import for logo, colors and website content. 2024-05-22 18:43:57 -03:00
Rodrigo Rodriguez
3c9ab8ade9 new(all): Auto import for logo, colors and website content. 2024-05-22 14:43:09 -03:00
Rodrigo Rodriguez
6813a3b255 new(all): Auto import for logo, colors and website content. 2024-05-22 14:26:38 -03:00
Rodrigo Rodriguez
785f7929e0 new(all): Auto import for logo, colors and website content. 2024-05-22 13:33:13 -03:00
Rodrigo Rodriguez
2efa174dd4 new(all): Auto import for logo, colors and website content. 2024-05-22 13:23:36 -03:00
Rodrigo Rodriguez
775b375821 new(all): Auto import for logo, colors and website content. 2024-05-22 13:21:29 -03:00
Rodrigo Rodriguez
385d715680 new(all): Auto import for logo, colors and website content. 2024-05-22 11:14:10 -03:00
Rodrigo Rodriguez
407874c821 new(all): Auto import for logo, colors and website content. 2024-05-22 08:42:17 -03:00
Rodrigo Rodriguez
a5b72058cf new(all): Auto import for logo, colors and website content. 2024-05-22 08:37:37 -03:00
Rodrigo Rodriguez
8d8809eb61 new(all): Auto import for logo, colors and website content. 2024-05-22 07:37:22 -03:00
Rodrigo Rodriguez
e7a63a295a new(all): Auto import for logo, colors and website content. 2024-05-21 20:27:24 -03:00
Rodrigo Rodriguez
adc4a8cf39 new(all): Auto import for logo, colors and website content. 2024-05-21 18:28:37 -03:00
Rodrigo Rodriguez
d11665cdc1 new(all): Auto import for logo, colors and website content. 2024-05-21 18:11:33 -03:00
Rodrigo Rodriguez
8b4599168e new(all): Auto import for logo, colors and website content. 2024-05-21 14:42:30 -03:00
Rodrigo Rodriguez
3a2ef4f828 new(all): Auto import for logo, colors and website content. 2024-05-21 13:54:52 -03:00
Rodrigo Rodriguez
b51266436f new(all): Auto import for logo, colors and website content. 2024-05-21 13:17:42 -03:00
Rodrigo Rodriguez
bc0cf0d667 new(all): Sharp multiplatform. 2024-05-19 16:23:24 -03:00
Rodrigo Rodriguez
b2b0266e59 new(all): Sharp multiplatform. 2024-05-19 16:14:58 -03:00
Rodrigo Rodriguez
9a30ef4c07 new(all): Website indexing. 2024-05-17 19:19:58 -03:00
Rodrigo Rodriguez
f177cfbc28 fix(all): Packages updated. 2024-05-17 08:24:42 -03:00
e5655c29f2 fix(whatsapp.gblib): Fix PRIVACY_STORE_MESSAGES param. 2024-05-14 19:23:12 -03:00
eac8f73536 fix(whatsapp.gblib): Fix PRIVACY_STORE_MESSAGES param. 2024-05-12 19:07:47 -03:00
8981ed83fb fix(whatsapp.gblib): Fix PRIVACY_STORE_MESSAGES param. 2024-05-12 18:24:56 -03:00
074c8cb043 fix(whatsapp.gblib): Fix PRIVACY_STORE_MESSAGES param. 2024-05-11 17:32:45 -03:00
6523aed9c4 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-06 18:26:37 -03:00
fab94e569f new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-06 18:21:18 -03:00
a94da658a0 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-06 18:07:34 -03:00
673c4d59fc new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-06 17:52:08 -03:00
dedc66cb8f new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-06 17:35:46 -03:00
db2576f87a new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-03 15:07:04 -03:00
4295262c47 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-03 14:23:48 -03:00
18c01ac5ec new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-05-03 14:18:16 -03:00
01510feecc new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 20:23:23 -03:00
383e5a42c1 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 20:13:09 -03:00
80efd42068 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 20:12:11 -03:00
04591ec606 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 20:08:59 -03:00
76e481a1e5 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 20:07:50 -03:00
2cec137f73 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 15:08:24 -03:00
ba5dda463e new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 15:05:31 -03:00
08ac153f01 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 01:10:09 -03:00
aab2b74547 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 00:58:57 -03:00
8356913436 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 00:56:24 -03:00
90ab95d307 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 00:42:28 -03:00
d6f983b503 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 00:29:24 -03:00
2438e7495a new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-30 00:22:02 -03:00
1500e1ef6c new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-29 14:41:18 -03:00
5f22f9dbcf new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-29 13:57:31 -03:00
47336d84fe new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-28 23:43:02 -03:00
0d12e3936e new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-28 23:34:58 -03:00
2ff0b992e4 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-28 23:28:07 -03:00
97d971029c new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-28 19:18:47 -03:00
ad42c7ac6a new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-28 16:17:00 -03:00
80f53a5481 new(whatsapp.gblib): New WhatsApp provider: Meta. 2024-04-28 00:28:47 -03:00
fabd848b9b new(all): GBLogEx published. 2024-04-27 17:47:06 -03:00
3e42cf91b2 new(all): GBLogEx published. 2024-04-27 17:04:54 -03:00
4d148ccbd0 new(all): GBLogEx published. 2024-04-21 23:39:39 -03:00
bede79377e new(all): Domain update. 2024-04-20 17:24:00 -03:00
2d0ef14a24 new(core.gbapp): New API endpoint. 2024-04-17 16:38:26 -03:00
f7d08e8278 new(core.gbapp): New API endpoint. 2024-04-17 16:32:48 -03:00
79ff80dc08 new(core.gbapp): New API endpoint. 2024-04-17 16:07:19 -03:00
ef07b2b7f6 new(core.gbapp): New API endpoint. 2024-04-17 15:49:37 -03:00
f023371b69 new(core.gbapp): New API endpoint. 2024-04-17 15:36:08 -03:00
dc9c75a36e new(core.gbapp): New API endpoint. 2024-04-17 15:07:53 -03:00
f6640703e6 new(core.gbapp): New API endpoint. 2024-04-17 14:56:31 -03:00
5cb3255bed new(core.gbapp): New API endpoint. 2024-04-17 14:48:30 -03:00
a7f134d5fe new(core.gbapp): New API endpoint. 2024-04-17 13:24:55 -03:00
2d64cedb31 new(core.gbapp): New API endpoint. 2024-04-17 13:12:04 -03:00
0a58e777b2 new(core.gbapp): New API endpoint. 2024-04-17 12:39:50 -03:00
ef4de128e4 new(core.gbapp): New API endpoint. 2024-04-17 12:36:03 -03:00
0701fb4895 new(core.gbapp): New API endpoint. 2024-04-17 12:27:00 -03:00
283c43245b new(core.gbapp): New API endpoint. 2024-04-17 12:02:56 -03:00
baa9f608e6 new(core.gbapp): New API endpoint. 2024-04-17 10:54:59 -03:00
e9bc386d48 new(core.gbapp): New API endpoint. 2024-04-17 10:50:33 -03:00
55280adea5 new(gpt.gblib): PDF opener. 2024-04-14 23:17:37 -03:00
e9cd7b1d57 new(gpt.gblib): PDF opener. 2024-04-14 12:37:07 -03:00
b891157321 new(WhatsApp.gblib): Warning of QRCode. 2024-04-13 17:08:10 -03:00
10c6abfe36 new(WhatsApp.gblib): Warning of QRCode. 2024-04-13 14:14:03 -03:00
86485a4bf1 new(WhatsApp.gblib): Warning of QRCode. 2024-04-13 13:42:17 -03:00
bc110f0a9a new(WhatsApp.gblib): Warning of QRCode. 2024-04-13 13:42:04 -03:00
ade45dce2b new(WhatsApp.gblib): Warning of QRCode. 2024-04-13 13:23:31 -03:00
dc4b943321 new(WhatsApp.gblib): Warning of QRCode. 2024-04-13 12:24:08 -03:00
34503d32c3 fix(basic.gblib): SEND EMAIL body is now optional. 2024-04-02 17:52:17 -03:00
16e02440eb fix(basic.gblib): #412 neutralization. 2024-04-01 13:00:47 -03:00
ae304eabbb fix(basic.gblib): #411 neutralization. 2024-04-01 12:54:43 -03:00
04455af1c3 fix(basic.gblib): #411 neutralization. 2024-04-01 12:48:39 -03:00
44cb4693d9 fix(basic.gblib): #411 neutralization. 2024-04-01 12:31:02 -03:00
aefac98475 fix(basic.gblib): #411 neutralization. 2024-04-01 11:55:45 -03:00
a698506e4a fix(azuredeployer.gblib): #406, fixing. 2024-03-30 18:44:28 -03:00
b348a1d03c new(gpt.gblib): PDF opener. 2024-03-22 22:58:12 -03:00
ab3e376ae8 new(gpt.gblib): PDF opener. 2024-03-22 22:51:36 -03:00
af28077658 fix(basic.gblib): FUNCTION GPT. 2024-03-22 19:18:17 -03:00
f98ba4819a fix(basic.gblib): FUNCTION GPT. 2024-03-22 19:02:19 -03:00
50e96c8dfa fix(basic.gblib): FUNCTION GPT. 2024-03-22 18:29:54 -03:00
1b19686b6f fix(basic.gblib): FUNCTION GPT. 2024-03-22 18:14:03 -03:00
94eb6369ca fix(basic.gblib): FUNCTION GPT. 2024-03-21 23:59:10 -03:00
5c30a001ba fix(basic.gblib): FUNCTION GPT. 2024-03-21 23:49:32 -03:00
881e25194c fix(basic.gblib): FUNCTION GPT. 2024-03-21 23:41:33 -03:00
28495740c8 new(gpt.gblib): Wikipedia feature. 2024-03-21 17:35:09 -03:00
f7ca862e0f fix(core.gbapp): Fix deployer group. 2024-03-20 00:42:44 -03:00
3c51841bae fix(core.gbapp): Fix deployer group. 2024-03-19 11:45:21 -03:00
f547b99c2a fix(core.gbapp): Fix deployer group. 2024-03-17 20:32:10 -03:00
1129bb7d24 fix(core.gbapp): Fix deployer group. 2024-03-17 12:05:33 -03:00
dbbba5e0b6 new(security.gblib): SMS Auth. 2024-03-16 23:06:15 -03:00
076099e646 fix(basic.gblib): Fix Scheduling. 2024-03-16 22:50:30 -03:00
cd2d2ee1b7 fix(basic.gblib): Fix Scheduling. 2024-03-16 22:42:24 -03:00
db777c41a1 fix(basic.gblib): Fix Scheduling. 2024-03-16 22:36:32 -03:00
08c4886d5c fix(basic.gblib): Fix Scheduling. 2024-03-16 21:36:03 -03:00
b4500b969b new(gpt.gblib): GPT Tools and .gbdialog. 2024-03-15 07:14:21 -03:00
8c796f9625 new(gpt.gblib): GPT Tools and .gbdialog. 2024-03-13 20:26:13 -03:00
b11e68a3b1 new(gpt.gblib): GPT Tools and .gbdialog. 2024-03-13 20:12:05 -03:00
64e159aad5 new(security.gblib): SMS Auth. 2024-03-13 09:04:30 -03:00
215585a0e2 new(security.gblib): SMS Auth. 2024-03-12 19:00:27 -03:00
d508dc575f new(security.gblib): SMS Auth. 2024-03-12 18:58:43 -03:00
312f7e599d new(security.gblib): SMS Auth. 2024-03-12 18:46:56 -03:00
a57756d63e new(security.gblib): SMS Auth. 2024-03-11 15:11:15 -03:00
415a60c45a new(security.gblib): SMS Auth. 2024-03-11 15:07:38 -03:00
a7816f1257 new(security.gblib): SMS Auth. 2024-03-11 15:06:50 -03:00
63ed9a46eb new(security.gblib): SMS Auth. 2024-03-11 15:05:07 -03:00
f19c3656e8 new(security.gblib): SMS Auth. 2024-03-11 15:03:53 -03:00
105668c51b new(security.gblib): SMS Auth. 2024-03-11 13:45:20 -03:00
5b196e8c96 new(security.gblib): SMS Auth. 2024-03-11 13:30:11 -03:00
3abcf7671c fix(basic.gblib): FUNCTION GPT. 2024-03-10 00:16:24 -03:00
689f0f5e77 new(WhatsApp.gblib): Official Twilio driver. 2024-03-09 14:02:17 -03:00
1e30424491 new(WhatsApp.gblib): Official Twilio driver. 2024-03-08 17:10:13 -03:00
fce2985a5d fix(basic.gblib): FUNCTION GPT. 2024-03-06 23:59:32 -03:00
8736265665 fix(basic.gblib): FUNCTION GPT. 2024-03-06 16:22:26 -03:00
fd7d4438cc fix(basic.gblib): FUNCTION GPT. 2024-03-06 14:38:37 -03:00
f3a1bda766 fix(basic.gblib): FUNCTION GPT. 2024-03-04 20:05:56 -03:00
0ce4cd8179 fix(basic.gblib): FUNCTION GPT. 2024-03-03 16:20:50 -03:00
6115c0539b fix(basic.gblib): SET LANGUAGE fix. 2024-02-28 21:09:57 -03:00
837d4810db fix(basic.gblib): SET LANGUAGE fix. 2024-02-28 12:35:02 -03:00
53b7446504 fix(basic.gblib): SET LANGUAGE fix. 2024-02-28 12:15:30 -03:00
6814b722a5 fix(basic.gblib): ALLOW ROLE return people. 2024-02-25 21:07:58 -03:00
708c30fe64 fix(basic.gblib): ALLOW ROLE return people. 2024-02-25 21:00:23 -03:00
2719adbf00 fix(basic.gblib): ALLOW ROLE return people. 2024-02-25 20:58:36 -03:00
39bf995fa1 fix(basic.gblib): ALLOW ROLE return people. 2024-02-25 20:01:07 -03:00
744c67587a fix(basic.gblib): ALLOW ROLE return people. 2024-02-25 19:49:46 -03:00
2a332f92be fix(basic.gblib): ALLOW ROLE return people. 2024-02-24 18:53:01 -03:00
d8e4c4fbad fix(basic.gblib): ALLOW ROLE return people. 2024-02-24 18:01:28 -03:00
518c740560 fix(basic.gblib): ALLOW ROLE return people. 2024-02-24 17:48:41 -03:00
0f345bc6de fix(basic.gblib): SEND FILE fix for sub directories. 2024-02-24 15:39:16 -03:00
8b34001a6e fix(basic.gblib): SEND FILE fix for sub directories. 2024-02-24 15:02:36 -03:00
55db916dbc fix(basic.gblib): SET SCHEDULE bug. @othonlima 2024-02-22 14:13:42 -03:00
730d51642d fix(basic.gblib): SET SCHEDULE bug. @othonlima 2024-02-22 13:54:54 -03:00
1e47aeb9a3 new(basic.gblib): REPORT AND RESET REPORT new keywords @othonlima 2024-02-22 11:38:39 -03:00
d56e314933 new(basic.gblib): REPORT AND RESET REPORT new keywords @othonlima 2024-02-22 11:31:25 -03:00
458c3d0a00 new(basic.gblib): REPORT AND RESET REPORT new keywords @othonlima 2024-02-22 11:21:12 -03:00
4cddf08dcf new(basic.gblib): REPORT AND RESET REPORT new keywords @othonlima 2024-02-22 11:15:34 -03:00
f8e30db5ae new(basic.gblib): REPORT AND RESET REPORT new keywords @othonlima 2024-02-22 08:23:45 -03:00
8d5f824bb2 new(basic.gblib): REPORT AND RESET REPORT new keywords @othonlima 2024-02-21 22:21:55 -03:00
f2de40e942 fix(basic.gblib): POST/PUT bug fix. @othonlima 2024-02-20 23:00:16 -03:00
6469599bca fix(basic.gblib): POST/PUT bug fix. @othonlima 2024-02-20 22:51:31 -03:00
2a39d38445 fix(basic.gblib): POST/PUT bug fix. @othonlima 2024-02-20 22:37:16 -03:00
3578410117 fix(basic.gblib): Allow FIND keyword in storage #386. @othonlima 2024-02-18 23:32:44 -03:00
8a8f80f424 fix(all): Locale in Audio is dynamic. 2024-02-18 11:04:07 -03:00
69e7d4b316 fix(all): Locale in Audio is dynamic. 2024-02-18 01:15:47 -03:00
f62d9f39a5 fix(all): Locale in Audio is dynamic. 2024-02-17 22:21:40 -03:00
f96e637901 fix(all): Locale in Audio is dynamic. 2024-02-17 21:42:45 -03:00
10577f9150 fix(all): Locale in Audio is dynamic. 2024-02-17 20:33:08 -03:00
f06ebe28bb fix(all): Locale in Audio is dynamic. 2024-02-17 17:32:42 -03:00
d1788e8b0d fix(all): Locale in Audio is dynamic. 2024-02-17 17:31:51 -03:00
51abb019cb new(all): Unit test infra added again. 2024-02-17 17:27:53 -03:00
7132e8c388 new(all): Unit test infra added again. 2024-02-17 17:20:13 -03:00
6b0a508f0d fix(all): Locale in Audio is dynamic. 2024-02-17 11:57:49 -03:00
55132c899c fix(all): Translator and spelling and audio. 2024-02-16 21:26:11 -03:00
50139c8113 fix(all): Translator and spelling. 2024-02-16 17:35:13 -03:00
327d2bece4 fix(all): Working with no Azure Search. 2024-02-15 20:50:17 -03:00
d18b17b1d8 fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-11 02:07:25 -03:00
e4597cc84b fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-11 02:00:28 -03:00
c3b1f1f02a fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-08 15:27:33 -03:00
51ab2fdd06 fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-08 15:09:05 -03:00
71d0a0a2f7 fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-08 15:02:01 -03:00
5456fbad9e fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-08 14:40:58 -03:00
8d523eeb24 fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-08 14:19:59 -03:00
75d66377d3 fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-08 13:56:44 -03:00
e786591240 new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-02-06 22:44:34 -03:00
681b6d9138 new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-02-05 13:10:47 -03:00
8508d3817f new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-02-05 12:36:20 -03:00
124cf934bb fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-02-01 21:33:36 -03:00
b27eb62cad new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-01-31 16:02:11 -03:00
3dcb4878ea new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-01-31 15:24:21 -03:00
1d3de6c107 new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-01-30 19:21:04 -03:00
41a17a1eda new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-01-29 23:03:56 -03:00
e3096602fb new(basic.gblib): GPT replacing ALLEN NLP Reading Comp. 2024-01-29 21:04:53 -03:00
f783498f94 fix(basic.gblib): Fixes #395 talk with no quotes. 2024-01-21 22:54:38 -03:00
bc682067a9 new(basic.gblib): API online for GB. 2024-01-18 09:41:17 -03:00
2f082862a4 new(basic.gblib): API online for GB. 2024-01-16 23:32:04 -03:00
8ac5b6c91d fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2024-01-14 22:23:53 -03:00
3f42a1ab0b fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2024-01-14 13:58:59 -03:00
23c47214ae fix(basic.gblib): DELETE keyword in storage #400. @othonlima 2024-01-13 14:23:04 -03:00
80aff6bc83 new(basic.gblib): FORMAT function, @othonlima. 2024-01-11 14:42:00 -03:00
99e33e8ed2 fix(core.gbapp): Fixes #391 ignore case during params object access. 2024-01-10 15:43:07 -03:00
6ed2018587 fix(all): Unified sleep functions in util.ts. 2024-01-10 15:01:02 -03:00
cf7286e963 fix(all): Logo change. 2024-01-10 14:52:01 -03:00
d0e40cdf54 fix(all): Logo change. 2024-01-09 17:41:41 -03:00
08c42b0746 fix(all): Logo change. 2024-01-09 17:40:48 -03:00
8e63c42555 fix(basic.gblib): Fixes #395 talk with no quotes. 2024-01-09 17:18:26 -03:00
ba53687e9c fix(basic.gblib): Allow MERGE keyword in storage #386. @othonlima 2024-01-09 16:17:49 -03:00
c2b08d53c9 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2024-01-08 20:09:02 -03:00
3aa2afba5b fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2024-01-06 22:21:11 -03:00
8a2ea49fce new(basic.gblib): Databases. #392 @othonlima. 2024-01-06 19:33:21 -03:00
23f28d51cc fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2024-01-04 11:20:05 -03:00
3e54234999 fix(all): Fixes in bot creation. 2024-01-03 14:37:28 -03:00
4e1e263095 fix(all): Fixes #399 tabs missing from JS output. 2024-01-01 11:20:10 -03:00
272369f41d fix(all): Fixes #399 tabs missing from JS output. 2023-12-29 21:43:48 -03:00
2714a68d89 fix(all): Fixes in bot creation. 2023-12-29 19:14:48 -03:00
a2c797dabd fix(all): Fixes in bot creation. 2023-12-29 17:25:07 -03:00
dc8e31524e fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima @christopherdecastilho. 2023-12-28 17:19:38 -03:00
d22c663608 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima @christopherdecastilho. 2023-12-28 10:37:28 -03:00
4f5be674d9 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima @christopherdecastilho. 2023-12-28 10:32:47 -03:00
6d7049a5a1 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima @christopherdecastilho. 2023-12-28 08:21:16 -03:00
f4b43329a0 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima @christopherdecastilho. 2023-12-28 07:56:55 -03:00
c2406f0c3d fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-26 21:52:37 -03:00
a1630f07cd fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-26 21:43:23 -03:00
67c5b42450 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-26 15:19:55 -03:00
75459f304f fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-26 11:45:36 -03:00
480a90b2e4 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-26 11:35:42 -03:00
d409d8f7dd fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-26 11:32:52 -03:00
fc59ae58bd fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-26 11:28:06 -03:00
30e6f6dd48 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-25 19:48:32 -03:00
18eba75e5b fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-25 18:42:23 -03:00
c44256ddc0 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-25 18:37:36 -03:00
9078924aea fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-25 18:28:37 -03:00
936bb17b2f fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-25 17:47:23 -03:00
9f72557c77 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-24 10:45:12 -03:00
c5914b427e fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-24 10:33:20 -03:00
47fc99c297 fix(all): WhatsApp mp4 sending OK with Chrome. 2023-12-22 20:21:31 -03:00
90342032b8 fix(all): Fixes in bot creation. 2023-12-20 18:07:09 -03:00
18ceefed97 fix(basic.gblib): HEAR AS now shows domain items to user when validation fails. 2023-12-19 18:19:36 -03:00
66a2dcb109 fix(basic.gblib): HEAR AS now shows domain items to user when validation fails. 2023-12-19 18:16:30 -03:00
55b8817487 fix(basic.gblib): SEND FILE TO extension adjusted according to file type. 2023-12-19 16:55:49 -03:00
066c22d949 fix(basic.gblib): SEND FILE TO extension adjusted according to file type. 2023-12-19 16:52:23 -03:00
5ef96ca414 fix(basic.gblib): SEND FILE TO extension adjusted according to file type. 2023-12-19 16:48:28 -03:00
e587eb0ff5 fix(basic.gblib): SEND FILE TO extension adjusted according to file type. 2023-12-19 16:41:41 -03:00
185455a97c fix(basic.gblib): #395 TALK with no quotes. 2023-12-19 07:16:20 -03:00
2d13077bcd fix(basic.gblib): #394 UPLOAD keyword. 2023-12-18 11:14:38 -03:00
6f298a797d fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-17 16:34:03 -03:00
7bc83342d6 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-17 15:43:09 -03:00
da59b9d2b7 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-17 01:03:04 -03:00
0927b3cc47 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-17 00:52:16 -03:00
9def5d2549 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-17 00:51:43 -03:00
da7debd8de fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-17 00:41:44 -03:00
c47a2e4258 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-16 23:34:06 -03:00
57332787a7 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-16 22:37:34 -03:00
032d13d65f fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-16 22:28:55 -03:00
8f10e3769c fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-16 22:17:21 -03:00
4469eaae1c fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-16 21:55:23 -03:00
6e48d2a58f fix(basic.gblib): #394 UPLOAD keyword. 2023-12-15 11:59:24 -03:00
4e43cb1b8b fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-14 13:05:37 -03:00
5571af2fa6 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-14 12:44:01 -03:00
28a71de4be fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-14 12:42:21 -03:00
d5f180b77c fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-14 12:34:41 -03:00
77cd2912be fix(basic.gblib): #394 UPLOAD keyword. 2023-12-13 15:33:00 -03:00
ae35d88c01 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-13 10:56:44 -03:00
dc8862d62d new(basic.gblib): #394 UPLOAD keyword. 2023-12-13 00:37:36 -03:00
8a2b3c2b56 new(basic.gblib): #394 UPLOAD keyword. 2023-12-12 23:47:19 -03:00
aea5061498 new(basic.gblib): #393 DIR keyword. 2023-12-12 23:23:50 -03:00
bc91abb76e new(core.gbapp): Save to Azure Blob. 2023-12-12 19:53:05 -03:00
f8f96e3813 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-12-12 15:07:49 -03:00
08efcaec02 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-12 13:51:11 -03:00
7783fc1782 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-12 13:47:07 -03:00
f214120343 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-11 22:13:36 -03:00
41d2895e82 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-11 15:46:53 -03:00
b370c34c4e fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 21:09:50 -03:00
608c288002 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 21:08:27 -03:00
1a25c88e74 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 21:00:00 -03:00
d593a45f5b fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 20:43:54 -03:00
0cbd4ac3c3 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 20:33:53 -03:00
7da2d79dd0 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 20:24:48 -03:00
1984021031 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 20:03:00 -03:00
f5d8aa468f fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-10 12:21:28 -03:00
3efe3acf68 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-07 17:10:57 -03:00
b764652aed fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-03 11:26:44 -03:00
3f48900070 new(basic.gblib): Retry in GET 401 version. 2023-12-02 19:26:14 -03:00
13e01ced80 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-02 12:25:43 -03:00
d5a26445f5 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-12-02 10:21:12 -03:00
b6e542e0ac fix(basic.gblib): Databases. #392 @othonlima. 2023-12-01 22:17:13 -03:00
629edcfece fix(basic.gblib): Databases. #392 @othonlima. 2023-12-01 22:02:37 -03:00
ac331442a4 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-30 22:42:01 -03:00
eabf3a1717 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-30 22:31:45 -03:00
78d95b2e87 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-30 22:30:12 -03:00
e277711272 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-30 16:59:32 -03:00
f5a63439d6 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-30 15:47:47 -03:00
ed814c8a66 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-30 13:47:04 -03:00
a65aac363e fix(basic.gblib): Databases. #392 @othonlima. 2023-11-29 22:46:38 -03:00
e4de42e22e fix(basic.gblib): Databases. #392 @othonlima. 2023-11-29 20:31:12 -03:00
9a189363d6 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-29 20:00:58 -03:00
7abc66e005 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-29 19:06:41 -03:00
3dea655531 fix(basic.gblib): Databases. #392 @othonlima. 2023-11-29 18:46:02 -03:00
d1fbb756de fix(basic.gblib): Databases. #392 @othonlima. 2023-11-29 13:20:26 -03:00
885ce30d4c new(basic.gblib): Databases. #392 @othonlima. 2023-11-29 00:58:44 -03:00
54277220ca new(basic.gblib): Databases! #392. 2023-11-28 14:13:44 -03:00
38b4a5139f fix(basic.gblib): Fix in SEND FILE version. 2023-11-27 14:52:50 -03:00
9616ba498a fix(basic.gblib): Fix in SEND FILE version. 2023-11-27 14:40:08 -03:00
e8f3411607 new(basic.gblib): Fix in SAVE xlsx version. 2023-11-27 13:24:15 -03:00
b967a2ff46 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-26 17:56:02 -03:00
186791bcb0 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-26 16:59:13 -03:00
9491398444 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-25 14:14:17 -03:00
5ed126665e fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-25 10:07:13 -03:00
663d38c95c fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-24 21:02:32 -03:00
a0d6f723bd fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-23 19:55:56 -03:00
50d111e448 fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-23 19:53:38 -03:00
2775acfc5a fix(basic.gblib): Allow MERGE keyword in storage #380. @othonlima 2023-11-20 14:47:24 -03:00
b2843f0c5b fix(core.gbapp): #387 adding /setupSecurity multiple tokens. Refresh token fix. @othonlima. 2023-11-20 11:29:36 -03:00
2960969828 fix(core.gbapp): #387 adding /setupSecurity multiple tokens. @othonlima. 2023-11-19 17:56:13 -03:00
1ec8bd68f5 new(core.gbapp): #387 adding /setupSecurity multiple tokens. 2023-11-17 15:24:05 -03:00
7a6aad2660 new(core.gbapp): #387 adding /setupSecurity multiple tokens. 2023-11-17 14:27:12 -03:00
f5cd96f250 fix(all): Create bot OK. 2023-11-12 10:09:21 -03:00
a7eeff418d fix(all): Create bot OK. 2023-11-12 10:08:08 -03:00
0a31f8f41b fix(all): URLs for MSTeams. 2023-11-11 18:59:17 -03:00
694213c986 fix(all): URLs for MSTeams. 2023-11-10 07:51:59 -03:00
6ebf3f3cbe fix(whatsapp.gblib): Applied WhatsApp-web-js patch. 2023-11-03 11:39:50 -03:00
93ae1983ef fix(azuredeployer.gbapp): Fix webchat keys. 2023-11-03 10:34:56 -03:00
210a8aab5f fix(azuredeployer.gbapp): Fix webchat keys. 2023-11-02 13:31:46 -03:00
a9c8445b0b fix(azuredeployer.gbapp): Fix webchat keys. 2023-11-02 13:20:51 -03:00
4763b3e9c5 fix(basic.gblib): SSR error. 2023-10-30 13:44:52 -03:00
b2e4d92788 fix(basic.gblib): SET PAGED keyword #377. 2023-10-26 09:51:23 -03:00
11f1e6c2fd fix(basic.gblib): SET PAGED keyword #377. 2023-10-26 07:52:57 -03:00
b22c9e5a1b fix(basic.gblib): SET PAGED keyword #377. 2023-10-21 14:47:30 -03:00
9d07aac954 fix(basic.gblib): Allow MERGE keyword in storage #380. 2023-10-21 12:09:37 -03:00
143b3c7f31 fix(basic.gblib): Allow MERGE keyword in storage #380. 2023-10-20 17:35:03 -03:00
8ddc045295 fix(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-20 13:39:34 -03:00
5b646a4e96 new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-13 16:15:17 -03:00
f9c7f697e1 new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-13 16:14:50 -03:00
537a67eab6 new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-13 16:08:42 -03:00
c4377829d4 new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-13 16:00:05 -03:00
4e4fbde099 new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-13 14:53:36 -03:00
44b913a8f6 new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-10 13:51:27 -03:00
b14063d0c9 new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-10 12:48:52 -03:00
0ab42a1a9a new(basic.gblib): Allow TABLE keyword multiple times per file #383. 2023-10-09 19:21:34 -03:00
ebc2077b57 new(basic.gblib): Allow relationships in TABLE keywod #381. 2023-10-08 16:03:33 -03:00
190e6828e3 new(basic.gblib): guid data type for TABLE keyword and as replacement for Interger Id #382. 2023-10-08 15:21:26 -03:00
f7df823372 new(basic.gblib): Allow MERGE keyword in storage #380. 2023-10-07 18:40:10 -03:00
c00c900ad1 new(basic.gblib): TABLE keyword #375 fixes. 2023-10-05 17:15:57 -03:00
fefbd02241 new(basic.gblib): TABLE keyword #375 fixes. 2023-10-05 11:28:23 -03:00
b060d190e2 new(basic.gblib): TABLE keyword #375 fixes. 2023-10-05 10:06:03 -03:00
99b13125cf new(basic.gblib): aadToken reserved word #378. 2023-10-04 15:39:03 -03:00
8aef0e27a4 new(basic.gblib): Auto variables for .gbot params #374. 2023-10-04 15:30:29 -03:00
ab820e3467 new(basic.gblib): SET PAGED keyword #377. 2023-10-04 15:21:51 -03:00
e2be7d087a new(basic.gblib): SET PAGED keyword #377. 2023-10-04 09:48:54 -03:00
30ef5d24ee new(basic.gblib): TABLE keyword #375. 2023-10-02 16:39:13 -03:00
b0c0d6b498 new(basic.gblib): TABLE keyword #375. 2023-10-02 16:22:51 -03:00
0d4bb66ad5 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-09-30 20:43:40 -03:00
58f6a3fda3 new(basic.gblib): TABLE keyword #375. 2023-09-30 20:43:39 -03:00
b262dd1087 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-09-29 19:04:38 -03:00
d7d73b973a fix(azuredeployer.gblib): Removal of invalid provider 2023-09-29 19:03:37 -03:00
d9c4f8dc87 fix(core.gbapp): #372 fix. 2023-09-29 17:23:02 -03:00
08171fe5d4 fix(core.gbapp): #372 fix. 2023-09-29 16:15:43 -03:00
4f143a2069 fix(core.gbapp): #372 fix. 2023-09-29 15:55:35 -03:00
94e96c3fe1 fix(core.gbapp): #372 fix. 2023-09-29 15:38:41 -03:00
5e4e4b4163 fix(core.gbapp): #373 fix. 2023-09-29 15:18:50 -03:00
31e8edfd5b fix(core.gbapp): #372 fix. 2023-09-29 13:24:24 -03:00
7e3a29b1a0 fix(whatsapp.gblib): Fix in sending numbers with plus sign. 2023-09-21 11:24:08 -03:00
58f56d2ea3 fix(whatsapp.gblib): Fix in sending numbers with plus sign. 2023-09-21 11:20:54 -03:00
d950a436f9 fix(whatsapp.gblib): Fix in sending numbers with plus sign. 2023-09-21 11:15:09 -03:00
69f2942fcc fix(kb.gbapp): #361 GPT functions in Word. 2023-09-20 15:25:44 -03:00
111b423047 fix(kb.gbapp): #361 GPT functions in Word. 2023-09-19 19:36:05 -03:00
fa0c2d4cd3 fix(kb.gbapp): #361 GPT functions in Word. 2023-09-17 21:40:34 -03:00
c68cc7cb60 fix(kb.gbapp): API after new Bot #370. 2023-09-16 17:54:47 -03:00
7df967167a fix(kb.gbapp): API after new Bot #370. 2023-09-16 17:49:16 -03:00
b1ecdc01ef fix(kb.gbapp): API after new Bot #370. 2023-09-16 17:41:36 -03:00
3bd95cbb9e fix(kb.gbapp): Fix importing packages. 2023-09-16 09:41:31 -03:00
ccc5777184 fix(kb.gbapp): Fix importing packages. 2023-09-14 12:10:47 -03:00
6924ab1dad fix(kb.gbapp): Fix importing packages. 2023-09-14 12:02:53 -03:00
7be2e50c37 fix(kb.gbapp): Fix importing packages. 2023-09-14 00:19:33 -03:00
a665279cbf fix(kb.gbapp): Fix importing packages. 2023-09-14 00:09:31 -03:00
872f5ec1d8 fix(kb.gbapp): Fix importing packages. 2023-09-13 21:02:33 -03:00
52e0f46f5e fix(kb.gbapp): Fix importing packages. 2023-09-13 19:42:45 -03:00
b305fa2e6b fix(kb.gbapp): Fix importing packages. 2023-09-13 19:37:04 -03:00
71e5074a9b fix(kb.gbapp): Fix importing packages. 2023-09-13 19:34:38 -03:00
7e3b273a89 fix(kb.gbapp): Fix importing packages. 2023-09-13 18:53:45 -03:00
2c836e71b3 fix(all): Fix search on others bots than boot. 2023-09-13 18:39:36 -03:00
0d345c6050 fix(all): Fix search on others bots than boot. 2023-09-11 13:47:36 -03:00
6e74e86b50 fix(all): Fix search on others bots than boot. 2023-09-11 13:39:11 -03:00
f3d58ff4fc fix(all): Fix search on others bots than boot. 2023-09-11 10:51:43 -03:00
90b34e7499 fix(all): Fix search on others bots than boot. 2023-09-11 10:47:47 -03:00
6427be19ad fix(all): Fix search on others bots than boot. 2023-09-10 22:42:32 -03:00
b1bce01064 fix(all): Fix search on others bots than boot. 2023-09-10 22:36:39 -03:00
7992c66831 fix(all): Fix search on others bots than boot. 2023-09-10 22:18:05 -03:00
68c542bef3 fix(all): Fix search on others bots than boot. 2023-09-10 20:53:15 -03:00
292e62c4cc fix(all): Fix search on others bots than boot. 2023-09-10 20:40:42 -03:00
081999396d fix(all): Fix search on others bots than boot. 2023-09-10 17:37:13 -03:00
53a5bfbeeb fix(all): Fix search on others bots than boot. 2023-09-10 17:23:32 -03:00
45bc5d16e3 fix(all): Fix search on others bots than boot. 2023-09-10 13:39:07 -03:00
3319942b31 fix(all): Fix search on others bots than boot. 2023-09-10 13:33:20 -03:00
7266b0f43b fix(all): Fix user switching on a single chip. 2023-09-09 22:33:06 -03:00
7e88eca8b2 fix(all): Fix user switching on a single chip. 2023-09-09 21:57:26 -03:00
2162b060ba fix(all): Fix user switching on a single chip. 2023-09-09 21:36:00 -03:00
3ad01b7d22 fix(all): Fix user switching on a single chip. 2023-09-09 16:44:53 -03:00
b97194ebaa fix(all): Fix user switching on a single chip. 2023-09-09 16:38:47 -03:00
dfbccfb3ad fix(all): Fix user switching on a single chip. 2023-09-09 16:19:17 -03:00
e53b75dd6c fix(all): Fix user switching on a single chip. 2023-09-09 14:29:01 -03:00
2369fb2d9d fix(all): Fix user switching on a single chip. 2023-09-09 14:16:54 -03:00
ac8f1eb70b fix(all): Fix user switching on a single chip. 2023-09-09 14:13:22 -03:00
49ff8ea278 fix(all): Fix user switching on a single chip. 2023-09-09 14:07:05 -03:00
debe2524c2 fix(all): Fix user switching on a single chip. 2023-09-09 13:59:14 -03:00
f7ddc1078a fix(all): Fix user switching on a single chip. 2023-09-09 13:09:49 -03:00
571a5d0922 fix(all): Fix user switching on a single chip. 2023-09-09 13:04:20 -03:00
9e9620d06c fix(all): Fix user switching on a single chip. 2023-09-09 12:50:45 -03:00
4ad3edda3c fix(all): Fix user switching on a single chip. 2023-09-09 12:37:53 -03:00
ad9e5b75a5 fix(all): Fix in bot proxy outdated columns. 2023-09-05 12:26:23 -03:00
ed374c26c8 fix(all): Fix in bot proxy outdated columns. 2023-09-04 16:10:08 -03:00
31e49523be fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:46:40 -03:00
176063cb95 fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:38:40 -03:00
80713f284d fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:34:16 -03:00
766d355f47 fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:33:08 -03:00
6c0a86f1b0 fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:25:22 -03:00
74c7b64482 fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:22:03 -03:00
c76b368dff fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:13:28 -03:00
1125016bd6 fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 16:03:22 -03:00
b60ebbf7ba fix(whatsapp.gblib): Fix in bot switching. 2023-09-03 14:48:05 -03:00
7cc85a317e fix(all): Updating ngrok. 2023-09-03 12:40:25 -03:00
9e498f85a3 fix(all): Updating ngrok. 2023-09-02 21:04:46 -03:00
99a26e0198 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-09-02 20:09:57 -03:00
c560ac9e6a fix(azuredeployer.gbapp): Fix in bot booting. 2023-09-02 20:09:55 -03:00
fb8bc8f793 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-08-31 17:48:09 -03:00
d10e0ad77a fix(azuredeployer.gbapp): Fix in bot booting. 2023-08-31 17:48:06 -03:00
e317457287 fix(azuredeployer.gbapp): Fix in bot booting. 2023-08-31 17:44:10 -03:00
e3b6df36d4 fix(azuredeployer.gbapp): Fix in bot booting. 2023-08-31 17:36:44 -03:00
6166a6814c fix(azuredeployer.gbapp): Fix in bot booting. 2023-08-31 17:27:05 -03:00
b0e5a935c1 new (basic.gbapp): ALLOW ROLE keyword. 2023-08-25 19:13:54 -03:00
082ec87f18 new (basic.gbapp): ALLOW ROLE keyword. 2023-08-25 19:09:03 -03:00
401b1e00f7 new (basic.gbapp): ALLOW ROLE keyword. 2023-08-25 18:55:49 -03:00
19696f7179 new (basic.gbapp): ALLOW ROLE keyword. 2023-08-25 18:43:50 -03:00
6011c31a5c new (basic.gbapp): ALLOW ROLE keyword. 2023-08-25 18:39:12 -03:00
52f6f86316 new (basic.gbapp): ALLOW ROLE keyword. 2023-08-25 18:13:10 -03:00
54646e1eee new (basic.gbapp): ALLOW ROLE keyword. 2023-08-25 18:07:38 -03:00
e6416299ef new (basic.gbapp): ALLOW ROLE keyword. 2023-08-23 21:50:25 -03:00
187aad6d4f new (basic.gbapp): ALLOW ROLE keyword. 2023-08-23 21:33:57 -03:00
b500903bc3 new (basic.gbapp): ALLOW ROLE keyword. 2023-08-23 20:41:22 -03:00
d45147c3ad new (basic.gbapp): ALLOW ROLE keyword. 2023-08-23 11:24:48 -03:00
792829bd81 new (basic.gbapp): NOTE keyword. 2023-08-22 11:03:46 -03:00
545d38c75b new (basic.gbapp): NOTE keyword. 2023-08-22 11:01:25 -03:00
e4fcf8e433 new (basic.gbapp): NOTE keyword. 2023-08-22 10:01:15 -03:00
fd5c131c98 new (basic.gbapp): NOTE keyword. 2023-08-21 18:02:06 -03:00
8cedf80afb new (basic.gbapp): NOTE keyword. 2023-08-21 17:58:45 -03:00
12306b2f62 new (basic.gbapp): NOTE keyword. 2023-08-21 17:45:26 -03:00
2e4e941168 new (basic.gbapp): NOTE keyword. 2023-08-21 15:54:35 -03:00
405f01f974 new (basic.gbapp): NOTE keyword. 2023-08-21 13:29:51 -03:00
12a519a56e new (basic.gbapp): NOTE keyword. 2023-08-21 13:21:49 -03:00
f27a780815 new (basic.gbapp): NOTE keyword. 2023-08-21 12:50:55 -03:00
503db6f325 new (basic.gbapp): NOTE keyword. 2023-08-21 12:42:59 -03:00
707a4d5927 fix(basic.gbapp): FIND now return case insensitive BASIC objects. 2023-08-20 19:34:11 -03:00
2fb6711e9c fix(basic.gbapp): FIND now return case insensitive BASIC objects. 2023-08-20 19:21:35 -03:00
06401a4c94 fix(basic.gbapp): FIND now return case insensitive BASIC objects. 2023-08-20 18:09:29 -03:00
8c88ffb1b1 fix(basic.gbapp): AS IMAGE testing. 2023-08-20 16:12:36 -03:00
10753336bd fix(basic.gbapp): AS IMAGE testing. 2023-08-20 16:09:29 -03:00
26cbdcbd2f fix(basic.gbapp): AS IMAGE testing. 2023-08-14 09:06:18 -03:00
b8708681a1 fix(basic.gbapp): AS IMAGE testing. 2023-08-13 19:47:39 -03:00
fe07cf9f2e fix(basic.gbapp): AS IMAGE testing. 2023-08-13 18:46:47 -03:00
950b1dcbb6 fix(basic.gbapp): AS IMAGE testing. 2023-08-13 18:43:01 -03:00
fbeb2b9172 fix(basic.gbapp): AS IMAGE testing. 2023-08-13 18:42:50 -03:00
f273de730b fix(basic.gbapp): AS IMAGE testing. 2023-08-13 18:36:54 -03:00
f034220d8f fix(basic.gbapp): AS IMAGE testing. 2023-08-13 18:23:47 -03:00
31ea32e041 fix(basic.gbapp): AS IMAGE testing. 2023-08-13 17:42:16 -03:00
e608e2b8ba fix(basic.gbapp): AS IMAGE testing. 2023-08-13 17:15:22 -03:00
0ff5ead108 fix(basic.gbapp): AS IMAGE testing. 2023-08-13 17:08:04 -03:00
93a4844e9a fix(basic.gbapp): AS IMAGE testing. 2023-08-13 17:05:28 -03:00
2f9e7781b3 fix(basic.gbapp): AS IMAGE testing. 2023-08-13 16:33:13 -03:00
d8b04c216a fix(basic.gbapp): AS IMAGE testing. 2023-08-13 16:16:26 -03:00
fa1f91a474 fix(basic.gbapp): AS IMAGE testing. 2023-08-12 20:15:52 -03:00
780a6b988f fix(basic.gbapp): AS IMAGE testing. 2023-08-12 20:10:37 -03:00
34d506f8cc fix(basic.gbapp): AS IMAGE testing. 2023-08-12 10:35:45 -03:00
3cdbe4fff5 fix(basic.gbapp): AS IMAGE testing. 2023-08-12 09:29:03 -03:00
8eafbf7e16 new(admin.gbapp): Remove /publish confirmation. 2023-08-11 21:35:06 -03:00
6657634cc2 new(admin.gbapp): Remove /publish confirmation. 2023-08-11 11:37:41 -03:00
e51c038e9e fix(basic.gblib): New AUTO SAVE keyword. 2023-08-10 22:28:59 -03:00
da76384b8a new(basic.gblib): New AUTO SAVE keyword. #359 2023-08-09 11:05:30 -03:00
8e563e1d2d new(basic.gblib): New AUTO SAVE keyword. #359 2023-08-09 11:04:50 -03:00
753b1e40fb new(basic.gblib): New AUTO SAVE keyword. #359 2023-08-08 11:00:16 -03:00
f065aceb00 new(basic.gblib): New AUTO SAVE keyword. #359 2023-08-08 10:51:11 -03:00
0764254f65 new(basic.gblib): New AUTO SAVE keyword. #359 2023-08-08 09:05:38 -03:00
cf8c76c31e new(basic.gblib): New AUTO SAVE keyword. 2023-08-07 19:12:25 -03:00
aa91e228d3 new(basic.gblib): New REWRITE keyword. 2023-08-03 15:15:13 -03:00
8fd9a7690e new(whatsapp.gblib): Let GPT help call centers... 2023-08-02 14:27:15 -03:00
9bc41441ad new(whatsapp.gblib): Let GPT help call centers... 2023-08-02 14:04:10 -03:00
4945b82b09 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-08-02 13:58:14 -03:00
9f69744528 new(whatsapp.gblib): Let GPT help call centers... 2023-08-02 13:58:11 -03:00
Rodrigo
a50d6b6876 chore(release): 2.4.42 [skip ci]
## [2.4.42](https://github.com/GeneralBots/BotServer/compare/2.4.41...2.4.42) (2023-08-01)

### Bug Fixes

* **whatsapp.gblib:** Now using e-mail instead of Teams ID. ([5860000](58600001c9))
2023-08-01 16:10:21 +00:00
155dfbaf46 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-08-01 13:03:21 -03:00
d575f9133f fix(whatsapp.gblib): Now using e-mail instead of Teams ID. 2023-08-01 13:03:19 -03:00
Rodrigo
861835b3b0 chore(release): 2.4.41 [skip ci]
## [2.4.41](https://github.com/GeneralBots/BotServer/compare/2.4.40...2.4.41) (2023-08-01)

### Bug Fixes

* **all:** Minor changes in PROD. ([76c1efd](76c1efd12d))
2023-08-01 14:37:34 +00:00
901accded3 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-08-01 11:31:07 -03:00
c635eae297 fix(all): Minor changes in PROD. 2023-08-01 11:26:34 -03:00
Rodrigo
031a523c3c chore(release): 2.4.40 [skip ci]
## [2.4.40](https://github.com/GeneralBots/BotServer/compare/2.4.39...2.4.40) (2023-07-31)

### Bug Fixes

* **all:** Minor changes in PROD. ([9b88c33](9b88c330c6))
2023-07-31 21:58:20 +00:00
1c7b15de99 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-31 18:52:14 -03:00
b889907c15 fix(all): Minor changes in PROD. 2023-07-31 18:52:11 -03:00
Rodrigo
439e2e35a5 chore(release): 2.4.39 [skip ci]
## [2.4.39](https://github.com/GeneralBots/BotServer/compare/2.4.38...2.4.39) (2023-07-31)

### Bug Fixes

* **all:** Minor changes in PROD. ([e5f41bc](e5f41bca78))
2023-07-31 21:12:46 +00:00
062a8732d4 fix(all): Minor changes in PROD. 2023-07-31 18:07:24 -03:00
530bfaa1f9 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-31 15:07:23 -03:00
2977575f42 new(payment.gblib): #354 QRcode for payments. 2023-07-31 15:06:47 -03:00
Rodrigo
98ddcd003d chore(release): 2.4.38 [skip ci]
## [2.4.38](https://github.com/GeneralBots/BotServer/compare/2.4.37...2.4.38) (2023-07-29)

### Bug Fixes

* **all:** Minor changes in PROD. ([245e491](245e491a25))
2023-07-29 00:03:35 +00:00
fc00dbf0a7 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-28 20:56:42 -03:00
ac02171370 fix(all): Minor changes in PROD. 2023-07-28 20:56:38 -03:00
Rodrigo
e9ad0a93ac chore(release): 2.4.37 [skip ci]
## [2.4.37](https://github.com/GeneralBots/BotServer/compare/2.4.36...2.4.37) (2023-07-28)

### Bug Fixes

* **all:** Minor changes in PROD. ([e829f37](e829f3725a))
2023-07-28 23:37:51 +00:00
993c93b5fa Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-28 20:30:52 -03:00
Rodrigo
25b82ed2f2 chore(release): 2.4.36 [skip ci]
## [2.4.36](https://github.com/GeneralBots/BotServer/compare/2.4.35...2.4.36) (2023-07-28)

### Bug Fixes

* **all:** Minor changes in PROD. ([e415bb0](e415bb01ca))
2023-07-28 23:29:42 +00:00
f1d0f5f7f4 fix(all): Minor changes in PROD. 2023-07-28 20:28:43 -03:00
044d895fb4 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-28 20:22:47 -03:00
ae199bd522 fix(all): Minor changes in PROD. 2023-07-28 20:22:45 -03:00
Rodrigo
edd1cfb7e2 chore(release): 2.4.35 [skip ci]
## [2.4.35](https://github.com/GeneralBots/BotServer/compare/2.4.34...2.4.35) (2023-07-28)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([a585cf5](a585cf51ea))
2023-07-28 13:28:10 +00:00
972749ad55 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-28 10:21:58 -03:00
0413db21ac fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-28 10:21:55 -03:00
Rodrigo
0e9f08fe5a chore(release): 2.4.34 [skip ci]
## [2.4.34](https://github.com/GeneralBots/BotServer/compare/2.4.33...2.4.34) (2023-07-26)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([5589095](5589095f86))
2023-07-26 21:13:48 +00:00
8f64d02ef1 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-26 18:07:17 -03:00
488daf6003 fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-26 18:07:15 -03:00
Rodrigo
e67519b6c1 chore(release): 2.4.33 [skip ci]
## [2.4.33](https://github.com/GeneralBots/BotServer/compare/2.4.32...2.4.33) (2023-07-26)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([e5f5121](e5f5121037))
2023-07-26 21:06:29 +00:00
732e9d7e79 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-26 17:59:42 -03:00
6b558f3a58 fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-26 17:59:40 -03:00
Rodrigo
5c949deab8 chore(release): 2.4.32 [skip ci]
## [2.4.32](https://github.com/GeneralBots/BotServer/compare/2.4.31...2.4.32) (2023-07-26)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([ed96440](ed9644089e))
2023-07-26 20:10:12 +00:00
b5108cfbab fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-26 17:03:30 -03:00
Rodrigo
bf88a181bc chore(release): 2.4.31 [skip ci]
## [2.4.31](https://github.com/GeneralBots/BotServer/compare/2.4.30...2.4.31) (2023-07-26)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([0fe2bdb](0fe2bdbe6f))
2023-07-26 18:12:01 +00:00
34ebdc3cb1 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-26 15:05:56 -03:00
3ba78d4cec fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-26 15:05:53 -03:00
Rodrigo
0a609adbe0 chore(release): 2.4.30 [skip ci]
## [2.4.30](https://github.com/GeneralBots/BotServer/compare/2.4.29...2.4.30) (2023-07-26)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([a652873](a65287338a))
2023-07-26 17:17:02 +00:00
46285619c9 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-26 14:10:44 -03:00
a760b49120 fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-26 14:10:41 -03:00
Rodrigo
cef6cb2722 chore(release): 2.4.29 [skip ci]
## [2.4.29](https://github.com/GeneralBots/BotServer/compare/2.4.28...2.4.29) (2023-07-26)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([7a6d14c](7a6d14cf3a))
2023-07-26 16:35:25 +00:00
2fb6c2d46c Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-26 13:27:18 -03:00
9a2d3cefb6 fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-26 13:27:15 -03:00
Rodrigo
bc082b1c00 chore(release): 2.4.28 [skip ci]
## [2.4.28](https://github.com/GeneralBots/BotServer/compare/2.4.27...2.4.28) (2023-07-26)

### Bug Fixes

* **core.gbapp:** FIX SSR errors and setOption impersonated. ([e596f31](e596f31de6))
2023-07-26 15:53:28 +00:00
5e36c77a21 fix(core.gbapp): FIX SSR errors and setOption impersonated. 2023-07-26 12:47:13 -03:00
Rodrigo
4e0178a89b chore(release): 2.4.27 [skip ci]
## [2.4.27](https://github.com/GeneralBots/BotServer/compare/2.4.26...2.4.27) (2023-07-25)

### Bug Fixes

* **all:** Fix answers with dialog id working again. ([f34c7b1](f34c7b1ac5))
* **all:** Fix answers with dialog id working again. ([a24648c](a24648cc9f))
* **all:** Fix answers with dialog id working again. ([6b832c4](6b832c42b6))
2023-07-25 11:38:04 +00:00
1bcc7369e5 fix(all): Fix answers with dialog id working again. 2023-07-25 08:32:48 -03:00
18a5ea557b fix(all): Fix answers with dialog id working again. 2023-07-25 08:31:39 -03:00
8cd5a39b80 fix(all): Fix answers with dialog id working again. 2023-07-25 08:26:15 -03:00
Rodrigo
0fd00daf43 chore(release): 2.4.26 [skip ci]
## [2.4.26](https://github.com/GeneralBots/BotServer/compare/2.4.25...2.4.26) (2023-07-25)

### Bug Fixes

* **all:** Fix answers with dialog id working again. ([2a6f64f](2a6f64f238))
* **all:** Fix answers with dialog id working again. ([ec172b0](ec172b0554))
2023-07-25 11:14:43 +00:00
86fe455223 fix(all): Fix answers with dialog id working again. 2023-07-25 08:04:34 -03:00
00137f9e02 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-25 08:00:46 -03:00
ddcbbaf808 fix(all): Fix answers with dialog id working again. 2023-07-25 08:00:43 -03:00
Rodrigo
17ffa84b2d chore(release): 2.4.25 [skip ci]
## [2.4.25](https://github.com/GeneralBots/BotServer/compare/2.4.24...2.4.25) (2023-07-23)

### Bug Fixes

* **all:** Fix in AS IMAGE generation of single row. ([a9256d8](a9256d8ecb))
* **all:** Fix in AS IMAGE generation of single row. ([576e73b](576e73b625))
* **all:** Fix in AS IMAGE generation of single row. ([4c5ccb2](4c5ccb2fac))
2023-07-23 21:12:04 +00:00
a3a9aaa1a3 fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 18:05:59 -03:00
f2dd95c7f7 fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 18:02:10 -03:00
c29df4f15d Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-23 17:56:20 -03:00
4a04779a76 fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 17:56:18 -03:00
Rodrigo
c89d93eee1 chore(release): 2.4.24 [skip ci]
## [2.4.24](https://github.com/GeneralBots/BotServer/compare/2.4.23...2.4.24) (2023-07-23)

### Bug Fixes

* **all:** Fix in AS IMAGE generation of single row. ([c646b2d](c646b2d27b))
* **all:** Fix in AS IMAGE generation of single row. ([5827286](5827286406))
2023-07-23 20:53:38 +00:00
64f9028874 fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 17:47:36 -03:00
976e1c5136 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-23 17:41:03 -03:00
216110b6ee fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 17:41:01 -03:00
Rodrigo
30bc270ea1 chore(release): 2.4.23 [skip ci]
## [2.4.23](https://github.com/GeneralBots/BotServer/compare/2.4.22...2.4.23) (2023-07-23)

### Bug Fixes

* **all:** Fix in AS IMAGE generation of single row. ([618ff5a](618ff5a296))
2023-07-23 20:40:16 +00:00
3ea920c419 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-23 17:33:16 -03:00
d1c93bd42a fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 17:33:13 -03:00
Rodrigo
3cc101dfb2 chore(release): 2.4.22 [skip ci]
## [2.4.22](https://github.com/GeneralBots/BotServer/compare/2.4.21...2.4.22) (2023-07-23)

### Bug Fixes

* **all:** Fix in AS IMAGE generation of single row. ([ee56768](ee567681f1))
2023-07-23 20:02:24 +00:00
b8741a0218 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-23 16:55:33 -03:00
4057d6b18d fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 16:55:31 -03:00
Rodrigo
a6ce36a7da chore(release): 2.4.21 [skip ci]
## [2.4.21](https://github.com/GeneralBots/BotServer/compare/2.4.20...2.4.21) (2023-07-23)

### Bug Fixes

* **all:** Fix in AS IMAGE generation of single row. ([6874869](6874869ef8))
2023-07-23 19:51:42 +00:00
9b6fab0e4f Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-23 16:44:45 -03:00
30125b5ee9 fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 16:44:42 -03:00
Rodrigo
58f4deaf83 chore(release): 2.4.20 [skip ci]
## [2.4.20](https://github.com/GeneralBots/BotServer/compare/2.4.19...2.4.20) (2023-07-23)

### Bug Fixes

* **all:** Fix in AS IMAGE generation of single row. ([ee6356d](ee6356d83b))
2023-07-23 19:44:19 +00:00
d7162f54ea Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-23 16:37:23 -03:00
4a2653db36 fix(all): Fix in AS IMAGE generation of single row. 2023-07-23 16:37:21 -03:00
Rodrigo
a7ffdfb1f5 chore(release): 2.4.19 [skip ci]
## [2.4.19](https://github.com/GeneralBots/BotServer/compare/2.4.18...2.4.19) (2023-07-23)

### Bug Fixes

* **all:** Fix in DATE filter. ([ad47305](ad47305a02))
2023-07-23 19:03:30 +00:00
49980befb9 fix(all): Fix in DATE filter. 2023-07-23 15:57:28 -03:00
5dd5bbfa8d BREAKING CHANGE: General Bots is now 3.0. 2023-07-23 15:39:05 -03:00
ff82e3b5da Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-23 11:00:02 -03:00
eee34a2bca new(all): Open AI official channel. 2023-07-23 10:59:59 -03:00
Rodrigo
6233260281 chore(release): 2.4.18 [skip ci]
## [2.4.18](https://github.com/GeneralBots/BotServer/compare/2.4.17...2.4.18) (2023-07-19)

### Bug Fixes

* **all:** Create bot working again. ([ed74c5b](ed74c5b003))
* **all:** Create bot working again. ([9852fa8](9852fa8cb2))
2023-07-19 13:28:28 +00:00
22ed601b28 fix(all): Create bot working again. 2023-07-19 10:21:38 -03:00
e681845b84 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-19 10:20:56 -03:00
88a7766f25 fix(all): Create bot working again. 2023-07-19 10:20:53 -03:00
Rodrigo
57d81e4346 chore(release): 2.4.17 [skip ci]
## [2.4.17](https://github.com/GeneralBots/BotServer/compare/2.4.16...2.4.17) (2023-07-19)

### Bug Fixes

* **all:** Create bot working again. ([b779f29](b779f29212))
2023-07-19 13:07:12 +00:00
a6867f3f24 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-19 10:00:16 -03:00
e95c8c6cb5 fix(all): Create bot working again. 2023-07-19 10:00:14 -03:00
Rodrigo
c9807c660d chore(release): 2.4.16 [skip ci]
## [2.4.16](https://github.com/GeneralBots/BotServer/compare/2.4.15...2.4.16) (2023-07-19)

### Bug Fixes

* **all:** Create bot working again. ([3bbd732](3bbd732fd4))
* **all:** Create bot working again. ([3fa53d0](3fa53d072b))
* **all:** Minor changes in PROD. ([abe5f03](abe5f03801))
2023-07-19 11:10:46 +00:00
c38a44f611 fix(all): Create bot working again. 2023-07-19 08:03:39 -03:00
42b8b1c5b7 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-19 07:53:46 -03:00
8edee20b4d fix(all): Create bot working again. 2023-07-19 07:53:44 -03:00
81006665f9 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-19 07:53:05 -03:00
5b57ace0f8 fix(all): Minor changes in PROD. 2023-07-19 07:53:02 -03:00
Rodrigo
6a90f5be0b chore(release): 2.4.15 [skip ci]
## [2.4.15](https://github.com/GeneralBots/BotServer/compare/2.4.14...2.4.15) (2023-07-19)

### Bug Fixes

* **all:** Create bot working again. ([4eecd5a](4eecd5acec))
2023-07-19 09:48:28 +00:00
764d364a09 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-19 06:41:34 -03:00
6e687eebf0 fix(all): Create bot working again. 2023-07-19 06:41:32 -03:00
Rodrigo
d5f5d5947b chore(release): 2.4.14 [skip ci]
## [2.4.14](https://github.com/GeneralBots/BotServer/compare/2.4.13...2.4.14) (2023-07-18)

### Bug Fixes

* **all:** Create bot working again. ([fbc2416](fbc2416a55))
2023-07-18 20:20:12 +00:00
d47cbbe9a8 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-18 17:09:06 -03:00
064e2f7674 fix(all): Create bot working again. 2023-07-18 17:09:04 -03:00
Rodrigo
8ef2b36dbc chore(release): 2.4.13 [skip ci]
## [2.4.13](https://github.com/GeneralBots/BotServer/compare/2.4.12...2.4.13) (2023-07-18)

### Bug Fixes

* **all:** Create bot working again. ([c4f8d0a](c4f8d0a064))
2023-07-18 16:48:37 +00:00
000b79ed5f Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-18 13:42:03 -03:00
322f4d1f0f fix(all): Create bot working again. 2023-07-18 13:41:49 -03:00
Rodrigo
b97316a4c7 chore(release): 2.4.12 [skip ci]
## [2.4.12](https://github.com/GeneralBots/BotServer/compare/2.4.11...2.4.12) (2023-07-18)

### Bug Fixes

* **all:** Create bot working again. ([0ed3dce](0ed3dce1d2))
2023-07-18 16:40:40 +00:00
8c0337ef55 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-18 13:33:32 -03:00
1891341104 fix(all): Create bot working again. 2023-07-18 13:33:30 -03:00
Rodrigo
54eda618a9 chore(release): 2.4.11 [skip ci]
## [2.4.11](https://github.com/GeneralBots/BotServer/compare/2.4.10...2.4.11) (2023-07-18)

### Bug Fixes

* **all:** Create bot working again. ([3fd3213](3fd3213740))
* **all:** Create bot working again. ([88c8a29](88c8a29998))
* **all:** Create bot working again. ([91db185](91db185b54))
2023-07-18 16:16:21 +00:00
3fe6a99a67 fix(all): Create bot working again. 2023-07-18 13:09:17 -03:00
99cc43a399 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-18 13:03:06 -03:00
829cbda326 fix(all): Create bot working again. 2023-07-18 13:02:58 -03:00
87fac06890 fix(all): Create bot working again. 2023-07-18 12:58:51 -03:00
Rodrigo
87154cd59f chore(release): 2.4.10 [skip ci]
## [2.4.10](https://github.com/GeneralBots/BotServer/compare/2.4.9...2.4.10) (2023-07-18)

### Bug Fixes

* **all:** Create bot working again. ([c3e6a3d](c3e6a3da7a))
2023-07-18 15:54:03 +00:00
80a2a69524 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-18 12:46:55 -03:00
a2b083d503 fix(all): Create bot working again. 2023-07-18 12:46:50 -03:00
Rodrigo
d77aec0ead chore(release): 2.4.9 [skip ci]
## [2.4.9](https://github.com/GeneralBots/BotServer/compare/2.4.8...2.4.9) (2023-07-17)

### Bug Fixes

* **all:**   [#123](https://github.com/GeneralBots/BotServer/issues/123) done. ([899696d](899696d7e5))
2023-07-17 18:44:38 +00:00
9d5ecec8ce Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-17 15:38:01 -03:00
e1a38c9d30 fix(all): #123 done. 2023-07-17 15:37:58 -03:00
Rodrigo
414fa05e3b chore(release): 2.4.8 [skip ci]
## [2.4.8](https://github.com/GeneralBots/BotServer/compare/2.4.7...2.4.8) (2023-07-17)

### Bug Fixes

* **all:**   [#123](https://github.com/GeneralBots/BotServer/issues/123) done. ([2d1efeb](2d1efeb0cc))
2023-07-17 18:03:06 +00:00
141b8390c0 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-17 14:55:20 -03:00
b848f45c66 fix(all): #123 done. 2023-07-17 14:55:17 -03:00
Rodrigo
6e6f8da25e chore(release): 2.4.7 [skip ci]
## [2.4.7](https://github.com/GeneralBots/BotServer/compare/2.4.6...2.4.7) (2023-07-15)

### Bug Fixes

* **all:** Create bot working again. ([46bbe87](46bbe87bb4))
2023-07-15 22:25:15 +00:00
30cade1922 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-15 19:19:06 -03:00
4a885193c6 fix(all): Create bot working again. 2023-07-15 19:19:04 -03:00
Rodrigo
7bd21bd0ef chore(release): 2.4.6 [skip ci]
## [2.4.6](https://github.com/GeneralBots/BotServer/compare/2.4.5...2.4.6) (2023-07-15)

### Bug Fixes

* **all:** Create bot working again. ([9e49895](9e498956f8))
2023-07-15 13:41:37 +00:00
3c51acc614 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-15 10:34:37 -03:00
34ac4a8fa7 fix(all): Create bot working again. 2023-07-15 10:34:36 -03:00
Rodrigo
784b0f4c55 chore(release): 2.4.5 [skip ci]
## [2.4.5](https://github.com/GeneralBots/BotServer/compare/2.4.4...2.4.5) (2023-07-14)

### Bug Fixes

* **all:** Create bot working again. ([0f1acf6](0f1acf6646))
* **all:** Create bot working again. ([f4ab703](f4ab70396a))
* **all:** Create bot working again. ([b92fbca](b92fbca72a))
2023-07-14 21:58:39 +00:00
909cc6af38 fix(all): Create bot working again. 2023-07-14 18:52:34 -03:00
f1a896ace8 fix(all): Create bot working again. 2023-07-14 18:51:36 -03:00
2248df3ce8 fix(all): Create bot working again. 2023-07-14 18:45:17 -03:00
Rodrigo
833dd62370 chore(release): 2.4.4 [skip ci]
## [2.4.4](https://github.com/GeneralBots/BotServer/compare/2.4.3...2.4.4) (2023-07-13)

### Bug Fixes

* **all:** Minor changes in PROD. ([671fe0c](671fe0cc3e))
2023-07-13 17:20:25 +00:00
92f507da38 fix(all): Minor changes in PROD. 2023-07-13 14:13:48 -03:00
Rodrigo
9aeb6c185a chore(release): 2.4.3 [skip ci]
## [2.4.3](https://github.com/GeneralBots/BotServer/compare/2.4.2...2.4.3) (2023-07-09)

### Bug Fixes

* **all:** Minor changes in PROD. ([c67ec3e](c67ec3e696))
2023-07-09 23:29:46 +00:00
848b239790 fix(all): Minor changes in PROD.
BREAKING CHANGE.
2023-07-09 20:24:24 -03:00
a1ce9a295c Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-09 20:09:57 -03:00
9a261437bd BREAKING CHANGE: General Bots is now 3.0. 2023-07-09 20:09:55 -03:00
Rodrigo
15a84f2ed7 chore(release): 2.4.2 [skip ci]
## [2.4.2](https://github.com/GeneralBots/BotServer/compare/2.4.1...2.4.2) (2023-07-09)

### Bug Fixes

* **all:** Minor changes in PROD. ([77d5b4e](77d5b4ee68))
2023-07-09 23:07:06 +00:00
b3137f9d1f Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-09 20:00:07 -03:00
044e0044d4 fix(all): Minor changes in PROD. 2023-07-09 20:00:05 -03:00
Rodrigo
484974d635 chore(release): 2.4.1 [skip ci]
## [2.4.1](https://github.com/GeneralBots/BotServer/compare/2.4.0...2.4.1) (2023-07-09)

### Bug Fixes

* **all:** Minor changes in PROD. ([8a04ad2](8a04ad2354))
2023-07-09 20:17:11 +00:00
dcb3dbaebc Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-09 17:10:06 -03:00
3936b43342 fix(all): Minor changes in PROD. 2023-07-09 17:09:32 -03:00
Rodrigo
178c8a3de6 chore(release): 2.4.0 [skip ci]
# [2.4.0](https://github.com/GeneralBots/BotServer/compare/2.3.9...2.4.0) (2023-07-09)

### Bug Fixes

* **all:** CWD in Windows now working. ([6721c3d](6721c3dcc3))
* **all:** Fixes in production. ([56b6877](56b687792b))
* **all:** HTTP handler added. ([7c6a175](7c6a1753b3))
* **all:** Minor changes in PROD. ([f69b3f0](f69b3f004c))
* **all:** Minor changes in PROD. ([0b5fa3e](0b5fa3eec2))
* **all:** Minor changes in PROD. ([904691c](904691ca81))
* **all:** Minor changes in PROD. ([d7a5ef5](d7a5ef5ef2))
* **all:** Minor changes in PROD. ([892025e](892025e5b2))
* **all:** Minor changes in PROD. ([76df151](76df151507))
* **all:** Minor changes in PROD. ([f20b5f6](f20b5f6293))
* **all:** Minor changes in PROD. ([a60581b](a60581bd32))
* **app.ts:** Preparing to use 4 or more SSL certificates. ([72b645f](72b645fd2a))
* **azuredeployer.gbapp:** Adding Resource Providers (.Web/.Sql) ([6c9d124](6c9d124524))
* **azuredeployer.gbapp:** Create DB with basic cost. ([0ed600e](0ed600edc3))
* **azuredeployer.gblib:**  FREE flag for database. ([1074ef7](1074ef7240))
* **basic.gblib:**   [#196](https://github.com/GeneralBots/BotServer/issues/196) Spellchecker in groups now working. ([45ad0c3](45ad0c3894))
* **basic.gblib:**   [#269](https://github.com/GeneralBots/BotServer/issues/269) Fixing of group autostart behaviour. ([de77227](de77227945))
* **basic.gblib:**   [#286](https://github.com/GeneralBots/BotServer/issues/286) fix token replaacement. ([a679786](a679786217))
* **basic.gblib:**   [#286](https://github.com/GeneralBots/BotServer/issues/286) fix token replaacement. ([0e9c2e9](0e9c2e9ebf))
* **basic.gblib:**   Debugger improvements. ([3e68858](3e68858bb0))
* **basic.gblib:**  Fixes in WebAutomation. ([d4cf165](d4cf165165))
* **basic.gblib:**  Fixes in WebAutomation. ([b576b6f](b576b6f54d))
* **basic.gblib:**  Fixes in WebAutomation. ([d1b9da2](d1b9da21ba))
* **basic.gblib:**  GBAI automatic retrieval. ([0ef0fc0](0ef0fc01f5))
* **basic.gblib:**  GBAI automatic retrieval. ([04e69b9](04e69b9d99))
* **basic.gblib:**  GBAI automatic retrieval. ([6992bf0](6992bf0ae5))
* **basic.gblib:** [#170](https://github.com/GeneralBots/BotServer/issues/170)  Fixing DATEDIFF. ([4314a37](4314a37916))
* **basic.gblib:** [#226](https://github.com/GeneralBots/BotServer/issues/226) testing. ([97df425](97df425566))
* **basic.gblib:** [#226](https://github.com/GeneralBots/BotServer/issues/226) testing. ([4c037a7](4c037a7205))
* **basic.gblib:** [#227](https://github.com/GeneralBots/BotServer/issues/227) - HEAR AS FILE and GET/SET PARAM. ([bc5c1b0](bc5c1b0ced))
* **basic.gblib:** [#227](https://github.com/GeneralBots/BotServer/issues/227) - HEAR AS FILE and GET/SET PARAM. ([2521117](2521117a80))
* **basic.gblib:** [#227](https://github.com/GeneralBots/BotServer/issues/227) - HEAR AS FILE and GET/SET PARAM. ([ceded7f](ceded7fd55))
* **basic.gblib:** [#227](https://github.com/GeneralBots/BotServer/issues/227) - HEAR AS FILE defining where to save, per bot. ([b64a42f](b64a42feac))
* **basic.gblib:** [#227](https://github.com/GeneralBots/BotServer/issues/227) - HEAR AS FILE defining where to save, per bot. ([473cd98](473cd9871d))
* **basic.gblib:** [#227](https://github.com/GeneralBots/BotServer/issues/227) - HEAR AS FILE. ([c5290b9](c5290b91aa))
* **basic.gblib:** [#227](https://github.com/GeneralBots/BotServer/issues/227) - HEAR AS FILE. ([42dbba4](42dbba4084))
* **basic.gblib:** [#282](https://github.com/GeneralBots/BotServer/issues/282) Fix SSR for Bots 3.0. ([866b361](866b361292))
* **basic.gblib:** [#282](https://github.com/GeneralBots/BotServer/issues/282) Fix SSR for Bots 3.0. ([7f3bd7d](7f3bd7d8fe))
* **basic.gblib:** [#307](https://github.com/GeneralBots/BotServer/issues/307) - Fixed user context in API. ([cbce44f](cbce44f20d))
* **basic.gblib:** [#307](https://github.com/GeneralBots/BotServer/issues/307) - Fixed user context in API. ([4496cef](4496cefa18))
* **basic.gblib:** Adjustment in package version. ([e66c481](e66c481761))
* **basic.gblib:** Correct web automation 'date' use. ([4809fec](4809fec457))
* **basic.gblib:** Correcting the position of Parentheses ([a925c8e](a925c8e8bf))
* **basic.gblib:** FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. ([41ceedf](41ceedfc00))
* **basic.gblib:** FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. ([16bdab6](16bdab6bcc))
* **basic.gblib:** fix dynamic parameter generation. ([11b0ea2](11b0ea24e6))
* **basic.gblib:** Fix getNow return. ([f288987](f2889879a6))
* **basic.gblib:** Fix getNow return. ([5631ce9](5631ce9610))
* **basic.gblib:** Fix getToday return. ([0e33c97](0e33c97851))
* **basic.gblib:** Return the last information with getTextOf ([ececb0d](ececb0d2ea))
* **basic.gblib:** Upgrade to https://github.com/vasyas/push-rpc from WS to HTTPS. ([5534b41](5534b416da))
* **basic.gblib:** Upgrade to https://github.com/vasyas/push-rpc from WS to HTTPS. ([f3c756b](f3c756b015))
* **basic.gblib:** Upgrade to https://github.com/vasyas/push-rpc. ([f3b7c1d](f3b7c1d77e))
* **basic.gblib:** WA page bug removal. ([d902e14](d902e14f78))
* **core.gbapp:** [#195](https://github.com/GeneralBots/BotServer/issues/195) bind call to provide min context for uploads. ([b12a462](b12a462e3e))
* **core.gbapp:** [#195](https://github.com/GeneralBots/BotServer/issues/195) bind call to provide min context for uploads. ([b2f2c73](b2f2c732aa))
* **core.gbapp:** [#336](https://github.com/GeneralBots/BotServer/issues/336) timeout in API fixed. ([0c44361](0c443618a6))
* **core.gbapp:** [#336](https://github.com/GeneralBots/BotServer/issues/336) timeout in API fixed. ([eb6800e](eb6800edce))
* **core.gbapp:** [#341](https://github.com/GeneralBots/BotServer/issues/341) fix regarding COPY files. ([a292b77](a292b77116))
* **core.gbapp:** [#344](https://github.com/GeneralBots/BotServer/issues/344) fix regarding SET FILTER keyword. ([db7ed36](db7ed36707))
* **core.gbapp:** /logs working again. ([d08e11f](d08e11fef4))
* **core.gbapp:** fixed the use of GBLogEx to create GuaribasLog. ([2cb866b](2cb866bc2f))
* **core.gbapp:** Upload now saves the file in correct folder. ([e31cd4d](e31cd4d819))
* **core.gblib:**  SSR fixing about botId. ([799715a](799715a9ee))
* **default.gbui:** [#153](https://github.com/GeneralBots/BotServer/issues/153) fix. ([b6f6a50](b6f6a50f13))
* **default.gbui:** [#263](https://github.com/GeneralBots/BotServer/issues/263) Loads menu.xlsx as subject.json alternative. ([00434bd](00434bd788))
* **default.gbui:** [#263](https://github.com/GeneralBots/BotServer/issues/263) Loads menu.xlsx as subject.json alternative. ([241596b](241596b51f))
* **dependencies:**  Whatsapp-web.js to "1.20.0". ([1857b51](1857b51cf2))
* **gbapp\AskDialog:** Supress Echo Nothing_else ([4ee3012](4ee30120b7))
* **gbapp\AskDialog.ts:** Supress anything_else ([6d8feca](6d8feca871))
* **kb.gbapp:** [#276](https://github.com/GeneralBots/BotServer/issues/276) use of NLP.js upgrade to v4. ([ec1c38f](ec1c38f378))
* **kb.gbapp:** [#276](https://github.com/GeneralBots/BotServer/issues/276) use of NLP.js upgrade to v4. ([5c48d39](5c48d39620))
* **kb.gbapp:** [#297](https://github.com/GeneralBots/BotServer/issues/297) Spellchecker fixed after MSFT changes in service. ([80853f0](80853f014c))
* **kb.gbapp:** [#298](https://github.com/GeneralBots/BotServer/issues/298) search fix and params. ([78778da](78778da3a7))
* **kb.gbapp:** [#332](https://github.com/GeneralBots/BotServer/issues/332) fix STS. ([01cf280](01cf2803a0))
* **kb.gbapp:** /publish review, error handling improved and clean up. ([c94228c](c94228cd8d))
* **kb.gbapp:** Dialog now are finished OK. ([a969abb](a969abbcc4))
* **kb.gbapp:** Dialog now are finished OK. ([a7a1d47](a7a1d47c24))
* **kb.gbapp:** Download only if not in cache optimization. ([b30e016](b30e0160c4))
* **security.gblib:** Params support in users. ([82a9ba9](82a9ba983e))
* **whatsapp.gblib:** [#262](https://github.com/GeneralBots/BotServer/issues/262) wrong key value. ([565ad4a](565ad4ab6d))
* **whatsapp.gblib:** [#288](https://github.com/GeneralBots/BotServer/issues/288) fix list and buttons. ([6f62453](6f62453f4e))
* **whatsapp.gblib:** [#288](https://github.com/GeneralBots/BotServer/issues/288) unify puppteer params with GBSSR. ([b96a78e](b96a78e810))
* **whatsapp.gblib:** [#309](https://github.com/GeneralBots/BotServer/issues/309) unify channel detection. ([cfe3ab3](cfe3ab30f4))
* **Whatsapp.gblib:** fix "whatsapp-web.js" compatibility issues. ([cd97189](cd97189477))

### Features

* **whatsapp.gblib:** add 'graphapi' option. ([ce84053](ce84053d95))
2023-07-09 19:37:44 +00:00
ffcf2bc6c4 fix(all): Minor changes in PROD. 2023-07-09 16:29:30 -03:00
2aa412e686 fix(all): Minor changes in PROD. 2023-07-09 16:27:45 -03:00
7fd73fee84 fix(all): Minor changes in PROD. 2023-07-09 15:57:09 -03:00
bc376d576e fix(all): Minor changes in PROD. 2023-07-09 14:51:46 -03:00
9292b4201e fix(all): Minor changes in PROD. 2023-07-09 13:09:28 -03:00
966dff6ddb fix(all): Minor changes in PROD. 2023-07-09 12:59:12 -03:00
d5f54506c1 fix(all): Minor changes in PROD. 2023-07-09 10:36:38 -03:00
3232ff9a6b fix(all): HTTP handler added. 2023-07-09 08:46:45 -03:00
054249afaf Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-07-09 06:52:16 -03:00
b4512b71c3 fix(all): Minor changes in PROD. 2023-07-09 06:51:10 -03:00
fd088322f9 Update README.md 2023-05-30 08:40:00 -03:00
Alan
8d1439ca40 fix(app.ts): Preparing to use 4 or more SSL certificates. 2023-05-25 21:20:40 -03:00
5ae0283e63 fix(kb.gbapp): Dialog now are finished OK. 2023-05-25 11:17:43 -03:00
b3acece86b fix(kb.gbapp): Dialog now are finished OK. 2023-05-25 11:14:08 -03:00
Alan
9a02654300 fix(dependencies): Whatsapp-web.js to "1.20.0". 2023-05-23 11:15:17 -03:00
AlanPerdomo
0b44256116 Update web.config 2023-05-23 11:02:23 -03:00
Matheus C
5cc5f7e777 fix(gbapp\AskDialog): Supress Echo Nothing_else 2023-05-22 22:14:31 -03:00
Matheus C
f253fcd5c3 Testing 1st Commit 2023-05-22 22:13:41 -03:00
Matheus C
910cd69e10 fix(gbapp\AskDialog.ts): Supress anything_else 2023-05-22 22:04:57 -03:00
140bd6b032 Update CODE_OF_CONDUCT-pt-br.md
Added harassment, bullying and mobbing items.
2023-05-19 10:17:18 -03:00
8be69aa0ae Update CODE_OF_CONDUCT.md
Added mobbing (group bullying or gang stalking).
2023-05-19 10:15:04 -03:00
phpussente
70dac64e62 fix(basic.gblib): Correcting the position of Parentheses 2023-05-15 16:55:01 -03:00
phpussente
5d782b16d5 fix(basic.gblib): Return the last information with getTextOf 2023-05-15 15:18:19 -03:00
phpussente
3ece133f72 new(basic.gblib): Command TEXT OF 2023-05-09 11:20:40 -03:00
phpussente
3583685b48 new(basic.gblib): Command CLICK BUTTON 2023-05-04 14:43:19 -03:00
Alan
c0c4c19adc fix(core.gbapp): Upload now saves the file in correct folder. 2023-04-29 14:18:10 -03:00
531acb6fd8 BREAKING CHANGE: 3.0 arrived. 2023-04-21 07:03:42 -03:00
Alan
62cb4849f5 fix(core.gbapp): fixed the use of GBLogEx to create GuaribasLog. 2023-04-20 22:41:58 -03:00
3754f8a191 fix(basic.gblib): #226 testing. 2023-04-11 18:27:30 -03:00
ca7b10bd68 fix(basic.gblib): #226 testing. 2023-04-11 18:08:50 -03:00
4e93683492 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-04-09 19:21:51 -03:00
b514629a33 new(basic.gblib): GPT-3 automatically dialog generation. 2023-04-09 19:20:15 -03:00
AlanPerdomo
54ed8f74d2 Fix(core.gbapp): Schedule enabled. 2023-04-06 11:09:49 -03:00
Alan Perdomo
90dd543727 fix(basic.gblib): Correct web automation 'date' use. 2023-04-05 12:29:23 -03:00
1320fa8890 fix(core.gbapp): #344 fix regarding SET FILTER keyword. 2023-04-01 10:42:44 -03:00
1189fd81ee Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-04-01 08:01:11 -03:00
e7201a84e9 fix(core.gbapp): #341 fix regarding COPY files. 2023-04-01 08:01:10 -03:00
AlanPerdomo
4727005475 fix(basic.gblib): fix dynamic parameter generation. 2023-03-31 10:47:03 -03:00
Alan Perdomo
40daa075a7 fix(basic.gblib): Fix getNow return. 2023-03-27 18:20:21 -03:00
Alan Perdomo
e40721b765 fix(basic.gblib): Fix getNow return. 2023-03-27 17:38:31 -03:00
Alan Perdomo
f356d664d9 fix(basic.gblib): Fix getToday return. 2023-03-27 16:42:17 -03:00
3e4bf69222 fix(core.gbapp): /logs working again. 2023-03-27 10:07:28 -03:00
3e7345c888 fix(core.gbapp): #336 timeout in API fixed. 2023-03-26 19:33:58 -03:00
055660bfd2 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-03-24 19:19:47 -03:00
63d89fe3e2 fix(core.gbapp): #336 timeout in API fixed. 2023-03-24 19:19:25 -03:00
Alan Perdomo
3c547a25e9 fix(azuredeployer.gbapp): Create DB with basic cost. 2023-03-21 18:09:11 -03:00
phpussente
8378252680 fix(azuredeployer.gbapp): Adding Resource Providers (.Web/.Sql) 2023-03-21 16:06:02 -03:00
35c34c575d Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-03-21 13:32:32 -03:00
c6751b41eb fix(azuredeployer.gblib): FREE flag for database. 2023-03-21 13:32:27 -03:00
Zuilho Segundo
f61ad11d92 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-03-20 16:35:10 -03:00
Zuilho Segundo
c1d9a8ce10 fix(core.gbapp:using direct prop from singleton) 2023-03-20 16:35:01 -03:00
a7981d7a9c fix(core.gblib): SSR fixing about botId. 2023-03-20 16:14:58 -03:00
e70b992a9f fix(all): Fixes in production. 2023-03-19 20:09:54 -03:00
31021125ce fix(basic.gblib): Debugger improvements. 2023-03-13 14:20:18 -03:00
f10e0c4040 new(basic.gblib): DEV_GBAI introduced to share a .gbdata among dev. team. 2023-03-10 15:49:30 -03:00
319a9a8b89 fix(basic.gblib): GBAI automatic retrieval. 2023-03-09 18:56:55 -03:00
a0d711582f fix(basic.gblib): GBAI automatic retrieval. 2023-03-09 17:46:34 -03:00
6c681dc6f4 fix(basic.gblib): GBAI automatic retrieval. 2023-03-09 17:45:59 -03:00
656f2f26e8 new(basic.gblib): GBDIALOG_GBDATABOT introduced to share a .gbdata among dev. team. 2023-03-09 09:49:37 -03:00
8d433477cf fix(basic.gblib): #286 fix token replaacement. 2023-03-08 22:10:43 -03:00
f69d7f3d9c Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-03-08 22:10:28 -03:00
27421e5651 fix(basic.gblib): #286 fix token replaacement. 2023-03-08 22:10:27 -03:00
549e0497d4 Update CODE_OF_CONDUCT-pt-br.md 2023-03-08 13:19:52 -03:00
01c7676937 Update CODE_OF_CONDUCT.md 2023-03-08 13:19:22 -03:00
1b2ace1656 Update CODE_OF_CONDUCT-pt-br.md 2023-03-08 13:17:55 -03:00
c9250e54c2 Update CODE_OF_CONDUCT.md 2023-03-08 13:16:06 -03:00
b426ed8d47 Including more behaviours and stalking/bullying. 2023-03-08 13:15:05 -03:00
8e898d0ff0 fix(basic.gblib): #269 Fixing of group autostart behaviour. 2023-03-08 12:01:02 -03:00
27eef38b07 fix(basic.gblib): #196 Spellchecker in groups now working. 2023-03-08 11:17:04 -03:00
phpussente
8ff42ae018 docs(basic.glib): CLICK command update. 2023-03-07 17:56:10 -03:00
71be4482a1 fix(basic.gblib): Adjustment in package version. 2023-03-07 15:29:50 -03:00
3e998ccafd fix(basic.gblib): Fixes in WebAutomation. 2023-03-07 12:29:02 -03:00
31df795a8d fix(basic.gblib): Fixes in WebAutomation. 2023-03-07 12:28:45 -03:00
58c22ef919 fix(basic.gblib): Fixes in WebAutomation. 2023-03-07 12:06:15 -03:00
b90cc49254 fix(whatsapp.gblib): #309 unify channel detection. 2023-03-07 10:01:36 -03:00
a49d9851c2 fix(whatsapp.gblib): #262 wrong key value. 2023-03-07 07:49:00 -03:00
64f0706df7 fix(whatsapp.gblib): #288 fix list and buttons. 2023-03-06 20:36:27 -03:00
574904b8a9 fix(whatsapp.gblib): #288 unify puppteer params with GBSSR. 2023-03-06 11:45:56 -03:00
90a7b48979 new(basic.gblib): #334 QRCODE new keyword introduced. 2023-03-06 09:09:31 -03:00
799f74c448 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-03-06 08:50:47 -03:00
869f85caa0 fix(default.gbui): #153 fix. 2023-03-06 08:50:43 -03:00
a012442db9 Add files via upload 2023-03-06 07:28:03 -03:00
5c09828199 new(basic.gblib): #300 FIND custom SET FILTER TYPE new keyword. 2023-03-06 07:09:24 -03:00
54e50f433b fix(basic.gblib): Upgrade to https://github.com/vasyas/push-rpc from WS to HTTPS. 2023-03-05 16:59:48 -03:00
83471408bf fix(basic.gblib): Upgrade to https://github.com/vasyas/push-rpc from WS to HTTPS. 2023-03-05 11:09:36 -03:00
e891843d59 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-03-04 16:28:30 -03:00
6c6cc6e628 fix(basic.gblib): Upgrade to https://github.com/vasyas/push-rpc. 2023-03-04 16:27:25 -03:00
5d8159373c Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-03-03 19:10:34 -03:00
418c1c0265 fix(basic.gblib): WA page bug removal. 2023-03-03 19:10:31 -03:00
AlanPerdomo
fbecb6b2af new(all): #171 HEAR AS qrcode. 2023-03-02 17:46:45 -03:00
d18ad0525e fix(basic.gblib): #170 Fixing DATEDIFF. 2023-03-02 14:24:51 -03:00
b768786e6e new(basic.gblib): #306
Ignore acents during FIND filter 3.0 requirement.
2023-03-02 07:51:42 -03:00
42e00c900a fix(kb.gbapp): #297 Spellchecker fixed after MSFT changes in service. 2023-03-01 10:54:44 -03:00
88df7ef424 fix(kb.gbapp): #276 use of NLP.js upgrade to v4. 2023-02-27 19:17:52 -03:00
5e1a7dddda fix(kb.gbapp): #276 use of NLP.js upgrade to v4. 2023-02-27 14:34:38 -03:00
7e6578f0ec fix(kb.gbapp): #332 fix STS. 2023-02-26 18:15:22 -03:00
267d59758a fix(kb.gbapp): /publish review, error handling improved and clean up. 2023-02-26 15:03:24 -03:00
8360c81573 fix(kb.gbapp): Download only if not in cache optimization. 2023-02-26 06:48:47 -03:00
fc0cde09d7 new(all): #156 and node update. 2023-02-26 06:05:57 -03:00
89b7c9e032 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-24 23:05:55 -03:00
0bd547024a new(all): #156 and logo enhancement. 2023-02-24 23:05:52 -03:00
b066c96352 fix(all): CWD in Windows now working. 2023-02-24 19:26:09 -03:00
phpussente
8366d92961 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-24 16:50:05 -03:00
phpussente
0393dd21a3 new(basic.glib): #331 CREAD LEAD 2023-02-24 16:50:03 -03:00
664e0ee25d new(all): #156 and logo enhancement. 2023-02-24 13:37:06 -03:00
0368f68282 new(all): #156 and logo enhancement. 2023-02-24 13:31:40 -03:00
e816b86125 new(all): Review order of boot.mjs and imports calls from compiled js #302 and new boot logo. 2023-02-24 10:18:04 -03:00
9ed36b55ed new(basic.gblib): #256 coding for loading sheet file and HEAR param processing. 2023-02-23 17:41:29 -03:00
67d346022a new(core.gbapp): Start of #321, https for every custom bot domain. 2023-02-23 16:44:56 -03:00
4f7694d86a fix(default.gbui): #263 Loads menu.xlsx as subject.json alternative. 2023-02-23 11:52:14 -03:00
4e5a952b75 fix(default.gbui): #263 Loads menu.xlsx as subject.json alternative. 2023-02-23 11:51:59 -03:00
6cea57fd0c new(default.gbui): Load time reduced for web page display. 2023-02-23 08:11:09 -03:00
b862de618d new(kb.gbapp): #259 BASIC from cell import done, no need a /basic. 2023-02-23 06:14:40 -03:00
0d3fb6d326 fix(kb.gbapp): #298 search fix and params. 2023-02-23 05:47:05 -03:00
561bcfbbc2 new(kb.gbapp): #259 BASIC from cell import done, fixing User. 2023-02-22 16:15:05 -03:00
6149bf3ac5 new(kb.gbapp): #322 more user context for VM. 2023-02-22 16:06:57 -03:00
0932e117ac new(kb.gbapp): #259 BASIC from cell import done - second part. 2023-02-22 13:18:16 -03:00
9e40d928dc new(kb.gbapp): #259 .docx import done - first part. 2023-02-22 11:30:51 -03:00
6d8ced63ab Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-21 18:23:48 -03:00
1d13198277 new(kb.gbapp): #259 add several kinds of direct information import. 2023-02-21 18:22:22 -03:00
601d59554e new(kb.gbapp): #259 add several kinds of direct information import. 2023-02-21 18:21:36 -03:00
91d9e58946 fix(basic.gblib): #282 Fix SSR for Bots 3.0. 2023-02-20 10:29:04 -03:00
6605de5c5d fix(basic.gblib): #282 Fix SSR for Bots 3.0. 2023-02-18 16:48:40 -03:00
4b880ecf5e new(all): #327 OPEN AS web automation. 2023-02-17 15:34:29 -03:00
87cf9d1b00 new(all): #327 OPEN AS web automation. 2023-02-17 06:32:30 -03:00
72453049ad new(all): #327 OPEN AS web automation. 2023-02-16 18:12:21 -03:00
a6f705f823 new(all): #327 OPEN AS web automation. 2023-02-16 10:27:18 -03:00
f4b4dfd702 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-15 22:12:25 -03:00
f4aa2d6ed1 new(all): #327 OPEN AS web automation. 2023-02-15 22:12:24 -03:00
Alan
614e14073a Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-14 14:11:53 -03:00
Alan
ad607a967f Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-14 14:11:52 -03:00
Alan
6b3a0b126a Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-14 13:58:18 -03:00
Alan
2e83f2b86d fix(Whatsapp.gblib): fix "whatsapp-web.js" compatibility issues. 2023-02-14 13:58:17 -03:00
b5dcbe41eb new(all): #329 MERGE keyword added. 2023-02-13 17:31:38 -03:00
e2e17c3bc2 new(all): Log per bot started. #299. 2023-02-12 14:31:21 -03:00
954eb8c94e new(basic.gblib): Power Platform integration. 2023-02-10 08:52:04 -03:00
Alan
5d2e801c12 feat(whatsapp.gblib): add 'graphapi' option. 2023-02-09 19:40:16 -03:00
7038a3750b fix(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. 2023-02-09 11:31:11 -03:00
edb2204d67 fix(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. 2023-02-08 07:14:02 -03:00
fbf56375f6 docs(all): WARNING messages. 2023-02-07 10:50:40 -03:00
aee069c4b7 new(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. 2023-02-06 18:14:48 -03:00
5903591bfa new(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. 2023-02-06 12:48:41 -03:00
02d314031b new(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. 2023-02-05 18:19:39 -03:00
5b110def56 new(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. 2023-02-05 14:41:33 -03:00
22fae3b4e8 new(basic.gblib): FILL keyword can now template images and AS IMAGE can convert a DOCX to a PNG. 2023-02-05 11:57:02 -03:00
e60216f443 refactor(basic.gblib): Renaming ImageProcessing. 2023-02-04 10:58:00 -03:00
651b42bde3 refactor(basic.gblib): Renaming WA. 2023-02-04 10:57:05 -03:00
d28eb0043d new(basic.gblib): BLUR keyword introduced. 2023-02-04 10:48:13 -03:00
9ba6a77e09 refactor(basic.gblib): Moving keywords to an isolated file. 2023-02-04 10:45:30 -03:00
82733e0f08 fix(basic.gblib): #227 - HEAR AS FILE defining where to save, per bot. 2023-02-03 12:08:23 -03:00
9d001edc69 fix(basic.gblib): #227 - HEAR AS FILE defining where to save, per bot. 2023-02-03 10:25:58 -03:00
cafcac0214 fix(basic.gblib): #227 - HEAR AS FILE and GET/SET PARAM. 2023-02-01 12:23:47 -03:00
2c248cc127 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-02-01 12:23:31 -03:00
e5e9f3f2f8 fix(basic.gblib): #227 - HEAR AS FILE and GET/SET PARAM. 2023-02-01 12:18:07 -03:00
02d43fb0c2 fix(basic.gblib): #227 - HEAR AS FILE and GET/SET PARAM. 2023-02-01 11:15:58 -03:00
4d3fa1a1a3 fix(security.gblib): Params support in users. 2023-01-31 23:11:06 -03:00
5704203aca Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-01-31 19:23:09 -03:00
31f96ae18b fix(core.gbapp): #195 bind call to provide min context for uploads. 2023-01-31 19:22:58 -03:00
db322137be fix(core.gbapp): #195 bind call to provide min context for uploads. 2023-01-31 19:07:39 -03:00
fc26dbc10c fix(basic.gblib): #227 - HEAR AS FILE. 2023-01-31 14:07:23 -03:00
8a6125bfe4 fix(basic.gblib): #227 - HEAR AS FILE. 2023-01-31 14:06:50 -03:00
b8f2766276 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-01-31 11:53:08 -03:00
1d11b81904 fix(basic.gblib): #307 - Fixed user context in API. 2023-01-31 11:53:01 -03:00
0ed190b975 fix(basic.gblib): #307 - Fixed user context in API. 2023-01-31 11:46:37 -03:00
55c88f793b new(security.gblib): Params support in users. 2023-01-31 10:08:48 -03:00
Rodrigo
ffb090f67e chore(release): 2.3.9 [skip ci]
## [2.3.9](https://github.com/GeneralBots/BotServer/compare/2.3.8...2.3.9) (2023-01-29)

### Bug Fixes

* **basic.gblib:** [#326](https://github.com/GeneralBots/BotServer/issues/326) align JS and BASIC map file. ([b572cc9](b572cc9b8d))
2023-01-29 20:27:11 +00:00
919e626b4d fix(basic.gblib): #326 align JS and BASIC map file. 2023-01-29 17:20:38 -03:00
6ac6d7004a new(basic.gblib): VBS to JS directly now and minor fixes. 2023-01-29 12:02:14 -03:00
cf5ff317d1 new(basic.gblib): Swagger specification draft. 2023-01-27 15:36:42 -03:00
Rodrigo
1737202979 chore(release): 2.3.8 [skip ci]
## [2.3.8](https://github.com/GeneralBots/BotServer/compare/2.3.7...2.3.8) (2023-01-26)

### Bug Fixes

* **basic.gblib:** OPEN keyword fix. Magic number removal. ([e1c389c](e1c389cbd0))
* **basic.gblib:** OPEN keyword fix. Magic number removal. ([fe2af84](fe2af84b21))
2023-01-26 15:53:53 +00:00
Alan
99f0f5debb fix(basic.gblib): OPEN keyword fix. Magic number removal. 2023-01-26 12:47:37 -03:00
Alan
b3b297ed44 fix(basic.gblib): OPEN keyword fix. Magic number removal. 2023-01-26 12:47:17 -03:00
Rodrigo
03d780b072 chore(release): 2.3.7 [skip ci]
## [2.3.7](https://github.com/GeneralBots/BotServer/compare/2.3.6...2.3.7) (2023-01-25)

### Bug Fixes

* **systemkeywords.ts:** injected security context inside systemkeywords.ts ([8a895d3](8a895d3da1))
2023-01-25 14:07:37 +00:00
Alan
2a29c2425d Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-01-25 11:02:11 -03:00
Alan
6120c78500 fix(systemkeywords.ts): injected security context inside systemkeywords.ts 2023-01-25 11:02:10 -03:00
Rodrigo
ff4734e948 chore(release): 2.3.6 [skip ci]
## [2.3.6](https://github.com/GeneralBots/BotServer/compare/2.3.5...2.3.6) (2023-01-25)

### Bug Fixes

* **dialogkeywords.ts:** injected security context inside DialogKeywords ([81953d7](81953d7d9f))
2023-01-25 13:54:58 +00:00
Alan
a0e13c276e fix(dialogkeywords.ts): injected security context inside DialogKeywords 2023-01-25 10:49:00 -03:00
Rodrigo
ea8d948f4b chore(release): 2.3.5 [skip ci]
## [2.3.5](https://github.com/GeneralBots/BotServer/compare/2.3.4...2.3.5) (2023-01-19)

### Bug Fixes

* **basic.gblib:** executionid and changed to pid and security context for HEAR([#322](https://github.com/GeneralBots/BotServer/issues/322)). ([9820bb3](9820bb3f7a))
2023-01-19 13:54:01 +00:00
Alan Perdomo
e88e097c0e Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-01-19 10:47:53 -03:00
Alan Perdomo
78c886385c fix(basic.gblib): executionid and changed to pid and security context for HEAR(#322). 2023-01-19 10:47:47 -03:00
Rodrigo
92a0f8e35f chore(release): 2.3.4 [skip ci]
## [2.3.4](https://github.com/GeneralBots/BotServer/compare/2.3.3...2.3.4) (2023-01-19)

### Bug Fixes

* **basic.gblib:** executionid and changed to pid and security context for HEAR. ([1063739](1063739cbe))
2023-01-19 13:45:21 +00:00
Alan Perdomo
6df4937a05 fix(basic.gblib): executionid and changed to pid and security context for HEAR. 2023-01-19 10:39:37 -03:00
Rodrigo
87f89cabfd chore(release): 2.3.3 [skip ci]
## [2.3.3](https://github.com/GeneralBots/BotServer/compare/2.3.2...2.3.3) (2023-01-17)

### Bug Fixes

* **basic.gblib:** Refactoring processInfo into all methods. ([50d3fcc](50d3fccd0d))
2023-01-17 14:10:19 +00:00
Daniel Lima
e62d72df4c fix(basic.gblib): Refactoring processInfo into all methods. 2023-01-17 11:03:25 -03:00
Rodrigo
73016bef53 chore(release): 2.3.2 [skip ci]
## [2.3.2](https://github.com/GeneralBots/BotServer/compare/2.3.1...2.3.2) (2023-01-13)

### Bug Fixes

* **systemkeywords.ts:** executionid, and changed to pid ([274db0d](274db0d389))
2023-01-13 19:18:16 +00:00
Alan Perdomo
cd78f631d6 fix(systemkeywords.ts): executionid, and changed to pid 2023-01-13 16:09:45 -03:00
Rodrigo
95b35d39d4 chore(release): 2.3.1 [skip ci]
## [2.3.1](https://github.com/GeneralBots/BotServer/compare/2.3.0...2.3.1) (2023-01-13)

### Bug Fixes

* **gbminservice.ts:** swagger-client migration from 2.0 to 3.0 ([552e8b1](552e8b14c4))
2023-01-13 16:36:40 +00:00
Alan Perdomo
c124ed074a fix(gbminservice.ts): swagger-client migration from 2.0 to 3.0 2023-01-13 13:30:18 -03:00
Rodrigo
8c380d772e chore(release): 2.3.0 [skip ci]
# [2.3.0](https://github.com/GeneralBots/BotServer/compare/2.2.0...2.3.0) (2023-01-10)

### Features

* **systemkeywords.ts:** introducing executionid feature in api ([a65a82d](a65a82dd8a))
2023-01-10 15:09:59 +00:00
Alan Perdomo
8342ff6745 feat(systemkeywords.ts): introducing executionid feature in api 2023-01-10 12:06:14 -03:00
Rodrigo
c6d02b96dc chore(release): 2.2.0 [skip ci]
# [2.2.0](https://github.com/GeneralBots/BotServer/compare/2.1.5...2.2.0) (2023-01-10)

### Features

* **systemkeywords.ts:** introducing executionid feature in api ([52dea44](52dea442d5))
2023-01-10 12:58:57 +00:00
Alan Perdomo
99e67db464 feat(systemkeywords.ts): introducing executionid feature in api 2023-01-10 09:55:30 -03:00
Rodrigo
a3d15b9e76 chore(release): 2.1.5 [skip ci]
## [2.1.5](https://github.com/GeneralBots/BotServer/compare/2.1.4...2.1.5) (2023-01-05)

### Bug Fixes

* **gbvmservices.ts:** Update ([c62d372](c62d372ec6))
2023-01-05 13:52:15 +00:00
Alan Perdomo
cd3804d355 fix(gbvmservices.ts): Update 2023-01-05 10:47:40 -03:00
Rodrigo
2dd0ceebb8 chore(release): 2.1.4 [skip ci]
## [2.1.4](https://github.com/GeneralBots/BotServer/compare/2.1.3...2.1.4) (2023-01-05)

### Bug Fixes

* **tscompiler.ts:** Update typescript import. ([f4209eb](f4209eb4f0))
2023-01-05 01:17:08 +00:00
Alan Perdomo
547d0f7a26 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-01-04 22:11:45 -03:00
Alan Perdomo
f2498471db fix(tscompiler.ts): Update typescript import. 2023-01-04 22:11:30 -03:00
Rodrigo
ebace90166 chore(release): 2.1.3 [skip ci]
## [2.1.3](https://github.com/GeneralBots/BotServer/compare/2.1.2...2.1.3) (2023-01-04)

### Bug Fixes

* **AzureDeployerService:** accessToken ([07d9cf6](07d9cf67db))
* **azuredeployerservice.gbapp:** Update of password generator libs. ([57461ee](57461ee006))
* **basic.gblib:** Threat multiple spaces as one. ([0721a3f](0721a3fa78))
* **basic.gblib:** Threat multiple spaces as one. ([ac5911e](ac5911ee02))
2023-01-04 19:50:29 +00:00
Alan Perdomo
a32f752494 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2023-01-04 16:46:36 -03:00
952bd389d6 fix(basic.gblib): Threat multiple spaces as one. 2023-01-04 16:36:18 -03:00
ef255b0188 fix(basic.gblib): Threat multiple spaces as one. 2023-01-04 16:26:18 -03:00
Alan Perdomo
b253e19e3b fix(azuredeployerservice.gbapp): Update of password generator libs. 2023-01-03 11:24:08 -03:00
d4f6727b65 Merge pull request #319 from AlanPerdomo/main
fix(AzureDeployerService): accessToken
2023-01-02 16:35:32 -03:00
Alan Perdomo
809db6b999 fix(AzureDeployerService): accessToken 2023-01-02 16:31:28 -03:00
Rodrigo
773b50d1b2 chore(release): 2.1.2 [skip ci]
## [2.1.2](https://github.com/GeneralBots/BotServer/compare/2.1.1...2.1.2) (2023-01-02)

### Bug Fixes

* **azuredeployer.gbapp:** createInstance free ([1b41551](1b41551ac5))
2023-01-02 14:34:59 +00:00
phpussente
ba029904c8 Merge pull request #318 from AlanPerdomo/main
fix(azuredeployer.gbapp): createInstance as free plan
2023-01-02 11:28:06 -03:00
Alan Perdomo
32e27029ce fix(azuredeployer.gbapp): createInstance free 2023-01-02 11:22:57 -03:00
Rodrigo
5b41324457 chore(release): 2.1.1 [skip ci]
## [2.1.1](https://github.com/GeneralBots/BotServer/compare/2.1.0...2.1.1) (2023-01-01)

### Bug Fixes

* **admin.gbapp:** Fixing token generation  issues. ([8fb35c2](8fb35c2c2d))
* **admin.gbapp:** Fixing token generation  issues. ([2a848f4](2a848f4ea6))
* **admin.gbapp:** Fixing token generation  issues. ([3de3bd6](3de3bd6c01))
* **all:** Finishing renaming to main branch. ([16d2101](16d21019a0))
* **all:** Finishing renaming to main branch. ([cac92cc](cac92cca22))
* **all:** Finishing renaming to main branch. ([bff8bcf](bff8bcf7e5))
* **all:** Finishing renaming to main branch. ([07f173e](07f173ec73))
* **all:** Fixing bugs of 3.0 ([39eff93](39eff93528))
* **all:** TODO items removed or moved to ALM. ([7348c54](7348c54894))
* **basic.gblib:** Renaming branch to main. ([c6d9662](c6d9662145))
* **basic.gblib:** Renaming branch to main. ([203416c](203416c477))
* **basic.gblib:** TODO removal. ([2b08965](2b0896521e))
* **basic.gblib:** TODO removal. ([c0133a8](c0133a8960))
* **basic.gblib:** TODO removal. ([9ad1d56](9ad1d5693e))
2023-01-01 20:18:03 +00:00
47b9505a2a fix(all): Finishing renaming to main branch. 2023-01-01 16:36:16 -03:00
3c030c79f6 fix(all): Finishing renaming to main branch. 2023-01-01 14:58:58 -03:00
22a908a25d fix(all): Finishing renaming to main branch. 2023-01-01 14:55:44 -03:00
0e27dc5b5a fix(all): Finishing renaming to main branch. 2023-01-01 14:53:07 -03:00
6b3d31ed3c fix(all): TODO items removed or moved to ALM. 2023-01-01 14:24:53 -03:00
phpussente
55f6c8184b Merge pull request #316 from AlanPerdomo/master
Removal of start-up bugs
2022-12-29 19:58:46 -03:00
Alan Perdomo
81c1a7d30e Merge branch 'master' of https://github.com/AlanPerdomo/BotServer 2022-12-29 14:47:26 -03:00
Alan Perdomo
69d96e3a05 fix(all):Updating imports settings. 2022-12-29 14:47:19 -03:00
Daniel Lima
717f1db9ed fix(all): Fixing bugs of 3.0 2022-12-27 12:55:22 -03:00
19b92c7170 fix(admin.gbapp): Fixing token generation issues. 2022-12-27 12:19:43 -03:00
6f4e68a514 fix(admin.gbapp): Fixing token generation issues. 2022-12-27 12:18:07 -03:00
65ae3816fb fix(admin.gbapp): Fixing token generation issues. 2022-12-27 11:59:14 -03:00
ccae1459cf fix(basic.gblib): Renaming branch to main. 2022-12-26 13:49:46 -03:00
ba266c0453 fix(basic.gblib): Renaming branch to main. 2022-12-26 13:43:15 -03:00
dccde06274 fix(basic.gblib): TODO removal. 2022-12-26 13:37:11 -03:00
05b0473f41 Merge branch 'main' of https://github.com/GeneralBots/BotServer 2022-12-26 07:53:04 -03:00
18ef6ccb5b fix(basic.gblib): TODO removal. 2022-12-26 07:53:00 -03:00
8c8b7878e8 fix(basic.gblib): TODO removal. 2022-12-26 07:51:41 -03:00
Rodrigo
89f1bacd88 chore(release): 2.1.0 [skip ci]
# [2.1.0](https://github.com/GeneralBots/BotServer/compare/2.0.182...2.1.0) (2022-12-23)

### Features

* **all:** Cleaning package manager files. ([0cb406a](0cb406ab79))
* **all:** Token retrieve optimized. ([6eb9d6c](6eb9d6cbf4))
2022-12-23 11:39:18 +00:00
8af784ae60 feat(all): Cleaning package manager files. 2022-12-23 08:32:28 -03:00
ce9ace1273 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-12-23 08:23:11 -03:00
5546c5cd14 feat(all): Token retrieve optimized. 2022-12-23 08:23:08 -03:00
Rodrigo
4c5b84c386 chore(release): 2.0.182 [skip ci]
## [2.0.182](https://github.com/GeneralBots/BotServer/compare/2.0.181...2.0.182) (2022-12-23)

### Bug Fixes

* **all:** Node version info retrieval automated. ([9cbd8c1](9cbd8c17de))
2022-12-23 11:17:41 +00:00
37bf487f18 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-12-22 20:55:53 -03:00
96a238d287 fix(all): Node version info retrieval automated. 2022-12-22 20:55:49 -03:00
Rodrigo
630e967127 chore(release): 2.0.181 [skip ci]
## [2.0.181](https://github.com/GeneralBots/BotServer/compare/2.0.180...2.0.181) (2022-12-22)

### Bug Fixes

* **admin.gbapp:** .gbapp List param added to .gbot. ([48a1aa4](48a1aa4d46))
2022-12-22 14:37:53 +00:00
7f39e7664a Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-12-22 11:31:41 -03:00
11f2578e28 fix(admin.gbapp): .gbapp List param added to .gbot. 2022-12-22 11:31:37 -03:00
Rodrigo
74de663daa chore(release): 2.0.180 [skip ci]
## [2.0.180](https://github.com/GeneralBots/BotServer/compare/2.0.179...2.0.180) (2022-12-16)

### Bug Fixes

* **all:** CI fixing. ([e4fc246](e4fc246b25))
* **all:** CI fixing. ([fa32b51](fa32b510d9))
* **all:** fetch calls replaces request packages. ([ea6c721](ea6c721cb5))
* **all:** Fixing [#294](https://github.com/GeneralBots/BotServer/issues/294). ([25ce766](25ce766820))
* **all:** Fixing bugs of 3.0 ([d09265e](d09265e023))
* **all:** Fixing bugs of 3.0 ([6cad39d](6cad39d8c7))
* **all:** Fixing bugs of 3.0. ([d180753](d180753253))
* **all:** Fixing bugs of 3.0. ([83d98c7](83d98c794f))
* **all:** Fixing bugs of 3.0. ([bf705c7](bf705c730b))
* **all:** Fixing CI integration bugs. ([0ce6bc5](0ce6bc5d8c))
* **all:** Fixing CI integration bugs. ([9c44e38](9c44e38560))
* **all:** Fixing CI integration bugs. ([9acb055](9acb05567a))
* **all:** Fixing CI integration bugs. ([c323f5a](c323f5a3e8))
* **all:** Fixing CI integration bugs. ([b2c1dda](b2c1dda2b2))
* **all:** Fixing CI integration bugs. ([ae29dda](ae29dda0fa))
* **all:** Fixing CI integration bugs. ([0ecac1a](0ecac1a4b5))
* **all:** Fixing CI integration bugs. ([9f88210](9f8821089a))
* **all:** Removal of warnings and erros after pkg update. ([663c85e](663c85e7c5))
* **all:** Update of arm packages and token usage. ([179b20a](179b20a248))
* **core.gbapp:** Lint of all. ([4a2f8b7](4a2f8b7b43))
* **core.gbapp:** Update of all packages and nodejs to 19.1.0. ([f8d2cd8](f8d2cd895a))
* **core.gbapp:** Update of all packages and nodejs to 19.1.0. ([a315d21](a315d21cfe))
* **core.gbapp:** Update of properties modifier with declare. ([21df92e](21df92e280))
* **core.gbapp:** WARNINGS.md ([f35a2ac](f35a2aceba))
2022-12-16 15:09:14 +00:00
9157e28c12 fix(all): Fixing CI integration bugs. 2022-12-16 12:00:59 -03:00
c92bcbf350 fix(all): Fixing CI integration bugs. 2022-12-16 11:27:36 -03:00
5e8b5b6937 fix(all): Fixing CI integration bugs. 2022-12-16 10:59:38 -03:00
c17dac7c5d fix(all): Fixing CI integration bugs. 2022-12-16 10:54:34 -03:00
e3ab25ae76 fix(all): Fixing CI integration bugs. 2022-12-16 10:36:09 -03:00
9db0bc2278 fix(all): Fixing CI integration bugs. 2022-12-16 09:46:24 -03:00
7f030bb350 fix(all): Fixing CI integration bugs. 2022-12-16 09:46:15 -03:00
e621ea60b2 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-12-16 09:39:58 -03:00
91559ea834 fix(all): Fixing CI integration bugs. 2022-12-16 09:39:55 -03:00
64498b7649 Update README.md 2022-12-16 09:37:54 -03:00
f0414754f1 fix(all): Fixing bugs of 3.0. 2022-12-16 09:35:57 -03:00
4863247aea fix(all): Fixing bugs of 3.0. 2022-12-16 09:31:43 -03:00
5424ca2e7d new(all): ChatGPT integration. 2022-12-15 23:03:20 -03:00
eb375dec8d fix(all): Update of arm packages and token usage. 2022-12-15 10:56:27 -03:00
9cdd1050af Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-12-14 08:31:27 -03:00
c8caebdf61 fix(all): Fixing bugs of 3.0. 2022-12-14 08:23:39 -03:00
Daniel Lima
a6838f8969 fix(all): Fixing bugs of 3.0 2022-12-12 16:10:17 -03:00
Daniel Lima
f2fe49bd2c fix(all): Fixing bugs of 3.0 2022-12-12 16:09:49 -03:00
Daniel Lima
fec7a461aa fix(all):fixing dependencies and boot. 2022-12-07 12:08:55 -03:00
c745657dfe Rename launch.json.template to launch.json 2022-12-07 11:05:46 -03:00
2550047b6f fix(all): fetch calls replaces request packages. 2022-11-30 09:40:09 -03:00
dd5a97eaac fix(all): CI fixing. 2022-11-29 21:51:53 -03:00
9121129df9 fix(all): CI fixing. 2022-11-29 21:43:28 -03:00
aab45192eb fix(all): 2022-11-29 21:39:58 -03:00
ba661afed2 Merge pull request #295 from GeneralBots/vm3-alpha-debugger
Vm3 alpha debugger
2022-11-29 19:05:09 -03:00
95611795f6 Merge branch 'master' into vm3-alpha-debugger 2022-11-29 19:04:55 -03:00
dc37ddd1ed fix(all): Fixing #294. 2022-11-29 18:01:23 -03:00
ba9404539d fix(core.gbapp): Update of properties modifier with declare. 2022-11-22 11:09:14 -03:00
da8b92e599 fix(all): Removal of warnings and erros after pkg update. 2022-11-21 20:11:27 -03:00
449d0acd38 fix(core.gbapp): WARNINGS.md 2022-11-21 13:51:07 -03:00
92da2ad105 fix(core.gbapp): Lint of all. 2022-11-19 23:34:58 -03:00
605b46dc72 fix(core.gbapp): Update of all packages and nodejs to 19.1.0. 2022-11-19 19:50:19 -03:00
aee711fa38 fix(core.gbapp): Update of all packages and nodejs to 19.1.0. 2022-11-18 22:39:14 -03:00
aebfd09e63 new(all): Alpha Word Debugger for 3.0. 2022-11-14 16:09:05 -03:00
8f1dab36ef new(all): Alpha Word Debugger for 3.0. 2022-11-13 23:38:04 -03:00
8ec937ff2e new(all): Alpha Word Debugger for 3.0. 2022-11-13 23:11:52 -03:00
52d0fab979 new(all): Alpha Word Debugger for 3.0. 2022-11-13 22:56:09 -03:00
95a0bb5cf8 new(all): Alpha Word Debugger for 3.0. 2022-11-12 23:26:47 -03:00
9cd93a2791 new(all): Alpha Word Debugger for 3.0. 2022-11-12 21:33:45 -03:00
579015c045 new(all): Alpha Word Debugger for 3.0. 2022-11-12 17:17:14 -03:00
0de259b24c new(all): Alpha Word Debugger for 3.0. 2022-11-11 21:35:05 -03:00
04ce6e9bf6 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-11 10:01:18 -03:00
26095b47f0 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-10 10:39:05 -03:00
e843840e38 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-09 21:02:14 -03:00
059ddedf63 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-08 18:13:41 -03:00
0a74c1da9c new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-06 21:28:59 -03:00
67acb8d9d1 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-06 20:19:05 -03:00
ef05bf0cca new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-05 17:59:41 -03:00
3af2a01e08 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-04 14:28:02 -03:00
7788501c74 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-03 11:06:26 -03:00
fc2737daa3 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-02 19:40:59 -03:00
4c9835b22b new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-02 16:03:25 -03:00
f8131958c7 new(all): Vm isolated working with IPC BASIC 3.0; 2022-11-01 00:59:35 -03:00
bf59fa8954 new(all) General Bots Auto Tester 1.0; Unlimited conditionals after-code BASIC 3.0; 2022-10-28 23:17:35 -03:00
Rodrigo
fef45510d8 chore(release): 2.0.179 [skip ci]
## [2.0.179](https://github.com/GeneralBots/BotServer/compare/2.0.178...2.0.179) (2022-10-22)

### Bug Fixes

* **whatsapp.gblib:** FIX on HEAR ON after provider change. ([c66f9bf](c66f9bfe04))
* **whatsapp.gblib:** FIX on HEAR ON after provider change. ([1d8e7e1](1d8e7e1763))
* **whatsapp.gblib:** FIX on HEAR ON after provider change. ([916794f](916794fc15))
2022-10-22 16:34:42 +00:00
7ba481529c new(all) General Bots Auto Tester 1.0; Unlimited conditionals after-code BASIC 3.0; 2022-10-22 13:23:32 -03:00
82cc87943c fix(whatsapp.gblib): FIX on HEAR ON after provider change. 2022-10-16 14:46:41 -03:00
52503c14a8 fix(whatsapp.gblib): FIX on HEAR ON after provider change. 2022-10-16 12:02:17 -03:00
ab29b3458c fix(whatsapp.gblib): FIX on HEAR ON after provider change. 2022-10-16 10:29:59 -03:00
c14ce3398e new(whatsapp.gblib): Native provider works in groups now. 2022-10-15 17:04:46 -03:00
f4c3b55fb6 new(whatsapp.gblib): Native provider works in groups now. 2022-10-14 12:17:56 -03:00
9a2f6936f9 new(whatsapp.gblib): Native provider works in groups now. 2022-10-14 11:54:31 -03:00
5db771ed42 new(whatsapp.gblib): Native provider works in groups now. 2022-10-14 11:22:08 -03:00
ba4e02687f new(whatsapp.gblib): Native provider works in groups now. 2022-10-13 23:12:27 -03:00
620e7154bd new(whatsapp.gblib): Native provider works in groups now. 2022-10-13 15:26:59 -03:00
8950d4ed50 new(whatsapp.gblib): Native provider works in groups now. 2022-10-13 11:54:38 -03:00
3357eb1bbf new(whatsapp.gblib): Native provider works in groups now. 2022-10-13 11:47:04 -03:00
ed9328a4c3 new(whatsapp.gblib): Native provider works in groups now. 2022-10-13 11:45:17 -03:00
372a64ab08 new(whatsapp.gblib): Native provider works in groups now. 2022-10-13 11:25:29 -03:00
bbff5f2a01 new(whatsapp.gblib): Native provider works in groups now. 2022-10-13 11:24:21 -03:00
66a2bb8b08 new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 21:21:50 -03:00
0d77e5b88d new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 20:45:41 -03:00
4d192d8667 new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 20:38:35 -03:00
0d096360bd new(basic.gblib): WhatsApp buttons. 2022-10-12 15:08:53 -03:00
466a5d8935 new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 03:13:46 -03:00
4cb8ac7910 new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 02:37:48 -03:00
a190be5cac new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 02:05:26 -03:00
cbc3169d36 new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 01:27:49 -03:00
c28192c879 new(whatsapp.gblib): Native provider works in groups now. 2022-10-12 00:30:34 -03:00
e8363c81bc new(all): Paralel bot loading. 2022-10-11 20:18:12 -03:00
699776ec50 new(all): Paralel bot loading. 2022-10-10 01:51:54 -03:00
7bb49713bd new(all): Paralel bot loading. 2022-10-10 01:49:43 -03:00
3feefa8b43 new(all): Paralel bot loading. 2022-10-10 01:42:22 -03:00
5c4fb46b9a new(all): Paralel bot loading. 2022-10-10 01:40:20 -03:00
b982589e7e new(all): Paralel bot loading. 2022-10-10 01:31:50 -03:00
c80d05f0d0 new(all): Paralel bot loading. 2022-10-10 01:18:41 -03:00
618de3dd55 new(all): Paralel bot loading. 2022-10-10 01:11:24 -03:00
c24470a5f8 new(all): Paralel bot loading. 2022-10-10 01:07:22 -03:00
1ee7fcc09d new(all): Paralel bot loading. 2022-10-10 00:58:48 -03:00
27c08db189 new(all): Paralel bot loading. 2022-10-10 00:48:52 -03:00
807f62a15a new(all): Paralel bot loading. 2022-10-10 00:38:45 -03:00
61ca0a3bdf new(all): Paralel bot loading. 2022-10-10 00:08:29 -03:00
023a29b168 new(all): Paralel bot loading. 2022-10-10 00:02:22 -03:00
d7d003af43 new(all): Paralel bot loading. 2022-10-10 00:01:34 -03:00
cf263af64e new(all): Paralel bot loading. 2022-10-10 00:00:30 -03:00
a785e79505 new(all): Custom Domain support per bot. 2022-10-09 23:41:37 -03:00
8b2fd722a6 new(all): Custom Domain support per bot. 2022-10-09 23:35:13 -03:00
6474d63370 new(all): Custom Domain support per bot. 2022-10-09 23:31:37 -03:00
5fa759542c new(all): Custom Domain support per bot. 2022-10-09 23:28:07 -03:00
6e46c268cb new(all): Custom Domain support per bot. 2022-10-09 23:22:03 -03:00
b04f3b97c1 new(all): Custom Domain support per bot. 2022-10-09 23:10:57 -03:00
464bb92186 new(all): Custom Domain support per bot. 2022-10-09 21:30:14 -03:00
780d300136 new(all): Custom Domain support per bot. 2022-10-09 20:46:17 -03:00
a81ea388e7 new(all): Custom Domain support per bot. 2022-10-09 17:53:21 -03:00
e220c6154f new(all): Custom Domain support per bot. 2022-10-09 17:47:38 -03:00
14acde03dd new(all): Custom Domain support per bot. 2022-10-09 17:28:46 -03:00
7cbd69ed6c Merge branch 'master' of 2022-10-09 17:23:04 -03:00
4ec793c13b new(all): Custom Domain support per bot. 2022-10-09 17:05:31 -03:00
Rodrigo
975fd38e7b chore(release): 2.0.178 [skip ci]
## [2.0.178](https://github.com/GeneralBots/BotServer/compare/2.0.177...2.0.178) (2022-10-09)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE and WPP providers. ([3f7e024](3f7e024b58))
2022-10-09 17:29:40 +00:00
d3b51f2bb3 fix(whatsapp.gblib): SEND FILE and WPP providers. 2022-10-09 14:21:40 -03:00
b44afb8a60 new(all): Custom Domain support per bot. 2022-10-04 18:34:15 -03:00
de941d9fdf Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-10-04 16:03:15 -03:00
85e7b932b9 new(all): Custom Domain support per bot. 2022-10-04 16:03:12 -03:00
Rodrigo
e3763e0fa5 chore(release): 2.0.177 [skip ci]
## [2.0.177](https://github.com/GeneralBots/BotServer/compare/2.0.176...2.0.177) (2022-10-04)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE and WPP providers. ([c6de0f0](c6de0f0fa1))
2022-10-04 19:00:17 +00:00
af8ab1714e new(all): Custom Domain support per bot. 2022-10-04 15:51:09 -03:00
305f575e3f new(all): Custom Domain support per bot. 2022-10-04 15:44:57 -03:00
0382208c43 fix(whatsapp.gblib): SEND FILE and WPP providers. 2022-10-04 15:42:34 -03:00
4285a9b403 new(all): Custom Domain support per bot. 2022-10-02 15:27:53 -03:00
6d20c6a27f new(all): Custom Domain support per bot. 2022-10-02 15:12:52 -03:00
f877cae1b8 new(all): Custom Domain support per bot. 2022-10-02 15:12:44 -03:00
29a5822a0c new(all): Custom Domain support per bot. 2022-10-02 14:47:00 -03:00
11dd85937f new(all): Custom Domain support per bot. 2022-10-02 14:25:11 -03:00
082a1fd761 new(all): Custom Domain support per bot. 2022-10-02 14:19:15 -03:00
94543c4b50 new(all): Custom Domain support per bot. 2022-10-02 14:12:36 -03:00
f258e7ca5c new(all): Custom Domain support per bot. 2022-10-02 13:41:50 -03:00
7f04bb5dd7 new(all): Custom Domain support per bot. 2022-10-02 13:37:37 -03:00
f1dca64f93 new(all): Twitter API. 2022-10-01 08:44:14 -03:00
9230b1ad55 new(all): Twitter API. 2022-09-26 19:45:30 -03:00
8987cd471f Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-09-24 12:51:50 -03:00
020623086a new(all): Twitter API. 2022-09-24 12:51:47 -03:00
Rodrigo
c4f44d176c chore(release): 2.0.176 [skip ci]
## [2.0.176](https://github.com/GeneralBots/BotServer/compare/2.0.175...2.0.176) (2022-09-12)

### Bug Fixes

* **basic.gblib:** SCREENSHOT keyword. ([0f1ee22](0f1ee22467))
2022-09-12 12:41:29 +00:00
6a3bd6f7ab Merge branech 'master' of https://github.com/GeneralBots/BotServer 2022-09-12 09:32:38 -03:00
41da34ac62 fix(basic.gblib): SCREENSHOT keyword. 2022-09-12 08:52:51 -03:00
740d3d6602 Update and rename CODE_OF_CONDUCT.md to CODE_OF_CONDUCT-pt-br.md 2022-09-05 11:36:29 -03:00
Rodrigo
0411430ced chore(release): 2.0.175 [skip ci]
## [2.0.175](https://github.com/GeneralBots/BotServer/compare/2.0.174...2.0.175) (2022-09-04)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE and WPP providers. ([05260c0](05260c0ee5))
* **whatsapp.gblib:** SEND FILE and WPP providers. ([5261691](5261691ba9))
2022-09-04 22:00:19 +00:00
f3a9c2f105 fix(whatsapp.gblib): SEND FILE and WPP providers. 2022-09-04 18:51:59 -03:00
a5cc71b63f fix(whatsapp.gblib): SEND FILE and WPP providers. 2022-09-04 18:50:36 -03:00
Rodrigo
d9efaf0fdb chore(release): 2.0.174 [skip ci]
## [2.0.174](https://github.com/GeneralBots/BotServer/compare/2.0.173...2.0.174) (2022-09-02)

### Bug Fixes

* **whatsapp.gblib:** .gbapp message subprocessing. ([c14a766](c14a766047))
2022-09-02 13:40:28 +00:00
6d2584c52e Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-09-02 10:32:10 -03:00
47da665cb6 fix(whatsapp.gblib): .gbapp message subprocessing. 2022-09-02 10:32:07 -03:00
Rodrigo
6a54bdfa34 chore(release): 2.0.173 [skip ci]
## [2.0.173](https://github.com/GeneralBots/BotServer/compare/2.0.172...2.0.173) (2022-09-01)

### Bug Fixes

* **whatsapp.gblib:** .gbapp message subprocessing. ([e72b030](e72b030e95))
* **whatsapp.gblib:** .gbapp message subprocessing. ([9c00ddd](9c00dddd78))
2022-09-01 11:58:31 +00:00
18e061a4bd fix(whatsapp.gblib): .gbapp message subprocessing. 2022-09-01 08:50:04 -03:00
c91787babb Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-09-01 08:46:32 -03:00
5e87e40d4d fix(whatsapp.gblib): .gbapp message subprocessing. 2022-09-01 08:46:29 -03:00
Rodrigo
a283a35027 chore(release): 2.0.172 [skip ci]
## [2.0.172](https://github.com/GeneralBots/BotServer/compare/2.0.171...2.0.172) (2022-09-01)

### Bug Fixes

* **whatsapp.gblib:** .gbapp message subprocessing. ([aeaaddc](aeaaddc8ab))
2022-09-01 02:37:43 +00:00
d00d3c515b Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-31 23:29:16 -03:00
412dfbc4ab fix(whatsapp.gblib): .gbapp message subprocessing. 2022-08-31 23:29:14 -03:00
Rodrigo
3063e2d576 chore(release): 2.0.171 [skip ci]
## [2.0.171](https://github.com/GeneralBots/BotServer/compare/2.0.170...2.0.171) (2022-09-01)

### Bug Fixes

* **whatsapp.gblib:** .gbapp message subprocessing. ([a5073e0](a5073e020e))
2022-09-01 01:51:38 +00:00
85d05b6282 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-31 22:43:14 -03:00
470b392215 fix(whatsapp.gblib): .gbapp message subprocessing. 2022-08-31 22:43:09 -03:00
Rodrigo
fbd1c47da9 chore(release): 2.0.170 [skip ci]
## [2.0.170](https://github.com/GeneralBots/BotServer/compare/2.0.169...2.0.170) (2022-08-29)

### Bug Fixes

* **basic.gblib:** Impersonated SET MAX LINES. ([e9211d9](e9211d92ac))
2022-08-29 00:01:35 +00:00
c9163dc8fa fix(basic.gblib): Impersonated SET MAX LINES. 2022-08-28 20:52:43 -03:00
Rodrigo
43d81f6fe6 chore(release): 2.0.169 [skip ci]
## [2.0.169](https://github.com/GeneralBots/BotServer/compare/2.0.168...2.0.169) (2022-08-28)

### Bug Fixes

* **basic.gblib:** Impersonated SET MAX LINES. ([f058a4a](f058a4a0c6))
* **basic.gblib:** Impersonated SET MAX LINES. ([8f373f3](8f373f3691))
2022-08-28 21:54:06 +00:00
e9feff851d fix(basic.gblib): Impersonated SET MAX LINES. 2022-08-28 18:45:25 -03:00
8fc00b3bf3 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-28 18:38:09 -03:00
047c9bd467 fix(basic.gblib): Impersonated SET MAX LINES. 2022-08-28 18:38:02 -03:00
Rodrigo
f59471796a chore(release): 2.0.168 [skip ci]
## [2.0.168](https://github.com/GeneralBots/BotServer/compare/2.0.167...2.0.168) (2022-08-28)

### Bug Fixes

* **core.gbapp:** More information on bot creation. ([7e7fb27](7e7fb277d7))
* **core.gbapp:** More information on bot creation. ([e07152b](e07152bc07))
2022-08-28 10:17:27 +00:00
ff83842516 fix(core.gbapp): More information on bot creation. 2022-08-28 07:07:41 -03:00
9abcd5b3d7 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-28 07:01:26 -03:00
eb346d5432 fix(core.gbapp): More information on bot creation. 2022-08-28 07:01:23 -03:00
Rodrigo
752e5d77a5 chore(release): 2.0.167 [skip ci]
## [2.0.167](https://github.com/GeneralBots/BotServer/compare/2.0.166...2.0.167) (2022-08-26)

### Bug Fixes

* **kb.gbapp:** Skips blank answers lines. ([004cc8f](004cc8fef5))
2022-08-26 21:45:46 +00:00
c3885f4a4c Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-26 18:37:45 -03:00
854a61a5bb fix(kb.gbapp): Skips blank answers lines. 2022-08-26 18:37:35 -03:00
Rodrigo
02063354c1 chore(release): 2.0.166 [skip ci]
## [2.0.166](https://github.com/GeneralBots/BotServer/compare/2.0.165...2.0.166) (2022-08-26)

### Bug Fixes

* **kb.gbapp:** Skips blank answers lines. ([796a412](796a412e32))
2022-08-26 21:16:23 +00:00
850b9be774 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-26 18:08:00 -03:00
a29c7ec1fd fix(kb.gbapp): Skips blank answers lines. 2022-08-26 18:07:58 -03:00
Rodrigo
a015467b69 chore(release): 2.0.165 [skip ci]
## [2.0.165](https://github.com/GeneralBots/BotServer/compare/2.0.164...2.0.165) (2022-08-26)

### Bug Fixes

* **kb.gbapp:** Skips blank answers lines. ([143e425](143e425bfc))
2022-08-26 19:23:38 +00:00
72a1aee390 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-26 16:15:09 -03:00
3fdbcab81f fix(kb.gbapp): Skips blank answers lines. 2022-08-26 16:14:59 -03:00
Rodrigo
b05d10ec9e chore(release): 2.0.164 [skip ci]
## [2.0.164](https://github.com/GeneralBots/BotServer/compare/2.0.163...2.0.164) (2022-08-26)

### Bug Fixes

* **kb.gbapp:** Skips blank answers lines. ([fa63a3e](fa63a3eb6f))
2022-08-26 17:05:03 +00:00
21ed0a3788 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-26 13:57:08 -03:00
4f13babc03 fix(kb.gbapp): Skips blank answers lines. 2022-08-26 13:57:05 -03:00
Rodrigo
22a4680cb1 chore(release): 2.0.163 [skip ci]
## [2.0.163](https://github.com/GeneralBots/BotServer/compare/2.0.162...2.0.163) (2022-08-26)

### Bug Fixes

* **kb.gbapp:** Skips blank answers lines. ([46fb424](46fb4244c7))
2022-08-26 16:12:38 +00:00
aa4c5a1737 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-26 13:04:10 -03:00
1343dfa34b fix(kb.gbapp): Skips blank answers lines. 2022-08-26 13:04:08 -03:00
Rodrigo
d575782837 chore(release): 2.0.162 [skip ci]
## [2.0.162](https://github.com/GeneralBots/BotServer/compare/2.0.161...2.0.162) (2022-08-26)

### Bug Fixes

* **core.gbapp:** Translator off for two char phrases. ([bd20312](bd20312bad))
2022-08-26 15:02:22 +00:00
f084ef031c fix(core.gbapp): Translator off for two char phrases. 2022-08-26 11:53:47 -03:00
1ce6b3ee65 new(basic.gblib): WEb Automation HOVER and LINK BY TEXT keywords. 2022-08-26 09:53:00 -03:00
24bf448a4b new(basic.gblib): New keyword MERGE. 2022-08-07 23:54:19 -03:00
43d3d83f24 new(all): Web log. 2022-08-07 11:05:20 -03:00
355c6b7473 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-06 19:38:17 -03:00
668cd8eb0f new(all): Web log. 2022-08-06 19:38:13 -03:00
9371edc01e new(all): Web log. 2022-08-06 19:37:58 -03:00
Rodrigo
1765b58561 chore(release): 2.0.161 [skip ci]
## [2.0.161](https://github.com/GeneralBots/BotServer/compare/2.0.160...2.0.161) (2022-08-06)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE sending bug. ([7eeadfa](7eeadfa92d))
2022-08-06 19:09:04 +00:00
161e8e8957 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-06 16:00:03 -03:00
22dbe31343 fix(whatsapp.gblib): SEND FILE sending bug. 2022-08-06 15:59:59 -03:00
Rodrigo
1bd7fc0fa9 chore(release): 2.0.160 [skip ci]
## [2.0.160](https://github.com/GeneralBots/BotServer/compare/2.0.159...2.0.160) (2022-08-06)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE sending bug. ([08607e4](08607e49bb))
* **whatsapp.gblib:** SEND FILE sending bug. ([61183a3](61183a3654))
* **whatsapp.gblib:** SEND FILE sending bug. ([ae96a4f](ae96a4f123))
2022-08-06 00:56:26 +00:00
225563f2ca fix(whatsapp.gblib): SEND FILE sending bug. 2022-08-05 21:48:28 -03:00
360509b786 fix(whatsapp.gblib): SEND FILE sending bug. 2022-08-05 21:38:57 -03:00
9df0e09a52 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-05 21:38:07 -03:00
6b07171b72 fix(whatsapp.gblib): SEND FILE sending bug. 2022-08-05 21:38:04 -03:00
Rodrigo
29149fc7df chore(release): 2.0.159 [skip ci]
## [2.0.159](https://github.com/GeneralBots/BotServer/compare/2.0.158...2.0.159) (2022-08-06)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE sending bug. ([9cb2852](9cb285214c))
2022-08-06 00:34:53 +00:00
4e714e3105 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-05 21:26:26 -03:00
e69ea9ae5b fix(whatsapp.gblib): SEND FILE sending bug. 2022-08-05 21:26:23 -03:00
Rodrigo
0997c6cf64 chore(release): 2.0.158 [skip ci]
## [2.0.158](https://github.com/GeneralBots/BotServer/compare/2.0.157...2.0.158) (2022-08-05)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE sending bug. ([bcc14de](bcc14def98))
2022-08-05 23:47:40 +00:00
59ad828090 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-08-05 20:40:32 -03:00
36f1dbf406 fix(whatsapp.gblib): SEND FILE sending bug. 2022-08-05 20:40:29 -03:00
Rodrigo
7e9a01abdf chore(release): 2.0.157 [skip ci]
## [2.0.157](https://github.com/GeneralBots/BotServer/compare/2.0.156...2.0.157) (2022-08-05)

### Bug Fixes

* **whatsapp.gblib:** SEND FILE sending bug. ([8194c79](8194c79828))
2022-08-05 23:39:17 +00:00
1b7bc1a04a fix(whatsapp.gblib): SEND FILE sending bug. 2022-08-05 20:30:57 -03:00
8d0ba35dce new(basic.gblib): PUT keyword. 2022-08-05 19:35:19 -03:00
75726677f9 new(basic.gblib): PUT keyword. 2022-08-05 19:23:17 -03:00
99dfde8940 new(basic.gblib): PUT keyword. 2022-08-05 19:19:30 -03:00
bcb2c83348 new(basic.gblib): PUT keyword. 2022-08-05 00:10:23 -03:00
29b2e501e6 new(basic.gblib): CALL keyword to start another VM. 2022-08-01 20:36:38 -03:00
fb8a0760e3 new(basic.gblib): CALL keyword to start another VM. 2022-08-01 18:36:45 -03:00
1e6dbd0434 new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-21 17:25:02 -03:00
3065348874 new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-21 15:36:41 -03:00
56d9a857b6 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-07-21 15:33:37 -03:00
15a374432d new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-21 15:33:33 -03:00
2da679c717 Update README.md 2022-07-19 16:56:48 -03:00
5414cea573 Update README.md 2022-07-19 16:54:38 -03:00
08b24ad351 new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-19 16:51:48 -03:00
45003e84bb new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-19 10:10:14 -03:00
858f6c5d67 new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-17 13:37:41 -03:00
9862932b77 new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-17 13:22:05 -03:00
e8218384f8 new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-16 09:56:17 -03:00
ed5bfdd081 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-07-15 09:05:22 -03:00
70a12ae36a new(whatsapp.gblib): New providers. 2022-07-15 09:05:16 -03:00
eeb446f109 new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-13 09:38:13 -03:00
c17ef9b26d new(whatsapp.gblib): General Bots WhatsApp provider. 2022-07-12 13:30:12 -03:00
3056686a11 new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-09 11:24:06 -03:00
02b9894ee2 new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-09 11:20:00 -03:00
0502605c4a new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-09 02:04:17 -03:00
b6c6825d73 new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-09 01:18:36 -03:00
42eee13cac new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-09 01:14:24 -03:00
6a1c009159 new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-08 13:22:23 -03:00
269920c8dd new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-07 12:36:08 -03:00
01d6c84ca0 new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-07 12:29:12 -03:00
4ccda04bcb Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-07-07 11:14:07 -03:00
c3bd10048b new(whatsapp.gblib): Multiple providers can be loaded at once. 2022-07-07 11:14:02 -03:00
Rodrigo
f3ceb55708 chore(release): 2.0.156 [skip ci]
## [2.0.156](https://github.com/GeneralBots/BotServer/compare/2.0.155...2.0.156) (2022-07-06)

### Bug Fixes

* **all:** CHART and IMAGE from GET HTTP calls. ([a3e99bb](a3e99bb553))
2022-07-06 18:11:55 +00:00
8f913a298e Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-07-06 15:04:10 -03:00
d1ee81174c fix(all): CHART and IMAGE from GET HTTP calls. 2022-07-06 15:01:58 -03:00
Rodrigo
4bb8f4d539 chore(release): 2.0.155 [skip ci]
## [2.0.155](https://github.com/GeneralBots/BotServer/compare/2.0.154...2.0.155) (2022-07-06)

### Bug Fixes

* **all:** CHART and IMAGE from GET HTTP calls. ([cf62b10](cf62b10196))
2022-07-06 15:45:03 +00:00
586506c0e0 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-07-06 12:36:54 -03:00
d15a1ffa13 fix(all): CHART and IMAGE from GET HTTP calls. 2022-07-06 12:36:51 -03:00
Rodrigo
8f2a9b5103 chore(release): 2.0.154 [skip ci]
## [2.0.154](https://github.com/GeneralBots/BotServer/compare/2.0.153...2.0.154) (2022-07-01)

### Bug Fixes

* **all:** /check added. ([7410085](7410085e99))
* **all:** Added MSFT cognitive stack again to test if it is working now on Azure. ([4452a31](4452a311b1))
* **all:** Automated build errors. ([55ff686](55ff686a3f))
* **all:** Automated build errors. ([ce2b484](ce2b484f8e))
* **all:** Building failed as typedoc bugs. ([55bc5ef](55bc5ef382))
* **all:** Building failed as typedoc bugs. ([6778f2e](6778f2eb59))
* **all:** Comparison of strings in FIND operators. ([47d553f](47d553f8f0))
* **all:** Compilation error in MS AZURE (again). ([88a908a](88a908a124))
* **all:** Compilation error in MS AZURE (again). ([227c30a](227c30ac33))
* **all:** Corrected dates o MS EXcel saving. ([1899b1c](1899b1c755))
* **all:** Corrected mobile number to WhatsApp while output md. ([55568e2](55568e2ba8))
* **all:** Corrected mobile number to WhatsApp while output md. ([0fda382](0fda382a43))
* **all:** Corrected mobile number to WhatsApp while output md. ([f0ad1ae](f0ad1aea65))
* **all:** Corrected mobile number to WhatsApp while output md. ([9257ac7](9257ac7271))
* **all:** Corrected mobile number to WhatsApp while output md. ([95524a9](95524a902c))
* **all:** Enable https in place. ([6b05405](6b05405705))
* **all:** Enable https in place. ([722a950](722a950033))
* **all:** Enable https in place. ([4779d49](4779d4968f))
* **all:** Enable https in place. ([41f3f8a](41f3f8a575))
* **all:** Enable https in place. ([1c26466](1c26466a00))
* **all:** Group improvements and isolation. ([dcb1c47](dcb1c47f07))
* **all:** Group improvements, group type in from column. ([55fdcbb](55fdcbb9b5))
* **all:** Migration to Linus. ([d8e950c](d8e950c91d))
* **all:** Migration to Linus. ([820942c](820942c41b))
* **all:** Migration to Linus. ([78ed13b](78ed13bb5e))
* **all:** Migration to Linus. ([d2b2f29](d2b2f29d55))
* **all:** Migration to Linus. ([da881cb](da881cbaaf))
* **all:** Migration to Linus. ([241b572](241b572142))
* **all:** Migration to Linus. ([8586ec5](8586ec55cf))
* **all:** Migration to Linus. ([15f9c61](15f9c61983))
* **all:** Migration to Linus. ([54c4769](54c47694f7))
* **all:** Migration to Linus. ([35a4e4d](35a4e4d1d9))
* **all:** Migration to Linus. ([ef5eb6c](ef5eb6cea6))
* **all:** Migration to Linus. ([8dcea93](8dcea9384d))
* **all:** Migration to Linus. ([905690e](905690e987))
* **all:** Migration to Linus. ([fc0f5ae](fc0f5aefe0))
* **all:** MSTeams fixes. ([d6f8574](d6f8574ecb))
* **all:** SEARCH error in MS AZURE (again). ([fb53be5](fb53be5b64))
* **all:** TS issues. ([4a6917a](4a6917a48d))
* **all:** yarn vs npm on MSFT. ([b116026](b1160260b3))
* **all:** yarn vs npm on MSFT. ([97f5f15](97f5f154c0))
* **azuredeployer.gblib:** Fix MSFT changes. ([64d9884](64d9884b69))
* **azuredeployer.gblib:** Fix MSFT changes. ([b017f32](b017f32b04))
* **basic.gblib:** Get all text from webservice inside SEE TEXT keyword. ([932e131](932e131a50))
* **basic.gblib:** Get all text from webservice inside SEE TEXT keyword. ([8d61ae5](8d61ae5536))
* **basic.gblib:** Hear callback for login only active if ENABLE_AUTH is defined. ([a628948](a628948394))
* **basic.gblib:** TALK TO bug after conversationId update. ([b45f737](b45f7372da))
* **basic.gblib:** TALK TO bug after conversationId update. ([250b332](250b3320a2))
* **basic.gblib:** Username was not being retrived. ([0335b71](0335b715cd))
* **core.gbapp:** Added IBM for TTS and removed MSFT while it does not compile on AZR. ([abe4281](abe4281b73))
* **core.gbapp:** Added IBM for TTS and removed MSFT while it does not compile on AZR. ([12c9bea](12c9bea167))
* **core.gbapp:** Added IBM for TTS and removed MSFT while it does not compile on AZR. ([2a81604](2a816049bc))
* **core.gbapp:** Added IBM for TTS and removed MSFT while it does not compile on AZR. ([bef4fea](bef4fea9de))
* **core.gbapp:** Added IBM for TTS and removed MSFT while it does not compile on AZR. ([596a6eb](596a6ebba3))
* **core.gbapp:** Added IBM for TTS and removed MSFT while it does not compile on AZR. ([4dbc1eb](4dbc1eb6a0))
* **core.gbapp:** Fixed no publish of artifacts. ([c12a7d7](c12a7d736c))
* **core.gbapp:** Just compile what has been changed. ([df6f146](df6f146fd9))
* **security.gbalib:** Transfer issues fixed. ([fefcbb0](fefcbb04bf))
* **security.gbalib:** Transfer issues fixed. ([6ebd38d](6ebd38d3eb))
* **security.gbalib:** Transfer issues fixed. ([660faaf](660faafb53))
2022-07-01 21:41:24 +00:00
d79149adff fix(all): Automated build errors. 2022-07-01 18:33:41 -03:00
f41f1a1fa2 fix(all): Automated build errors. 2022-07-01 10:40:28 -03:00
592d623993 new(basic.gblib): SEND MAIL keyword. 2022-06-30 12:53:42 -03:00
ecc0eaa38c new(basic.gblib): SEND MAIL keyword. 2022-06-22 20:38:32 -03:00
6786936ad4 new(basic.gblib): SEND MAIL keyword. 2022-06-22 19:49:53 -03:00
21fb823ed5 new(basic.gblib): Web Automation CAPTCHA processing. 2022-06-21 17:46:46 -03:00
e23beb1e15 new(basic.gblib): DOWNLOAD keyword for web automation and more. 2022-06-17 19:50:26 -03:00
129aad95f2 new(whatsapp.gblib): New provider. 2022-06-14 11:38:45 -03:00
7342fc91d7 new(whatsapp.gblib): New provider. 2022-06-13 16:08:54 -03:00
dd575dedf8 new(whatsapp.gblib): New provider. 2022-06-12 21:04:58 -03:00
3c1e488388 new(whatsapp.gblib): New provider. 2022-06-12 20:11:38 -03:00
ceb7b1cc46 new(whatsapp.gblib): New provider. 2022-06-12 19:15:38 -03:00
2dd3201e8a new(whatsapp.gblib): New provider. 2022-06-12 18:43:19 -03:00
82aa378528 new(whatsapp.gblib): New provider. 2022-06-10 14:43:13 -03:00
06df1bf47e new(whatsapp.gblib): New provider. 2022-06-09 14:19:09 -03:00
4ce42b3463 new(whatsapp.gblib): New provider. 2022-06-09 13:52:47 -03:00
6226714dd2 new(whatsapp.gblib): New provider. 2022-06-09 13:31:24 -03:00
5add4dd7c0 new(whatsapp.gblib): New provider. 2022-06-08 13:24:43 -03:00
068cb6a2b8 new(whatsapp.gblib): New provider. 2022-06-08 12:28:06 -03:00
c0e773981b new(whatsapp.gblib): New provider. 2022-06-07 23:48:12 -03:00
bb8dac16c6 new(whatsapp.gblib): New provider. 2022-06-07 18:37:29 -03:00
9056dcaf12 new(whatsapp.gblib): New provider. 2022-06-07 17:27:03 -03:00
09c5d201a9 new(basic.gblib): NER (NLP) added for .gbdialog https://github.com/GeneralBots/BotServer/issues/217 2022-06-06 18:03:02 -03:00
55e3e362d1 new(basic.gblib): AS IMAGE, AS PDF, SET THEME and SQL new keywords. 2022-06-04 20:08:39 -03:00
682f573606 new(basic.gblib): AS IMAGE, AS PDF, SET THEME and SQL new keywords. 2022-06-04 17:10:14 -03:00
ab02a25623 new(basic.gblib): AS IMAGE, AS PDF, SET THEME and SQL new keywords. 2022-06-04 17:02:34 -03:00
00cea95b3d new(basic.gblib): HEAR f AS FILE started. 2022-06-03 23:52:28 -03:00
d15834cd6d new(basic.gblib): New CHART keyword.. 2022-06-03 15:09:24 -03:00
c799d9a2b1 new(basic.gblib): CHART keyword dev started. 2022-06-03 07:43:20 -03:00
459f371a48 new(all): SEO working. 2022-06-02 17:42:13 -03:00
cce09a17ab new(all): Each bot has now individual authentication. 2022-06-01 20:55:58 -03:00
915225a9e9 new(all): EXIT and INCLUDE keywords improved and introduced. 2022-06-01 19:45:43 -03:00
893ab2ef35 new(all): Automation new keywords and WhatsApp transfer. 2022-05-29 15:16:38 -03:00
317e551afd new(all): Automation new keywords and WhatsApp transfer. 2022-05-19 12:17:28 -03:00
9cae708447 new(all): Automation new keywords and WhatsApp transfer. 2022-05-19 10:22:22 -03:00
f6df33ad16 new(all): OCR and Web Manipulation. 2022-05-03 17:05:57 -03:00
0c101a824f Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-04-26 17:02:13 -03:00
e6174cc96a fix(all): Building failed as typedoc bugs. 2022-04-26 15:14:43 -03:00
3fe3d83364 fix(all): MSTeams fixes. 2022-04-26 15:13:19 -03:00
ee632fe1f3 fix(all): Building failed as typedoc bugs. 2022-04-18 06:05:49 -03:00
ae5d5ff852 new(all): SSR enabled for test in PROD. 2022-02-21 12:06:53 -03:00
cb702d9331 new(all): SSR enabled for test in PROD. 2022-02-20 18:49:32 -03:00
09f103b5d5 new(all): SSR enabled for test in PROD. 2022-02-20 15:51:06 -03:00
17bfc18d52 new(all): SSR enabled for test in PROD. 2022-02-20 15:45:44 -03:00
1e1347b9d3 new(all): Two https, before one per bot. 2022-02-11 12:15:23 -03:00
1ed3262d5c fix(all): Enable https in place. 2022-02-04 18:50:19 -03:00
afffc6d2ab fix(all): Enable https in place. 2022-02-04 18:35:40 -03:00
b30d1e3cf3 fix(all): Enable https in place. 2022-01-28 21:59:26 -03:00
84ab9e7dbb fix(all): Enable https in place. 2022-01-28 21:32:01 -03:00
98ac98055f fix(all): Enable https in place. 2022-01-27 17:48:38 -03:00
3be1300672 fix(all): yarn vs npm on MSFT. 2022-01-23 21:27:35 -03:00
837dfca34c Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-01-23 19:35:25 -03:00
5ddeb65c64 fix(all): yarn vs npm on MSFT. 2022-01-23 19:35:20 -03:00
2b3e3d9411 Update SECURITY.md 2022-01-11 13:17:58 -03:00
1a9ecce1d9 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-01-10 08:45:31 -03:00
f72b7a7904 new(whatsapp.gblib): Multiple service definition allowed per tenant. 2022-01-10 08:45:26 -03:00
884b98427d Add or update the Azure App Service build and deployment workflow config 2022-01-10 07:49:04 -03:00
8ade53d4a3 new(whatsapp.gblib): Multiple service definition allowed per tenant. 2022-01-09 19:17:03 -03:00
60d8678fa8 fix(basic.gblib): TALK TO bug after conversationId update. 2022-01-07 07:46:56 -03:00
6114cf5790 fix(basic.gblib): TALK TO bug after conversationId update. 2022-01-06 14:37:55 -03:00
830d57f3ce fix(all): Migration to Linus. 2022-01-05 19:31:41 -03:00
0b008430da fix(all): Migration to Linus. 2022-01-05 16:05:51 -03:00
944406d46e fix(all): Migration to Linus. 2022-01-05 16:00:26 -03:00
3bdd228296 fix(all): Migration to Linus. 2022-01-05 15:27:20 -03:00
f83f81c77a fix(all): Migration to Linus. 2022-01-04 21:55:43 -03:00
0cc96047ad fix(all): Migration to Linus. 2022-01-04 21:32:08 -03:00
27efff57c0 fix(all): Migration to Linus. 2022-01-04 21:19:42 -03:00
a7867634b6 fix(all): Migration to Linus. 2022-01-04 21:19:33 -03:00
754269d760 fix(all): Migration to Linus. 2022-01-04 20:14:19 -03:00
1a1ba87a39 fix(all): Migration to Linus. 2022-01-04 19:45:40 -03:00
8b52656d57 fix(all): Migration to Linus. 2022-01-04 18:49:18 -03:00
cfecba6ca5 fix(all): Migration to Linus. 2022-01-04 17:48:53 -03:00
564c21878b fix(all): Migration to Linus. 2022-01-04 17:41:12 -03:00
7dac946077 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2022-01-04 17:39:50 -03:00
14d604b85e fix(all): Migration to Linus. 2022-01-04 17:39:44 -03:00
ed87aa09c7 Add or update the Azure App Service build and deployment workflow config 2022-01-04 13:50:03 -03:00
acb0bd6183 new(all): SSR support. 2022-01-03 18:40:42 -03:00
3606b6f873 new(all): Sequelize updated to v6. 2022-01-03 13:42:12 -03:00
e4cf998b0e new(all): Sequelize updated to v6. 2022-01-03 13:11:21 -03:00
d6f4639077 fix(basic.gblib): Username was not being retrived. 2021-12-31 09:39:23 -03:00
579702d9c4 fix(core.gbapp): Added IBM for TTS and removed MSFT while it does not compile on AZR. 2021-12-31 08:39:51 -03:00
5d533b41f4 fix(core.gbapp): Added IBM for TTS and removed MSFT while it does not compile on AZR. 2021-12-31 08:26:41 -03:00
0879458351 fix(core.gbapp): Added IBM for TTS and removed MSFT while it does not compile on AZR. 2021-12-30 07:58:16 -03:00
e39e72438c fix(core.gbapp): Added IBM for TTS and removed MSFT while it does not compile on AZR. 2021-12-29 13:21:03 -03:00
ac9035f502 fix(core.gbapp): Added IBM for TTS and removed MSFT while it does not compile on AZR. 2021-12-29 13:06:19 -03:00
6d3b4cba6d fix(core.gbapp): Added IBM for TTS and removed MSFT while it does not compile on AZR. 2021-12-29 13:03:32 -03:00
4eb1cbbc97 fix(core.gbapp): Fixed no publish of artifacts. 2021-12-29 07:53:14 -03:00
2ca565c6f2 fix(all): Added MSFT cognitive stack again to test if it is working now on Azure. 2021-12-28 15:51:14 -03:00
725bbe239f fix(all): Group improvements and isolation. 2021-12-27 15:41:54 -03:00
e165b373e4 fix(core.gbapp): Just compile what has been changed. 2021-12-26 16:13:33 -03:00
9c0e969f16 fix(all): Group improvements, group type in from column. 2021-12-25 22:13:52 -03:00
9b558b8099 new(all): hubspot.gblib new methods. New Keyword FIND CONTACT. 2021-12-20 20:27:02 -03:00
9c9e48252d new(all): hubspot.gblib new methods. New Keyword CREATE DEAL. 2021-12-20 18:27:10 -03:00
746007cd59 fix(all): /check added. 2021-12-20 15:00:07 -03:00
16473952a1 new(all): hubspot.gblib introduced. 2021-12-19 16:39:50 -03:00
812a2c25d6 new(whatsapp.gblib): Bot in groups. 2021-12-18 21:31:49 -03:00
1b2d05b0c0 fix(security.gbalib): Transfer issues fixed. 2021-12-08 16:03:29 -03:00
68a5ba1a60 fix(security.gbalib): Transfer issues fixed. 2021-12-08 15:44:03 -03:00
a3edcd6683 fix(security.gbalib): Transfer issues fixed. 2021-12-08 15:24:06 -03:00
a8edbecdbe fix(azuredeployer.gblib): Fix MSFT changes. 2021-11-29 18:39:42 -03:00
e6d18f00cf fix(azuredeployer.gblib): Fix MSFT changes. 2021-11-29 15:15:55 -03:00
b6e54d9d8a Merge branch 'master' of https://github.com/GeneralBots/BotServer 2021-11-25 14:54:38 -03:00
c53517957a Create SECURITY.md 2021-11-25 14:47:07 -03:00
8083906ab5 fix(basic.gblib): Get all text from webservice inside SEE TEXT keyword. 2021-11-25 14:17:35 -03:00
2b21b9a6a0 fix(basic.gblib): Get all text from webservice inside SEE TEXT keyword. 2021-11-25 07:51:46 -03:00
05a53df93a new(basic.gblib): HEAR in Teams will get pictures into URL. 2021-11-24 09:45:02 -03:00
95e010b240 new(basic.gblib): HEAR in Teams will get pictures into URL. 2021-11-23 12:04:07 -03:00
d87372fb35 new(core.gblib): Teams support for SeeingAI. 2021-11-22 19:48:53 -03:00
7712747aad new(basic.gblib): Support for saving files from GET calls. 2021-11-21 20:21:19 -03:00
Rodrigo Rodriguez(pragmatismo.io)
fede45fde0 new(basic.gblib): New HTTP keywords for improved GET. 2021-11-20 13:44:18 -03:00
Rodrigo Rodriguez(pragmatismo.io)
8747dbe8a8 fix(all): TS issues. 2021-11-16 16:18:27 -03:00
Rodrigo Rodriguez(pragmatismo.io)
ea1b552428 fix(basic.gblib): Hear callback for login only active if ENABLE_AUTH is defined. 2021-11-16 15:52:09 -03:00
Rodrigo Rodriguez(pragmatismo.io)
f1e1091257 new(all): New keyword SEE CAPTION and SEE TEXT of for CV. 2021-11-16 14:53:52 -03:00
Rodrigo Rodriguez(pragmatismo.io)
37b131cbf0 fix(all): Comparison of strings in FIND operators. 2021-10-28 15:52:18 -03:00
7be8109063 fix(all): Corrected dates o MS EXcel saving. 2021-10-15 16:04:57 -03:00
94a74b0f40 fix(all): Corrected mobile number to WhatsApp while output md. 2021-10-13 09:39:24 -03:00
f5351fdcb2 fix(all): Corrected mobile number to WhatsApp while output md. 2021-10-12 16:37:34 -03:00
cf65dd307e fix(all): Corrected mobile number to WhatsApp while output md. 2021-10-12 16:28:49 -03:00
90f6b87810 fix(all): Corrected mobile number to WhatsApp while output md. 2021-10-12 16:13:47 -03:00
c4c750f2bf fix(all): Corrected mobile number to WhatsApp while output md. 2021-10-12 15:41:37 -03:00
b10f81cb2b fix(all): SEARCH error in MS AZURE (again). 2021-10-12 13:47:46 -03:00
173821a9ec fix(all): Compilation error in MS AZURE (again). 2021-10-03 12:34:52 -03:00
0b0f931f40 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-10-02 07:49:41 -03:00
64f3aeb6b5 fix(all): Compilation error in MS AZURE (again). 2021-10-02 07:49:35 -03:00
Rodrigo
14ae471328 chore(release): 2.0.153 [skip ci]
## [2.0.153](https://github.com/GeneralBots/BotServer/compare/2.0.152...2.0.153) (2021-10-02)

### Bug Fixes

* **all:** Compilation error in MS AZURE (again). ([5fc6c58](5fc6c58088))
* **all:** Compilation error in MS AZURE (again). ([8c14913](8c14913c1f))
2021-10-02 10:35:38 +00:00
56d0f3abb1 fix(all): Compilation error in MS AZURE (again). 2021-10-02 07:28:48 -03:00
422e8b0b9b fix(all): Compilation error in MS AZURE (again). 2021-10-01 12:51:30 -03:00
9d770844b2 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-09-30 16:03:43 -03:00
d9f09425a1 new(teams.gblib): Teams support for creation of new bots. 2021-09-30 16:03:31 -03:00
Rodrigo
20b53fc46f chore(release): 2.0.152 [skip ci]
## [2.0.152](https://github.com/GeneralBots/BotServer/compare/2.0.151...2.0.152) (2021-09-24)

### Bug Fixes

* **core.gbapp:** Remove web message about projector content. ([3edcea9](3edcea9887))
2021-09-24 14:07:10 +00:00
b7b43ddd7f Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-09-24 10:59:15 -03:00
973145e2b4 fix(core.gbapp): Remove web message about projector content. 2021-09-24 10:59:11 -03:00
Rodrigo
d1e14a88f0 chore(release): 2.0.151 [skip ci]
## [2.0.151](https://github.com/GeneralBots/BotServer/compare/2.0.150...2.0.151) (2021-09-18)

### Bug Fixes

* **basic.gblib:** Goto dialog within web. ([565f200](565f200ebf))
2021-09-18 12:48:06 +00:00
a73d0b0039 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-09-18 09:41:22 -03:00
ccf61a55d5 fix(basic.gblib): Goto dialog within web. 2021-09-18 09:41:18 -03:00
Rodrigo
91a3f5acc2 chore(release): 2.0.150 [skip ci]
## [2.0.150](https://github.com/GeneralBots/BotServer/compare/2.0.149...2.0.150) (2021-09-16)

### Bug Fixes

* **core.gbapp:** Fix bug in Teams handling. ([7c44669](7c446699eb))
* **core.gbapp:** Fix main NLP problem in Y calls. ([c600a91](c600a91cde))
2021-09-16 12:18:14 +00:00
d946ac64cb fix(core.gbapp): Fix bug in Teams handling. 2021-09-16 09:12:03 -03:00
d36f5d6ae5 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-09-14 15:10:50 -03:00
c023c868f7 fix(core.gbapp): Fix main NLP problem in Y calls. 2021-09-14 15:10:46 -03:00
Rodrigo
cd25917664 chore(release): 2.0.149 [skip ci]
## [2.0.149](https://github.com/GeneralBots/BotServer/compare/2.0.148...2.0.149) (2021-09-13)

### Bug Fixes

* **basic.gblib:** Goto dialog within web. ([7abc079](7abc079e84))
2021-09-13 22:17:26 +00:00
bbdae9c893 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-09-13 19:04:37 -03:00
8b263ac0e5 fix(basic.gblib): Goto dialog within web. 2021-09-13 19:04:32 -03:00
Rodrigo
d1eed1bc3e chore(release): 2.0.148 [skip ci]
## [2.0.148](https://github.com/GeneralBots/BotServer/compare/2.0.147...2.0.148) (2021-09-13)

### Bug Fixes

* **basic.gblib:** Goto dialog within web. ([e3c07f4](e3c07f48f5))
2021-09-13 22:00:59 +00:00
af405f711c Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-09-13 18:54:25 -03:00
32e473d6e7 fix(basic.gblib): Goto dialog within web. 2021-09-13 18:53:47 -03:00
Rodrigo
ce49168a89 chore(release): 2.0.147 [skip ci]
## [2.0.147](https://github.com/GeneralBots/BotServer/compare/2.0.146...2.0.147) (2021-09-13)

### Bug Fixes

* **basic.gblib:** Goto dialog within web. ([43a3d58](43a3d58cb5))
2021-09-13 21:42:56 +00:00
6a28da47b5 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-09-13 18:36:32 -03:00
fc53f38c21 fix(basic.gblib): Goto dialog within web. 2021-09-13 18:36:26 -03:00
Rodrigo
dbd9000af2 chore(release): 2.0.146 [skip ci]
## [2.0.146](https://github.com/GeneralBots/BotServer/compare/2.0.145...2.0.146) (2021-08-31)

### Bug Fixes

* **basic.gblib:** Fixes /answer bug. ([339e850](339e8501a9))
2021-08-31 18:46:20 +00:00
05875de97d Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-31 15:40:31 -03:00
221c2010af fix(basic.gblib): Fixes /answer bug. 2021-08-31 15:40:21 -03:00
Rodrigo
c5d37e5b18 chore(release): 2.0.145 [skip ci]
## [2.0.145](https://github.com/GeneralBots/BotServer/compare/2.0.144...2.0.145) (2021-08-31)

### Bug Fixes

* **basic.gblib:** Traces to solve /answer bug. ([db07689](db07689520))
2021-08-31 18:19:14 +00:00
7dcfc148b3 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-31 15:13:30 -03:00
22d8a0b9e7 fix(basic.gblib): Traces to solve /answer bug. 2021-08-31 15:13:24 -03:00
Rodrigo
aa0ad4b446 chore(release): 2.0.144 [skip ci]
## [2.0.144](https://github.com/GeneralBots/BotServer/compare/2.0.143...2.0.144) (2021-08-30)

### Bug Fixes

* **basic.gblib:** Now BASIC only runs after auth. ([dfb869e](dfb869e796))
2021-08-30 19:36:11 +00:00
1bc8631a15 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-30 16:30:18 -03:00
87bab46a1f fix(basic.gblib): Now BASIC only runs after auth. 2021-08-30 16:30:10 -03:00
Rodrigo
bd942b4f26 chore(release): 2.0.143 [skip ci]
## [2.0.143](https://github.com/GeneralBots/BotServer/compare/2.0.142...2.0.143) (2021-08-30)

### Bug Fixes

* **all:** Intl. dates wrongly formatted due to Node version. ([dcf26a7](dcf26a7316))
* **all:** Intl. dates wrongly formatted due to Node version. ([f4711b7](f4711b76fd))
2021-08-30 10:21:02 +00:00
48657a8200 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-30 07:15:09 -03:00
14ad120500 fix(all): Intl. dates wrongly formatted due to Node version. 2021-08-30 07:14:59 -03:00
bfc83a1a61 fix(all): Intl. dates wrongly formatted due to Node version. 2021-08-30 07:14:40 -03:00
Rodrigo
56390b76c1 chore(release): 2.0.142 [skip ci]
## [2.0.142](https://github.com/GeneralBots/BotServer/compare/2.0.141...2.0.142) (2021-08-29)

### Bug Fixes

* **basic.gblib:** Fix in WEEKDAY culture always in English. ([87d94cb](87d94cb7bf))
2021-08-29 00:26:04 +00:00
5f8895ed0e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-28 21:19:54 -03:00
2e6bcf5ba2 fix(basic.gblib): Fix in WEEKDAY culture always in English. 2021-08-28 21:19:49 -03:00
Rodrigo
b334b8558a chore(release): 2.0.141 [skip ci]
## [2.0.141](https://github.com/GeneralBots/BotServer/compare/2.0.140...2.0.141) (2021-08-28)

### Bug Fixes

* **basic.gblib:** Fix in WEEKDAY culture always in English. ([45d0bf3](45d0bf3a85))
2021-08-28 20:00:03 +00:00
e6ab3ea876 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-28 16:53:53 -03:00
5bf72797bd fix(basic.gblib): Fix in WEEKDAY culture always in English. 2021-08-28 16:53:43 -03:00
Rodrigo
32b6631d6c chore(release): 2.0.140 [skip ci]
## [2.0.140](https://github.com/GeneralBots/BotServer/compare/2.0.139...2.0.140) (2021-08-28)

### Bug Fixes

* **core.gbapp:** Autostart twice fixed. ([2304876](23048760b6))
2021-08-28 18:51:46 +00:00
ba3cec5567 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-28 15:45:30 -03:00
3d2955f1b1 fix(core.gbapp): Autostart twice fixed. 2021-08-28 15:45:06 -03:00
Rodrigo
920a180b76 chore(release): 2.0.139 [skip ci]
## [2.0.139](https://github.com/GeneralBots/BotServer/compare/2.0.138...2.0.139) (2021-08-26)

### Bug Fixes

* **all:** npm is now included to build internal packages. ([5aa5f1e](5aa5f1ee3a))
2021-08-26 12:01:35 +00:00
533941045c fix(all): npm is now included to build internal packages. 2021-08-26 08:55:49 -03:00
bad2cdb2cf new(basic.gblib): New SET WHOLE WORD keyword added. 2021-08-21 09:19:07 -03:00
d590691131 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-21 09:18:33 -03:00
b5f8b45e6a new(basic.gblib): New SET WHOLE WORD keyword added. 2021-08-21 09:18:28 -03:00
Rodrigo
81aa228595 chore(release): 2.0.138 [skip ci]
## [2.0.138](https://github.com/GeneralBots/BotServer/compare/2.0.137...2.0.138) (2021-08-19)

### Bug Fixes

* **core.gbapp:** Images now working in WhatsApp. ([525f465](525f465be4))
2021-08-19 12:19:01 +00:00
86d8ff9f34 fix(core.gbapp): Images now working in WhatsApp. 2021-08-19 09:14:18 -03:00
4cd2347dd6 new(admin.gbapp): /publish now reads Can Publish from .gbot besides .env. 2021-08-19 08:02:56 -03:00
7995f62044 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-17 13:32:05 -03:00
1cd123a18e new(basic.gblib): New SORT keyword added. 2021-08-17 13:31:57 -03:00
Rodrigo
9236ddffa9 chore(release): 2.0.137 [skip ci]
## [2.0.137](https://github.com/GeneralBots/BotServer/compare/2.0.136...2.0.137) (2021-08-16)

### Bug Fixes

* **basic.gblib:** NOW keyword is now formatting values with two zeros. ([1ed7cfa](1ed7cfaf74))
2021-08-16 20:42:10 +00:00
dfc0c2d636 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-16 17:38:10 -03:00
7bb871bd86 fix(basic.gblib): NOW keyword is now formatting values with two zeros. 2021-08-16 17:38:05 -03:00
Rodrigo
bc022acdbf chore(release): 2.0.136 [skip ci]
## [2.0.136](https://github.com/GeneralBots/BotServer/compare/2.0.135...2.0.136) (2021-08-15)

### Bug Fixes

* **basic.gblib:** NOW keyword is now formatting values with two zeros. ([0cd79e6](0cd79e6ef1))
2021-08-15 20:14:51 +00:00
5412e4b3e1 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-15 17:10:30 -03:00
707a339cfe fix(basic.gblib): NOW keyword is now formatting values with two zeros. 2021-08-15 17:10:26 -03:00
Rodrigo
0233c5c6e2 chore(release): 2.0.135 [skip ci]
## [2.0.135](https://github.com/GeneralBots/BotServer/compare/2.0.134...2.0.135) (2021-08-15)

### Bug Fixes

* **basic.gblib:** NOW keyword is now formatting values with two zeros. ([5c8efee](5c8efeef2a))
2021-08-15 15:31:17 +00:00
c65a3b4328 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-15 12:27:12 -03:00
30ff0394e9 fix(basic.gblib): NOW keyword is now formatting values with two zeros. 2021-08-15 12:27:05 -03:00
Rodrigo
c636f601f4 chore(release): 2.0.134 [skip ci]
## [2.0.134](https://github.com/GeneralBots/BotServer/compare/2.0.133...2.0.134) (2021-08-15)

### Bug Fixes

* **basic.gblib:** NOW keyword is now formatting values with two zeros. ([296b999](296b999ec3))
2021-08-15 15:04:43 +00:00
0e32097761 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-15 12:00:39 -03:00
e7cfeebafe fix(basic.gblib): NOW keyword is now formatting values with two zeros. 2021-08-15 12:00:36 -03:00
Rodrigo
a3fe606fdf chore(release): 2.0.133 [skip ci]
## [2.0.133](https://github.com/GeneralBots/BotServer/compare/2.0.132...2.0.133) (2021-08-15)

### Bug Fixes

* **basic.gblib:** NOW keyword is now formatting values with two zeros. ([b99c917](b99c917754))
* **basic.gblib:** NOW keyword is now formatting values with two zeros. ([9c1787b](9c1787b632))
2021-08-15 13:48:12 +00:00
b785b45ee9 fix(basic.gblib): NOW keyword is now formatting values with two zeros. 2021-08-15 10:44:12 -03:00
059e70652a fix(basic.gblib): NOW keyword is now formatting values with two zeros. 2021-08-15 10:25:58 -03:00
f074203bff Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-15 10:13:39 -03:00
dd06fc4e08 new(basic.gblib): NEW keywords: DATEADD and DATEDIFF added. 2021-08-15 10:13:36 -03:00
Rodrigo
f809852a0c chore(release): 2.0.132 [skip ci]
## [2.0.132](https://github.com/GeneralBots/BotServer/compare/2.0.131...2.0.132) (2021-08-15)

### Bug Fixes

* **basic.gblib:** TOLIST fixed for empty values. ([66c0c4b](66c0c4b90d))
2021-08-15 12:20:24 +00:00
fef2cc5aed Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-15 09:16:26 -03:00
ff4054cfa0 fix(basic.gblib): TOLIST fixed for empty values. 2021-08-15 09:16:22 -03:00
Rodrigo
7d62493e5d chore(release): 2.0.131 [skip ci]
## [2.0.131](https://github.com/GeneralBots/BotServer/compare/2.0.130...2.0.131) (2021-08-14)

### Bug Fixes

* **basic.gblib:** TOLIST fixed for empty values. ([4969171](49691710b9))
2021-08-14 22:33:46 +00:00
ef43bea15b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-14 19:29:32 -03:00
5496435ea9 fix(basic.gblib): TOLIST fixed for empty values. 2021-08-14 19:29:27 -03:00
Rodrigo
db42e95b43 chore(release): 2.0.130 [skip ci]
## [2.0.130](https://github.com/GeneralBots/BotServer/compare/2.0.129...2.0.130) (2021-08-13)

### Bug Fixes

* **kb.gbapp:** Fixing WHOLE WORD in Simple Search. ([3ad3459](3ad3459e4b))
2021-08-13 16:05:37 +00:00
3ff8d293b8 fix(kb.gbapp): Fixing WHOLE WORD in Simple Search. 2021-08-13 13:01:36 -03:00
5dbf0aeec6 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-11 14:20:15 -03:00
99c0adf157 new(basic.gblib) New SET SCHEDULE keyword. 2021-08-11 13:37:41 -03:00
Rodrigo
255d9fb5ae chore(release): 2.0.129 [skip ci]
## [2.0.129](https://github.com/GeneralBots/BotServer/compare/2.0.128...2.0.129) (2021-08-11)

### Bug Fixes

* **all:** FIND OR TALK fixed. ([a8e517d](a8e517d1f4))
2021-08-11 13:58:08 +00:00
cb0b25e1a0 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-08-11 10:53:56 -03:00
1d3fe0923f fix(all): FIND OR TALK fixed. 2021-08-11 10:53:52 -03:00
Rodrigo
46128791b2 chore(release): 2.0.128 [skip ci]
## [2.0.128](https://github.com/GeneralBots/BotServer/compare/2.0.127...2.0.128) (2021-08-11)

### Bug Fixes

* **all:** HEAR call back errors removed. ([375d107](375d107dd2))
2021-08-11 00:04:13 +00:00
764dc99531 fix(all): HEAR call back errors removed. 2021-08-10 20:59:56 -03:00
3990f6d1e3 new(basic.gblib) New SET SCHEDULE keyword. 2021-08-10 18:31:32 -03:00
9e1614d721 new(basic.gblib) New SET SCHEDULE keyword. 2021-08-10 18:30:32 -03:00
ffeed2f02d new(basic.gblib) New SET SCHEDULE keyword. 2021-08-10 14:57:03 -03:00
daf7f2fdc7 new(basic.gblib) New SET SCHEDULE keyword. 2021-08-10 09:29:59 -03:00
eae04084c6 new(basic.gblib) New SET SCHEDULE keyword. 2021-08-09 21:47:36 -03:00
1f5eaeadba new(basic.gblib) New SET SCHEDULE keyword. 2021-08-09 17:55:55 -03:00
c5234e77c3 new(basic.gblib): new TOLIST and FIND now works with hour intervals. 2021-08-05 17:19:24 -03:00
6561bdc4ff new(basic.gblib): new TOLIST and FIND now works with hour intervals. 2021-08-05 12:34:33 -03:00
872ddb2e3c new(basic.gblib): new TOLIST and FIND now works with hour intervals. 2021-08-05 11:20:06 -03:00
e165002e1f new(basic.gblib): FIND can now have more than one filter with multiple datatypes. 2021-08-03 18:54:19 -03:00
6b12ccbea7 new(basic.gblib): FIND can now have more than one filter with multiple datatypes. 2021-08-03 18:29:44 -03:00
1055c66ec1 new(basic.gblib): New TOLIST, APPEND, SORT TO keyword.. 2021-08-03 17:35:02 -03:00
586077425e new(basic.gblib): New TOLIST, APPEND, SORT TO keyword.. 2021-08-03 16:24:59 -03:00
1c4e5a3370 new(basic.gblib): FIND can now have more than one filter with multiple datatypes. 2021-08-03 10:06:59 -03:00
221a746721 new(all): isArray function. 2021-07-31 12:26:46 -03:00
5a54af61f3 new(all): isArray function. 2021-07-31 12:25:38 -03:00
9bb4b7a922 new(all): Additional interfaces for text processing in .gbapp. 2021-07-29 15:15:38 -03:00
c645fbb4a1 new(all): Additional interfaces for text processing in .gbapp. 2021-07-29 15:15:26 -03:00
2345f8a9f2 new(all): Additional interfaces for text processing in .gbapp. 2021-07-29 12:21:05 -03:00
8740495d14 new(all): Additional interfaces for text processing in .gbapp. 2021-07-29 09:50:38 -03:00
dc746a63ab new(all): Google Translator fix and security fix. 2021-07-28 13:33:38 -03:00
faa1c76d14 new(all): General Bots Reading Comprehension for .pdf. 2021-07-26 10:19:56 -03:00
57f16c73b6 new(all): General Bots Reading Comprehension,. 2021-07-16 08:12:58 -03:00
2001501689 new(all): Facebook workplace support. 2021-07-06 18:09:50 -03:00
32bdd8d08f Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-07-06 13:18:42 -03:00
51d0ca8e24 new(all): Facebook workplace support. 2021-07-06 13:18:38 -03:00
Rodrigo
050c0b66ad chore(release): 2.0.127 [skip ci]
## [2.0.127](https://github.com/GeneralBots/BotServer/compare/2.0.126...2.0.127) (2021-06-21)

### Bug Fixes

* **core.gbapp:** Fix default theme information. ([40a95ec](40a95ec883))
2021-06-21 11:31:31 +00:00
ced36ee48e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-06-21 08:25:54 -03:00
4449180ebb fix(core.gbapp): Fix default theme information. 2021-06-21 08:25:50 -03:00
Rodrigo
82a4a48ae1 chore(release): 2.0.126 [skip ci]
## [2.0.126](https://github.com/GeneralBots/BotServer/compare/2.0.125...2.0.126) (2021-06-21)

### Bug Fixes

* **core.gbapp:** Fix default theme information. ([e2fee04](e2fee04cfc))
* **core.gbapp:** Fix default theme information. ([e1f0176](e1f0176409))
2021-06-21 11:12:49 +00:00
42348dd85b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-06-21 08:07:38 -03:00
a696a59e61 fix(core.gbapp): Fix default theme information. 2021-06-21 08:07:31 -03:00
48b980067a fix(core.gbapp): Fix default theme information. 2021-06-21 08:07:19 -03:00
Rodrigo
23a0481f13 chore(release): 2.0.125 [skip ci]
## [2.0.125](https://github.com/GeneralBots/BotServer/compare/2.0.124...2.0.125) (2021-06-20)

### Bug Fixes

* **core.gbapp:** Auto-start is optional again. ([74956e8](74956e8fd9))
2021-06-20 17:45:54 +00:00
5b184ee21f Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-06-20 14:40:17 -03:00
48288f62b6 fix(core.gbapp): Auto-start is optional again. 2021-06-20 14:40:11 -03:00
Rodrigo
752d8ac122 chore(release): 2.0.124 [skip ci]
## [2.0.124](https://github.com/GeneralBots/BotServer/compare/2.0.123...2.0.124) (2021-06-17)

### Bug Fixes

* **core.gbapp:** Min Boot bot now is defined again. ([f65b3ea](f65b3ea9c4))
2021-06-17 17:35:17 +00:00
27d4aa7812 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-06-17 14:29:16 -03:00
f536c7b8cc fix(core.gbapp): Min Boot bot now is defined again. 2021-06-17 14:28:25 -03:00
Rodrigo
90b2ad5c45 chore(release): 2.0.123 [skip ci]
## [2.0.123](https://github.com/GeneralBots/BotServer/compare/2.0.122...2.0.123) (2021-06-17)

### Bug Fixes

* **core.gbapp:** FB channel is optional. ([64ce414](64ce41434a))
2021-06-17 12:37:38 +00:00
f6a90ccb4b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-06-17 09:30:47 -03:00
7affaef925 fix(core.gbapp): FB channel is optional. 2021-06-17 09:30:42 -03:00
Rodrigo
85e1a8b413 chore(release): 2.0.122 [skip ci]
## [2.0.122](https://github.com/GeneralBots/BotServer/compare/2.0.121...2.0.122) (2021-06-16)

### Bug Fixes

* **all:** Removal of MSFT cog. services. ([7f970ee](7f970ee77f))
2021-06-16 20:22:27 +00:00
083ccaa134 fix(all): Removal of MSFT cog. services. 2021-06-16 17:14:45 -03:00
Rodrigo
726875d9a8 chore(release): 2.0.121 [skip ci]
## [2.0.121](https://github.com/GeneralBots/BotServer/compare/2.0.120...2.0.121) (2021-06-16)

### Bug Fixes

* **all:** MSFT mistake again being fixed rolling back version of non-tested on Azure packages. ([cdd1a99](cdd1a9968c))
* **all:** Trying to get Google packages on AZ. ([9c53791](9c53791e72))
* **whatsapp.gblib:** Adding Google to WhatsApp. ([dc9286f](dc9286ffe8))
2021-06-16 19:20:09 +00:00
0c288ea77f fix(all): Trying to get Google packages on AZ. 2021-06-16 16:14:10 -03:00
509ac4899d fix(whatsapp.gblib): Adding Google to WhatsApp. 2021-06-16 11:53:20 -03:00
b05cc18579 fix(all): MSFT mistake again being fixed rolling back version of non-tested on Azure packages. 2021-06-16 10:32:01 -03:00
c9d83e276b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-06-15 09:03:29 -03:00
0eef3ad21d new(all): Google Chat (Workspace) connector added. 2021-06-15 08:36:13 -03:00
Rodrigo
00d20deeef chore(release): 2.0.120 [skip ci]
## [2.0.120](https://github.com/GeneralBots/BotServer/compare/2.0.119...2.0.120) (2021-06-13)

### Bug Fixes

* **all:** .gblib has Package interface to allow export of services. ([8767d0b](8767d0b5f9))
* **all:** Bot factory creation from command line fixed. ([8de9777](8de9777423))
* **all:** CI now can compile docs again. ([d8b17af](d8b17af9e8))
* **all:** General Bots now can show Office documents on projector. ([21117c2](21117c297c))
* **all:** Packages updated and new DirectLine behaviour fixed. ([517689f](517689fafe))
* **all:** Removed security breach. ([0202ed0](0202ed0ef5))
* **all:** Removed security breach. ([dad67d2](dad67d27ba))
* **all:** Sequelize base members demand declare keyword on timestamp fields. ([42719e7](42719e7ba0))
* **all:** Sequelize base members demand declare keyword on timestamp fields. ([493889b](493889beb2))
* **azuredeployer.gbapp:** New pricing table. ([7f641bd](7f641bd5df))
* **basic.gbapp:** Call to SEND FILE with .md files working OK. ([80b91c4](80b91c4370))
* **basic.gblib:** Autostart bug, more logging. ([3d90bd8](3d90bd872e))
* **basic.gblib:** Dialogs are now ending OK. ([c1fe708](c1fe708aa7))
* **basic.gblib:** FIND now has an in-line not found message option. ([584ed55](584ed55f5c))
* **basic.gblib:** Fix BASIC options set by SET instructions. ([80697cf](80697cf944))
* **basic.gblib:** Fix in free tier. ([660d130](660d1309ef))
* **basic.gblib:** Fix in not translating hear. ([66d33cb](66d33cbe39))
* **basic.gblib:** SET MAX LINES now available to user larger files. ([3e13202](3e13202129))
* **basic.gblib:** Startup duplicated messages removed. ([fcc8ce5](fcc8ce5a8b))
* **core.gbapp:** Auto start fixed for wa, teams and web. ([5021e7f](5021e7fcf1))
* **core.gbapp:** Auto start for whatsapp OK. ([9cb4d11](9cb4d11505))
* **core.gbapp:** Boot process fully tested. ([a6d1f90](a6d1f90bbf))
* **core.gbapp:** Fix bot creation. ([5a7895e](5a7895ecd4))
* **core.gbapp:** Fix for autostart. ([5fda86d](5fda86d1fd))
* **core.gbapp:** Fix in launch of start dialog. ([dd40f32](dd40f32cf3))
* **core.gbapp:** Fix WhatsApp start bug. ([e799524](e799524546))
* **core.gbapp:** Fixes in a blank environment creation. ([b0d45c3](b0d45c3212))
* **core.gbapp:** Logging about auto start. ([3d42ab9](3d42ab91bb))
* **core.gbapp:** NLP is not required in startup. ([b120cf6](b120cf6674))
* **core.gbapp:** Start for WhatsApp fixed. ([5ba9df4](5ba9df4e5f))
* **core.gbapp:** Startup fix still testing. ([4268ea9](4268ea9971))
* **core.gbapp:** Translator hierachy param tree is OK. ([94e791c](94e791ca71))
* **default.gbui:** Removed warnings from code. ([473a160](473a160941))
* **default.gbui:** Removed warnings from code. ([d742c00](d742c00567))
* **kb.gbapp:** Apostrophes correctly processed now. ([da8ee93](da8ee93ba7))
* **kb.gbapp:** Fix in Video of .md. ([30cdef6](30cdef67ee))
* **kb.gbapp:** Full HTTPS address in images. ([53a5d8d](53a5d8d692))
* **kb.gbapp:** Markdown OK again for MSTeams. ([5fa88f0](5fa88f0e7e))
* **kb.gbapp:** MD now can play videos. ([a427566](a427566196))
* **kb.gbapp:** Simple search ignoring now ponctuation. ([657dd0b](657dd0b849))
* **security.gbapp:** E-mail used with no spellchecker turned on. ([d2b0a20](d2b0a2073b))
* **whatsapp.gblib:** Field mobile used instead of id in message. ([ac9d065](ac9d065a61))
* **whatsapp.gblib:** Removal of trash in phone ID. ([819b593](819b5937bb))
2021-06-13 16:05:27 +00:00
9aaa8662cc fix(all): CI now can compile docs again. 2021-06-13 12:59:39 -03:00
55d378adb3 fix(default.gbui): Removed warnings from code. 2021-06-13 12:26:40 -03:00
9054ef9660 fix(default.gbui): Removed warnings from code. 2021-06-13 12:20:44 -03:00
57a0d82645 fix(all): Sequelize base members demand declare keyword on timestamp fields. 2021-06-13 12:08:26 -03:00
2e800d834c fix(all): Sequelize base members demand declare keyword on timestamp fields. 2021-06-13 12:05:50 -03:00
a27e4288d1 fix(all): Removed security breach. 2021-06-13 11:55:51 -03:00
6bc401c78f fix(all): Packages updated and new DirectLine behaviour fixed. 2021-06-13 11:51:07 -03:00
aaf2a38e40 new(all): Google Chat (Hangout) channel added as google-chat.gblib. 2021-06-11 09:50:40 -03:00
6d88186c10 new(all): Facebook Workplace bot framework integration. 2021-06-09 16:03:46 -03:00
79474286a7 fix(core.gbapp): Auto start for whatsapp OK. 2021-06-04 17:19:48 -03:00
aa0483e022 fix(core.gbapp): Translator hierachy param tree is OK. 2021-06-04 11:55:07 -03:00
fc7ad4dd29 fix(core.gbapp): Auto start fixed for wa, teams and web. 2021-06-04 11:15:23 -03:00
0e78583b52 fix(kb.gbapp): Markdown OK again for MSTeams. 2021-06-02 14:37:46 -03:00
fcd478e2e5 fix(basic.gbapp): Call to SEND FILE with .md files working OK. 2021-06-01 10:05:52 -03:00
69ecd6dd83 fix(basic.gblib): Fix in not translating hear. 2021-06-01 08:34:23 -03:00
8a85cc87d2 fix(core.gbapp): Fix for autostart. 2021-05-24 16:14:17 -03:00
833b4433b2 fix(core.gbapp): Startup fix still testing. 2021-05-24 15:47:00 -03:00
38638857ac fix(core.gbapp): Fix in launch of start dialog. 2021-05-24 15:06:14 -03:00
25a316f812 fix(basic.gblib): Autostart bug, more logging. 2021-05-23 19:19:14 -03:00
a47e50afdb fix(core.gbapp): Logging about auto start. 2021-05-23 16:42:54 -03:00
90c2116305 fix(core.gbapp): Fix WhatsApp start bug. 2021-05-23 10:43:39 -03:00
1267e46cbe fix(core.gbapp): Start for WhatsApp fixed. 2021-05-23 10:26:02 -03:00
898c93cda2 fix(basic.gblib): Startup duplicated messages removed. 2021-05-22 11:43:03 -03:00
65f1b881bc Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-05-18 20:51:09 -03:00
4b4396ec0c fix(azuredeployer.gbapp): New pricing table. 2021-05-18 20:50:57 -03:00
1ceedfbf6b Rename find-or-talk to find-or-talk.vbs.gbignore 2021-05-18 14:27:15 -03:00
ffbf854c57 Create find-or-talk 2021-05-18 14:26:31 -03:00
72b206432b fix(basic.gblib): FIND now has an in-line not found message option. 2021-05-18 14:22:10 -03:00
a95dc4a1f6 fix(security.gbapp): E-mail used with no spellchecker turned on. 2021-05-18 12:02:44 -03:00
972406af49 fix(all): .gblib has Package interface to allow export of services. 2021-05-18 10:56:04 -03:00
316f14e66e fix(core.gbapp): Fix bot creation. 2021-05-14 15:41:13 -03:00
0693a1aad5 new(all): ENABLE_AUTH param. 2021-05-10 10:53:53 -03:00
c52296b725 fix(whatsapp.gblib): Field mobile used instead of id in message. 2021-05-09 19:19:44 -03:00
3313549456 fix(whatsapp.gblib): Removal of trash in phone ID. 2021-05-09 18:51:02 -03:00
267e97d8b8 fix(kb.gbapp): Fix in Video of .md. 2021-05-09 16:24:46 -03:00
8e7bb0d1ac fix(kb.gbapp): MD now can play videos. 2021-05-09 15:32:22 -03:00
9608dd8a38 fix(basic.gblib): Fix in free tier. 2021-05-04 14:45:34 -03:00
932d1cdba0 fix(basic.gblib): Fix BASIC options set by SET instructions. 2021-04-30 13:20:49 -03:00
ff15f5f929 fix(kb.gbapp): Full HTTPS address in images. 2021-04-28 16:41:49 -03:00
000cd6ee6a fix(kb.gbapp): Apostrophes correctly processed now. 2021-04-27 13:42:47 -03:00
c2d269b802 new(basic.gbalib): New SET TRANSLATOR ON | OFF coded. 2021-04-22 14:39:51 -03:00
4f4e795b03 fix(basic.gblib): Dialogs are now ending OK. 2021-04-22 14:07:59 -03:00
e5255fd4d3 fix(core.gbapp): Boot process fully tested. 2021-04-22 12:12:05 -03:00
a1bca6642c fix(kb.gbapp): Simple search ignoring now ponctuation. 2021-04-20 12:01:36 -03:00
3ed8416e31 fix(core.gbapp): NLP is not required in startup. 2021-04-18 12:41:13 -03:00
14b32c3fd1 fix(core.gbapp): Fixes in a blank environment creation. 2021-04-17 17:20:44 -03:00
df6d146be1 fix(all): Bot factory creation from command line fixed. 2021-04-14 16:01:53 -03:00
6cd1f6664c fix(basic.gblib): SET MAX LINES now available to user larger files. 2021-04-12 10:07:59 -03:00
10af39e918 fix(all): General Bots now can show Office documents on projector. 2021-04-03 20:13:27 -03:00
de31f4a371 new(default.gbui): New PDF player and log improvements. 2021-04-03 12:41:44 -03:00
60677a336b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-04-02 14:50:45 -03:00
97f12da318 new(customer-satisfaction): New behaviour while liking content. 2021-04-02 14:50:39 -03:00
Rodrigo
6e1726568d chore(release): 2.0.119 [skip ci]
## [2.0.119](https://github.com/GeneralBots/BotServer/compare/2.0.118...2.0.119) (2021-03-31)

### Bug Fixes

* **core.gbapp:** Pt synonyms added. ([5a3eb2f](5a3eb2f690))
2021-03-31 17:47:11 +00:00
cc0436d700 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-31 14:42:14 -03:00
9054c95fe5 fix(core.gbapp): Pt synonyms added. 2021-03-31 14:42:09 -03:00
Rodrigo
a556225733 chore(release): 2.0.118 [skip ci]
## [2.0.118](https://github.com/GeneralBots/BotServer/compare/2.0.117...2.0.118) (2021-03-31)

### Bug Fixes

* **kb.gbapp:** Quotes to prevent question indexing. ([e9a9a47](e9a9a478db))
2021-03-31 13:31:25 +00:00
c966ed33f5 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-31 10:26:32 -03:00
826e848f23 fix(kb.gbapp): Quotes to prevent question indexing. 2021-03-31 10:26:26 -03:00
Rodrigo
5db28ed95c chore(release): 2.0.117 [skip ci]
## [2.0.117](https://github.com/GeneralBots/BotServer/compare/2.0.116...2.0.117) (2021-03-31)

### Bug Fixes

* **kb.gbapp:** Simple search prioritized correctly. ([8136e34](8136e34f1e))
2021-03-31 11:46:14 +00:00
4fba11212b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-31 08:40:58 -03:00
8df96c5f49 fix(kb.gbapp): Simple search prioritized correctly. 2021-03-31 08:40:51 -03:00
Rodrigo
38183774c5 chore(release): 2.0.116 [skip ci]
## [2.0.116](https://github.com/GeneralBots/BotServer/compare/2.0.115...2.0.116) (2021-03-30)

### Bug Fixes

* **core.gbapp:** Start dialog now is called with no interruptions. ([f66bbb8](f66bbb8fce))
2021-03-30 20:58:57 +00:00
407f6f8b08 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-30 17:53:43 -03:00
800783192d fix(core.gbapp): Start dialog now is called with no interruptions. 2021-03-30 17:53:38 -03:00
Rodrigo
f13d6af971 chore(release): 2.0.115 [skip ci]
## [2.0.115](https://github.com/GeneralBots/BotServer/compare/2.0.114...2.0.115) (2021-03-30)

### Bug Fixes

* **all:** End of dialog now OK. ([9b78594](9b785948cc))
2021-03-30 19:26:21 +00:00
0435566d8f fix(all): End of dialog now OK. 2021-03-30 16:21:30 -03:00
d72a9761be new(admin.gbapp): MSGraph now used to download .gbkb artifacts. 2021-03-29 18:50:27 -03:00
2cac8e779b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-20 10:48:19 -03:00
39f90ab0a9 new(basic.gblib): New SEND MAIL keyword. 2021-03-20 10:48:12 -03:00
Rodrigo
e5c9f40b33 chore(release): 2.0.114 [skip ci]
## [2.0.114](https://github.com/GeneralBots/BotServer/compare/2.0.113...2.0.114) (2021-03-09)

### Bug Fixes

* **basic.gblib:** Trying to find invalid cell value on .xlsx being filtered. ([3f0b020](3f0b020155))
2021-03-09 17:11:43 +00:00
04dfc53b95 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-09 14:06:29 -03:00
948e8128a6 fix(basic.gblib): Trying to find invalid cell value on .xlsx being filtered. 2021-03-09 14:06:19 -03:00
Rodrigo
e62a5c6199 chore(release): 2.0.113 [skip ci]
## [2.0.113](https://github.com/GeneralBots/BotServer/compare/2.0.112...2.0.113) (2021-03-09)

### Bug Fixes

* **basic.gblib:** Trying to fix FIND error on filtering. ([5422e69](5422e69841))
2021-03-09 16:34:59 +00:00
a423f955ae Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-09 13:29:50 -03:00
9e4f045d76 fix(basic.gblib): Trying to fix FIND error on filtering. 2021-03-09 13:29:40 -03:00
Rodrigo
768592b88d chore(release): 2.0.112 [skip ci]
## [2.0.112](https://github.com/GeneralBots/BotServer/compare/2.0.111...2.0.112) (2021-03-08)

### Bug Fixes

* **basic.gblib:** Using mobile instead of step on SEND FILE TO. ([51a6d55](51a6d557ae))
2021-03-08 22:35:13 +00:00
fdd6d84850 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-08 19:30:24 -03:00
ac29c73496 fix(basic.gblib): Using mobile instead of step on SEND FILE TO. 2021-03-08 19:30:17 -03:00
Rodrigo
c46da4ac59 chore(release): 2.0.111 [skip ci]
## [2.0.111](https://github.com/GeneralBots/BotServer/compare/2.0.110...2.0.111) (2021-03-08)

### Bug Fixes

* **basic.gblib:** More loggin on BASIC keywords. ([d0e42f0](d0e42f0ae1))
* **basic.gblib:** More logging in BASIC keywords. ([e016052](e016052309))
2021-03-08 22:19:01 +00:00
51a6d44d7c Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-08 19:14:17 -03:00
e27f0204fa fix(basic.gblib): More loggin on BASIC keywords. 2021-03-08 19:14:12 -03:00
8950434a69 fix(basic.gblib): More logging in BASIC keywords. 2021-03-08 19:13:46 -03:00
Rodrigo
30a56f49f3 chore(release): 2.0.110 [skip ci]
## [2.0.110](https://github.com/GeneralBots/BotServer/compare/2.0.109...2.0.110) (2021-03-08)

### Bug Fixes

* **basic.gblib:** Step added to SEND FILE TO. ([f40eae7](f40eae7b59))
* **basic.gblib:** Step added to SendFileTo. ([85e9602](85e96023c3))
2021-03-08 21:42:01 +00:00
7545e19900 fix(basic.gblib): Step added to SendFileTo. 2021-03-08 18:36:59 -03:00
432612e702 fix(basic.gblib): Step added to SEND FILE TO. 2021-03-08 18:36:11 -03:00
de0d285430 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-03 16:46:25 -03:00
9db8394489 new(whatsapp.gblib): New Teams and WhatsApp support. 2021-03-03 16:46:18 -03:00
Rodrigo
016572af34 chore(release): 2.0.109 [skip ci]
## [2.0.109](https://github.com/GeneralBots/BotServer/compare/2.0.108...2.0.109) (2021-03-02)

### Bug Fixes

* **basic.gblib:** Start of script error removed. ([2820eac](2820eacc59))
2021-03-02 23:57:53 +00:00
afc8db43f5 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-03-02 20:53:17 -03:00
6f6e9d0f3b fix(basic.gblib): Start of script error removed. 2021-03-02 20:53:12 -03:00
Rodrigo
a956915b60 chore(release): 2.0.108 [skip ci]
## [2.0.108](https://github.com/GeneralBots/BotServer/compare/2.0.107...2.0.108) (2021-03-01)

### Bug Fixes

* **all:** Convert is OK. ([da582b0](da582b0a59))
2021-03-01 00:09:37 +00:00
e03a4397ef Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-28 21:04:35 -03:00
751d442636 fix(all): Convert is OK. 2021-02-28 21:04:31 -03:00
Rodrigo
266ad0a2c2 chore(release): 2.0.107 [skip ci]
## [2.0.107](https://github.com/GeneralBots/BotServer/compare/2.0.106...2.0.107) (2021-02-28)

### Bug Fixes

* **all:** Fix in FAQ menu. ([8512b41](8512b41df1))
2021-02-28 16:11:16 +00:00
e959c6e0a1 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-28 13:06:41 -03:00
c608057879 fix(all): Fix in FAQ menu. 2021-02-28 13:06:05 -03:00
Rodrigo
9e76b73186 chore(release): 2.0.106 [skip ci]
## [2.0.106](https://github.com/GeneralBots/BotServer/compare/2.0.105...2.0.106) (2021-02-28)

### Bug Fixes

* **all:** FAQ Menu fixed. ([7c93328](7c93328134))
2021-02-28 15:31:30 +00:00
c52a430668 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-28 12:26:53 -03:00
3c91350cfd fix(all): FAQ Menu fixed. 2021-02-28 12:26:44 -03:00
Rodrigo
f688842a22 chore(release): 2.0.105 [skip ci]
## [2.0.105](https://github.com/GeneralBots/BotServer/compare/2.0.104...2.0.105) (2021-02-23)

### Bug Fixes

* **basic.gblib:** Error handling improved. ([ec47fda](ec47fda964))
* **basic.gblib:** More error handling improvements. ([cae28e5](cae28e5fd1))
2021-02-23 12:08:50 +00:00
81d2921cc9 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-23 09:04:02 -03:00
d0d7da54a2 fix(basic.gblib): More error handling improvements. 2021-02-23 09:03:58 -03:00
f574d52173 fix(basic.gblib): Error handling improved. 2021-02-23 07:40:54 -03:00
Rodrigo
d3c644c617 chore(release): 2.0.104 [skip ci]
## [2.0.104](https://github.com/GeneralBots/BotServer/compare/2.0.103...2.0.104) (2021-02-23)

### Bug Fixes

* **basic.gblib:** Error handling improved. ([a4c3f42](a4c3f42911))
2021-02-23 10:31:01 +00:00
39892f9646 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-23 07:26:14 -03:00
226d4538cf fix(basic.gblib): Error handling improved. 2021-02-23 07:26:08 -03:00
Rodrigo
4f07452c00 chore(release): 2.0.103 [skip ci]
## [2.0.103](https://github.com/GeneralBots/BotServer/compare/2.0.102...2.0.103) (2021-02-16)

### Bug Fixes

* **all:** Added scope variable as requested by a customer. ([875043b](875043b86e))
2021-02-16 18:35:44 +00:00
8f9d02e56e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-16 15:31:10 -03:00
12f82ae119 fix(all): Added scope variable as requested by a customer. 2021-02-16 15:31:06 -03:00
Rodrigo
7c0e41f2bd chore(release): 2.0.102 [skip ci]
## [2.0.102](https://github.com/GeneralBots/BotServer/compare/2.0.101...2.0.102) (2021-02-07)

### Bug Fixes

* **basic.gblib:** Fixing bad regexp. ([5d6d147](5d6d147ad4))
2021-02-07 21:34:05 +00:00
1ebea10889 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-07 18:29:01 -03:00
e28f0de02c fix(basic.gblib): Fixing bad regexp. 2021-02-07 18:28:54 -03:00
Rodrigo
5309651b1a chore(release): 2.0.101 [skip ci]
## [2.0.101](https://github.com/GeneralBots/BotServer/compare/2.0.100...2.0.101) (2021-02-07)

### Bug Fixes

* **basic.gblib:** Fix in BASIC regexp to catch only keywords outsite quotes. ([0681fe4](0681fe4d31))
2021-02-07 11:17:32 +00:00
2bb6077eee Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-07 08:12:40 -03:00
e04d28b05d fix(basic.gblib): Fix in BASIC regexp to catch only keywords outsite quotes. 2021-02-07 08:12:32 -03:00
Rodrigo
cf7f87dac0 chore(release): 2.0.100 [skip ci]
## [2.0.100](https://github.com/GeneralBots/BotServer/compare/2.0.99...2.0.100) (2021-02-05)

### Bug Fixes

* **admin.gbapp:** Fix in DONT_DOWNLOAD. ([3ed733e](3ed733e4f8))
2021-02-05 13:00:03 +00:00
6bd78bf2cc fix(admin.gbapp): Fix in DONT_DOWNLOAD. 2021-02-05 09:55:06 -03:00
44747428a9 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-05 09:15:41 -03:00
0fe8ef6bf2 new(admin.gbapp): DONT_DOWNLOAD option added. 2021-02-05 09:15:32 -03:00
Rodrigo
049d49174a chore(release): 2.0.99 [skip ci]
## [2.0.99](https://github.com/GeneralBots/BotServer/compare/2.0.98...2.0.99) (2021-02-02)

### Bug Fixes

* **core.gbapp:** Fix in Spanish NLP. ([a9a2bf8](a9a2bf8fd0))
2021-02-02 18:47:52 +00:00
89474f14df Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-02 15:43:08 -03:00
3180b773a7 fix(core.gbapp): Fix in Spanish NLP. 2021-02-02 15:43:02 -03:00
Rodrigo
1366d3fdfc chore(release): 2.0.98 [skip ci]
## [2.0.98](https://github.com/GeneralBots/BotServer/compare/2.0.97...2.0.98) (2021-02-02)

### Bug Fixes

* **basic.gblib:** Spanish chars handling for NLP. ([62ef28d](62ef28d8ff))
2021-02-02 18:42:12 +00:00
bed2a0e7b2 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-02-02 15:37:42 -03:00
09b4c645e3 fix(basic.gblib): Spanish chars handling for NLP. 2021-02-02 15:37:35 -03:00
Rodrigo
7ff0d29148 chore(release): 2.0.97 [skip ci]
## [2.0.97](https://github.com/GeneralBots/BotServer/compare/2.0.96...2.0.97) (2021-01-28)

### Bug Fixes

* **basic.gblib:** COPY and CONVERT fixed. ([30f3b36](30f3b36469))
* **basic.gblib:** More code instrumentation. ([fbd50f5](fbd50f50bc))
2021-01-28 11:50:52 +00:00
6631c7b3e2 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-28 08:45:52 -03:00
f68aa1ad80 fix(basic.gblib): More code instrumentation. 2021-01-28 08:45:29 -03:00
b520b9c8c2 fix(basic.gblib): COPY and CONVERT fixed. 2021-01-28 08:42:06 -03:00
Rodrigo
e08087568d chore(release): 2.0.96 [skip ci]
## [2.0.96](https://github.com/GeneralBots/BotServer/compare/2.0.95...2.0.96) (2021-01-28)

### Bug Fixes

* **core.gbapp:** Sending text in .md is back again. ([119c069](119c06949a))
2021-01-28 11:02:35 +00:00
fe7c839481 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-28 07:57:35 -03:00
483ada2495 fix(core.gbapp): Sending text in .md is back again. 2021-01-28 07:57:30 -03:00
Rodrigo
e10a7212cd chore(release): 2.0.95 [skip ci]
## [2.0.95](https://github.com/GeneralBots/BotServer/compare/2.0.94...2.0.95) (2021-01-27)

### Bug Fixes

* **core.gbapp:** More logging on sendToMobile from MD. ([c8bf760](c8bf7606b1))
2021-01-27 21:59:14 +00:00
33bca1d707 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-27 18:53:48 -03:00
54a594d7eb fix(core.gbapp): More logging on sendToMobile from MD. 2021-01-27 18:52:56 -03:00
Rodrigo
bb9af8882e chore(release): 2.0.94 [skip ci]
## [2.0.94](https://github.com/GeneralBots/BotServer/compare/2.0.93...2.0.94) (2021-01-27)

### Bug Fixes

* **core.gbapp:** Missing await inserted on sendToMobile. ([43e70bb](43e70bbe41))
2021-01-27 21:45:44 +00:00
22c2cd9f41 fix(core.gbapp): Missing await inserted on sendToMobile. 2021-01-27 18:40:24 -03:00
07e3fbb799 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-24 08:33:14 -03:00
5d418e76af new(kb.gbapp): Whenever the bot is called with no text, start will be called. 2021-01-24 08:33:10 -03:00
Rodrigo
4b2c1d2281 chore(release): 2.0.93 [skip ci]
## [2.0.93](https://github.com/GeneralBots/BotServer/compare/2.0.92...2.0.93) (2021-01-20)

### Bug Fixes

* **basic.gblib:** COPY and CONVERT is now generating good JS. ([3f13609](3f13609d59))
2021-01-20 21:28:08 +00:00
ffc22099ee Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-20 18:23:47 -03:00
420d6eda0c fix(basic.gblib): COPY and CONVERT is now generating good JS. 2021-01-20 18:23:42 -03:00
Rodrigo
ea330b7133 chore(release): 2.0.92 [skip ci]
## [2.0.92](https://github.com/GeneralBots/BotServer/compare/2.0.91...2.0.92) (2021-01-15)

### Bug Fixes

* **basic.gblib:** CONVERT keyword coded. ([9b1eae2](9b1eae2972))
2021-01-15 22:26:14 +00:00
7504d9de51 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-15 19:21:51 -03:00
df53627fac fix(basic.gblib): CONVERT keyword coded. 2021-01-15 19:21:27 -03:00
Rodrigo
a8fa5fb9d2 chore(release): 2.0.91 [skip ci]
## [2.0.91](https://github.com/GeneralBots/BotServer/compare/2.0.90...2.0.91) (2021-01-15)

### Bug Fixes

* **basic.gblib:** COPY is now target recursive. ([4048e72](4048e724d1))
* **basic.gblib:** Extraction of copy command in regexp. ([e4be160](e4be1600f0))
2021-01-15 14:55:41 +00:00
2a9b8227e6 fix(basic.gblib): Extraction of copy command in regexp. 2021-01-15 11:50:43 -03:00
7ba6f05b99 fix(basic.gblib): COPY is now target recursive. 2021-01-15 11:48:18 -03:00
38cb2c21e4 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-15 08:46:37 -03:00
137c1aeb51 new(basic.gblib): New COPY keyword working. 2021-01-15 08:46:28 -03:00
Rodrigo
5c53efbd92 chore(release): 2.0.90 [skip ci]
## [2.0.90](https://github.com/GeneralBots/BotServer/compare/2.0.89...2.0.90) (2021-01-13)

### Bug Fixes

* **basic.gblib:** Fix in Hear call to endDialog. ([c91d5f0](c91d5f0453))
2021-01-13 16:41:49 +00:00
27f3f1aac3 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-13 13:37:03 -03:00
7e23ac2025 fix(basic.gblib): Fix in Hear call to endDialog. 2021-01-13 13:36:44 -03:00
Rodrigo
d430aaa295 chore(release): 2.0.89 [skip ci]
## [2.0.89](https://github.com/GeneralBots/BotServer/compare/2.0.88...2.0.89) (2021-01-12)

### Bug Fixes

* **basic.gblib:** Fixed get token from BASIC methods. ([6399c2d](6399c2dd0f))
2021-01-12 21:38:40 +00:00
8330b9ad5f Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-12 18:33:59 -03:00
0b6685479b fix(basic.gblib): Fixed get token from BASIC methods. 2021-01-12 18:33:21 -03:00
Rodrigo
26e89d7720 chore(release): 2.0.88 [skip ci]
## [2.0.88](https://github.com/GeneralBots/BotServer/compare/2.0.87...2.0.88) (2021-01-08)

### Bug Fixes

* **all:** Improvements on debugging output. ([eb194f6](eb194f6885))
2021-01-08 16:08:11 +00:00
c1c0f79522 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-08 13:03:54 -03:00
5947a4be3e fix(all): Improvements on debugging output. 2021-01-08 13:03:44 -03:00
Rodrigo
92f20fb0b6 chore(release): 2.0.87 [skip ci]
## [2.0.87](https://github.com/pragmatismo-io/BotServer/compare/2.0.86...2.0.87) (2021-01-08)

### Bug Fixes

* **core.gbapp:** Trying to fix Config.xlsx access from customer. ([c2a51ff](c2a51ff832))
2021-01-08 15:59:42 +00:00
3daf91b5ba Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-08 12:54:57 -03:00
b59be34faf fix(core.gbapp): Trying to fix Config.xlsx access from customer. 2021-01-08 12:54:51 -03:00
Rodrigo
94d11eee11 chore(release): 2.0.86 [skip ci]
## [2.0.86](https://github.com/pragmatismo-io/BotServer/compare/2.0.85...2.0.86) (2021-01-08)

### Bug Fixes

* **admin.gbapp:** Trying to fix .gbot deployment error. ([63b2a57](63b2a577b2))
2021-01-08 00:19:12 +00:00
fcf6c75b34 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-07 21:15:01 -03:00
ba429fae4b fix(admin.gbapp): Trying to fix .gbot deployment error. 2021-01-07 21:14:53 -03:00
Rodrigo
f7d385159b chore(release): 2.0.85 [skip ci]
## [2.0.85](https://github.com/pragmatismo-io/BotServer/compare/2.0.84...2.0.85) (2021-01-07)

### Bug Fixes

* **admin.gbapp:** Removal of download during deployment of .gbot packages. ([f4d5cf9](f4d5cf92d2))
2021-01-07 22:46:40 +00:00
db7333c85b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-07 19:42:08 -03:00
8ddf537cd5 fix(admin.gbapp): Removal of download during deployment of .gbot packages. 2021-01-07 19:42:03 -03:00
Rodrigo
6640f3446e chore(release): 2.0.84 [skip ci]
## [2.0.84](https://github.com/pragmatismo-io/BotServer/compare/2.0.83...2.0.84) (2021-01-05)

### Bug Fixes

* **core.gbapp:** New .gbot param HelloGoodX is added. ([3aed757](3aed75731e))
2021-01-05 15:33:26 +00:00
6fa5eade05 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-05 12:28:54 -03:00
dc8341dbe9 fix(core.gbapp): New .gbot param HelloGoodX is added. 2021-01-05 12:28:40 -03:00
Rodrigo
921d041d84 chore(release): 2.0.83 [skip ci]
## [2.0.83](https://github.com/pragmatismo-io/BotServer/compare/2.0.82...2.0.83) (2021-01-05)

### Bug Fixes

* **basic.gblib:** Improving error handling in BASIC. ([2a199c3](2a199c39a3))
2021-01-05 10:52:07 +00:00
f8b4100ce0 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-05 07:47:55 -03:00
14412a8bce fix(basic.gblib): Improving error handling in BASIC. 2021-01-05 07:47:48 -03:00
Rodrigo
79f0bcb5fb chore(release): 2.0.82 [skip ci]
## [2.0.82](https://github.com/pragmatismo-io/BotServer/compare/2.0.81...2.0.82) (2021-01-03)

### Bug Fixes

* **basic.gblib:** New names for basic functions on hidden code header. ([dba22d5](dba22d518d))
2021-01-03 22:18:09 +00:00
65ce2beb18 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-03 19:13:32 -03:00
ad8c00805c fix(basic.gblib): New names for basic functions on hidden code header. 2021-01-03 19:13:27 -03:00
Rodrigo
fb8b2d1210 chore(release): 2.0.81 [skip ci]
## [2.0.81](https://github.com/pragmatismo-io/BotServer/compare/2.0.80...2.0.81) (2021-01-03)

### Bug Fixes

* **core.gbapp:** Fix in NLP handling of acents. ([2a5ecd4](2a5ecd487f))
2021-01-03 21:34:07 +00:00
09ac390d06 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2021-01-03 18:29:47 -03:00
a702494722 fix(core.gbapp): Fix in NLP handling of acents. 2021-01-03 18:29:41 -03:00
Rodrigo
5a2e65c4d8 chore(release): 2.0.80 [skip ci]
## [2.0.80](https://github.com/pragmatismo-io/BotServer/compare/2.0.79...2.0.80) (2020-12-31)

### Bug Fixes

* **all:** More coments on GBDeployer. ([5dae314](5dae314480))
* **all:** TS Lint and minor fixes. ([e7d7a1a](e7d7a1a4b2))
* **basic.gblib:** Commenting blocks. ([7672540](7672540053))
* **basic.gblib:** Comments to the keyword facade. ([b33a8b5](b33a8b5341))
* **core.gbapp:** More comments in GBMinService. ([9bc82ab](9bc82abf11))
2020-12-31 18:42:38 +00:00
ee826afd23 fix(all): TS Lint and minor fixes. 2020-12-31 15:36:19 -03:00
b68629d1ef fix(basic.gblib): Comments to the keyword facade. 2020-12-28 18:43:34 -03:00
12f680b13b fix(basic.gblib): Commenting blocks. 2020-12-28 09:27:35 -03:00
a5c6cc744e new(basic.gblib): BASIC module isolated. 2020-12-27 13:30:56 -03:00
fa12d43949 fix(all): More coments on GBDeployer. 2020-12-26 19:47:38 -03:00
6b5b5a7648 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-26 09:39:39 -03:00
e14472bcc7 fix(core.gbapp): More comments in GBMinService. 2020-12-26 09:38:21 -03:00
Rodrigo
b250fb7e67 chore(release): 2.0.79 [skip ci]
## [2.0.79](https://github.com/pragmatismo-io/BotServer/compare/2.0.78...2.0.79) (2020-12-25)

### Bug Fixes

* **core.gbapp:** Comments improving. ([dcb5961](dcb5961a80))
2020-12-25 16:40:41 +00:00
c5529b05a8 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-25 13:36:31 -03:00
74077cf48f fix(core.gbapp): Comments improving. 2020-12-25 13:36:26 -03:00
Rodrigo
131a94a6e8 chore(release): 2.0.78 [skip ci]
## [2.0.78](https://github.com/pragmatismo-io/BotServer/compare/2.0.77...2.0.78) (2020-12-23)

### Bug Fixes

* **core.gbapp:** result is now OK from hear. ([c900103](c900103fb0))
2020-12-23 15:32:48 +00:00
5241221fff Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-23 12:28:33 -03:00
e08e832884 fix(core.gbapp): result is now OK from hear. 2020-12-23 12:27:48 -03:00
Rodrigo
d491d9ce63 chore(release): 2.0.77 [skip ci]
## [2.0.77](https://github.com/pragmatismo-io/BotServer/compare/2.0.76...2.0.77) (2020-12-23)

### Bug Fixes

* **core.gbapp:** resolve is being called correctly in /hear. ([9804deb](9804debfcc))
2020-12-23 00:54:10 +00:00
f4b10febc4 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-22 21:48:54 -03:00
6f4982ed8e fix(core.gbapp): resolve is being called correctly in /hear. 2020-12-22 21:48:41 -03:00
Rodrigo
95a2424715 chore(release): 2.0.76 [skip ci]
## [2.0.76](https://github.com/pragmatismo-io/BotServer/compare/2.0.75...2.0.76) (2020-12-22)

### Bug Fixes

* **core.gbapp:** Fix in MSFT spellchecker. ([eaaae13](eaaae133cb))
2020-12-22 21:30:13 +00:00
f64df17341 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-22 18:25:57 -03:00
9c4b07656e fix(core.gbapp): Fix in MSFT spellchecker. 2020-12-22 18:25:31 -03:00
Rodrigo
1a78eeff45 chore(release): 2.0.75 [skip ci]
## [2.0.75](https://github.com/pragmatismo-io/BotServer/compare/2.0.74...2.0.75) (2020-12-22)

### Bug Fixes

* **core.gbapp:** MSFT translator fixes and auto-start twice fixed. ([81a0fdd](81a0fdd5d0))
2020-12-22 16:32:55 +00:00
8c1abd2554 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-22 13:28:09 -03:00
aa2abafc30 fix(core.gbapp): MSFT translator fixes and auto-start twice fixed. 2020-12-22 13:27:50 -03:00
Rodrigo
731b196e69 chore(release): 2.0.74 [skip ci]
## [2.0.74](https://github.com/pragmatismo-io/BotServer/compare/2.0.73...2.0.74) (2020-12-22)

### Bug Fixes

* **all:** NLP error handling improved. ([6ed7380](6ed7380b76))
2020-12-22 12:11:17 +00:00
1bb54f89a6 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-22 09:07:01 -03:00
686b27b886 fix(all): NLP error handling improved. 2020-12-22 09:06:46 -03:00
Rodrigo
075d2408f2 chore(release): 2.0.73 [skip ci]
## [2.0.73](https://github.com/pragmatismo-io/BotServer/compare/2.0.72...2.0.73) (2020-12-14)

### Bug Fixes

* **core.gbapp:** Text improvements in messages. ([f739c15](f739c15431))
2020-12-14 12:32:15 +00:00
acbb70165e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-14 09:28:17 -03:00
afac3183c0 fix(core.gbapp): Text improvements in messages. 2020-12-14 09:28:12 -03:00
Rodrigo
375579554c chore(release): 2.0.72 [skip ci]
## [2.0.72](https://github.com/pragmatismo-io/BotServer/compare/2.0.71...2.0.72) (2020-12-13)

### Bug Fixes

* **core.gbapp:** Improvements in BASIC error handling. ([46f4cac](46f4cac29b))
2020-12-13 13:06:46 +00:00
01bb3871e0 fix(core.gbapp): Improvements in BASIC error handling. 2020-12-13 10:02:49 -03:00
e918bbaf2f Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-11 07:36:13 -03:00
bccf079e2b new(core.gbapp): SHOW MENU BASIC keyword added. 2020-12-11 07:35:55 -03:00
Rodrigo
2a7e1c5e32 chore(release): 2.0.71 [skip ci]
## [2.0.71](https://github.com/pragmatismo-io/BotServer/compare/2.0.70...2.0.71) (2020-12-10)

### Bug Fixes

* **core.gbapp:** Fix KeepText bug. ([8a82ead](8a82eade5a))
2020-12-10 21:43:19 +00:00
a5ccf64c8f Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-10 18:38:22 -03:00
9ce31447a3 fix(core.gbapp): Fix KeepText bug. 2020-12-10 18:38:15 -03:00
Rodrigo
387638321e chore(release): 2.0.70 [skip ci]
## [2.0.70](https://github.com/pragmatismo-io/BotServer/compare/2.0.69...2.0.70) (2020-12-10)

### Bug Fixes

* **core.gbapp:** Improvements in language selection and MSTEAMS integration. ([23b89e5](23b89e5c79))
2020-12-10 18:04:28 +00:00
de33b67ab2 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-10 15:00:22 -03:00
20f9735f46 fix(core.gbapp): Improvements in language selection and MSTEAMS integration. 2020-12-10 14:59:55 -03:00
Rodrigo
0616823069 chore(release): 2.0.69 [skip ci]
## [2.0.69](https://github.com/pragmatismo-io/BotServer/compare/2.0.68...2.0.69) (2020-12-08)

### Bug Fixes

* **core.gbapp:** Boolean added to BASIC. ([bf91d74](bf91d74162))
* **core.gbapp:** Improvements on BASIC with built-in validators. ([af10172](af10172dd4))
* **core.gbapp:** New validators in BASIC. ([eb15dd0](eb15dd083b))
2020-12-08 02:28:53 +00:00
907ebaa308 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-07 23:24:40 -03:00
e002ab0380 fix(core.gbapp): Boolean added to BASIC. 2020-12-07 23:24:00 -03:00
1b6d798c52 fix(core.gbapp): New validators in BASIC. 2020-12-07 23:08:52 -03:00
ff17ab7310 fix(core.gbapp): Improvements on BASIC with built-in validators. 2020-12-07 22:25:43 -03:00
PH Nascimento
1c5434eb9f Update GBConversationalService.ts 2020-12-07 18:25:00 -03:00
Rodrigo
886897fd7d chore(release): 2.0.68 [skip ci]
## [2.0.68](https://github.com/pragmatismo-io/BotServer/compare/2.0.67...2.0.68) (2020-12-07)

### Bug Fixes

* **customer-satisfaction.gbapp:** Fix rate and suggestion text store. ([55bb46d](55bb46d882))
2020-12-07 15:23:23 +00:00
f18fb8fe2e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-07 12:19:11 -03:00
82f7db45df fix(customer-satisfaction.gbapp): Fix rate and suggestion text store. 2020-12-07 12:19:04 -03:00
Rodrigo
52f382409c chore(release): 2.0.67 [skip ci]
## [2.0.67](https://github.com/pragmatismo-io/BotServer/compare/2.0.66...2.0.67) (2020-12-07)

### Bug Fixes

* **kb.gbapp:** Faster loaded from tabular using bulk insert. ([1604006](1604006266))
2020-12-07 14:25:56 +00:00
86a1432e78 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-07 11:21:58 -03:00
d1fd7a5960 fix(kb.gbapp): Faster loaded from tabular using bulk insert. 2020-12-07 11:21:51 -03:00
Rodrigo
d965369442 chore(release): 2.0.66 [skip ci]
## [2.0.66](https://github.com/pragmatismo-io/BotServer/compare/2.0.65...2.0.66) (2020-12-06)

### Bug Fixes

* **core.gbapp:** Ignoring case for keep text. ([5139817](5139817466))
2020-12-06 23:41:09 +00:00
e95680935f Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-06 20:36:46 -03:00
b4e94de313 fix(core.gbapp): Ignoring case for keep text. 2020-12-06 20:36:41 -03:00
Rodrigo
5c91340a4d chore(release): 2.0.65 [skip ci]
## [2.0.65](https://github.com/pragmatismo-io/BotServer/compare/2.0.64...2.0.65) (2020-12-06)

### Bug Fixes

* **core.gbapp:** startDialog for web OK now. ([6b325ea](6b325ead34))
2020-12-06 19:51:19 +00:00
9b93043087 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-06 16:46:57 -03:00
92cd3ea59b fix(core.gbapp): startDialog for web OK now. 2020-12-06 16:46:53 -03:00
Rodrigo
ea71ba169b chore(release): 2.0.64 [skip ci]
## [2.0.64](https://github.com/pragmatismo-io/BotServer/compare/2.0.63...2.0.64) (2020-12-06)

### Bug Fixes

* **core.gbapp:** Start dialog done and  log improvements. ([1ff2429](1ff24290f0))
2020-12-06 19:27:11 +00:00
e3f2e5418b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-06 16:22:40 -03:00
805de37cf8 fix(core.gbapp): Start dialog done and log improvements. 2020-12-06 16:22:34 -03:00
Rodrigo
76a65260f1 chore(release): 2.0.63 [skip ci]
## [2.0.63](https://github.com/pragmatismo-io/BotServer/compare/2.0.62...2.0.63) (2020-12-06)

### Bug Fixes

* **core.gbapp:** MSFT NLP issue fixed. ([149c821](149c821e41))
2020-12-06 13:52:37 +00:00
7cd26f15cb Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-06 10:48:30 -03:00
0cbb0c2f25 fix(core.gbapp): MSFT NLP issue fixed. 2020-12-06 10:48:24 -03:00
Rodrigo
8e59324d61 chore(release): 2.0.62 [skip ci]
## [2.0.62](https://github.com/pragmatismo-io/BotServer/compare/2.0.61...2.0.62) (2020-12-05)

### Bug Fixes

* **core.gbapp:** Fix in deployer. ([ec40fd8](ec40fd8b62))
2020-12-05 20:31:59 +00:00
d7ce4f7dfe Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-05 17:28:00 -03:00
05bec4c7cb fix(core.gbapp): Fix in deployer. 2020-12-05 17:27:27 -03:00
Rodrigo
4921995a4f chore(release): 2.0.61 [skip ci]
## [2.0.61](https://github.com/pragmatismo-io/BotServer/compare/2.0.60...2.0.61) (2020-12-05)

### Bug Fixes

* **core.gbapp:** NLP automation is fully tested. ([2873c5c](2873c5c078))
2020-12-05 12:30:25 +00:00
026d1e49f3 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-05 09:26:28 -03:00
4ac24f70b4 fix(core.gbapp): NLP automation is fully tested. 2020-12-05 09:26:19 -03:00
Rodrigo
6b8ce057ca chore(release): 2.0.60 [skip ci]
## [2.0.60](https://github.com/pragmatismo-io/BotServer/compare/2.0.59...2.0.60) (2020-12-04)

### Bug Fixes

* **core.gbapp:** Keep text fixed. ([50564c6](50564c64d2))
2020-12-04 16:50:08 +00:00
f41aae81ec Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-04 13:45:17 -03:00
efadbd8d1f fix(core.gbapp): Keep text fixed. 2020-12-04 13:44:33 -03:00
Rodrigo
c1393baf6e chore(release): 2.0.59 [skip ci]
## [2.0.59](https://github.com/pragmatismo-io/BotServer/compare/2.0.58...2.0.59) (2020-12-03)

### Bug Fixes

* **core.gbapp:** Calls to Spellchecker and Translator fixed. ([0f39343](0f393431ec))
2020-12-03 21:47:37 +00:00
13f5fa6cd3 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-03 18:43:23 -03:00
6a843b5a43 fix(core.gbapp): Calls to Spellchecker and Translator fixed. 2020-12-03 18:43:14 -03:00
Rodrigo
8d0b3b80ed chore(release): 2.0.58 [skip ci]
## [2.0.58](https://github.com/pragmatismo-io/BotServer/compare/2.0.57...2.0.58) (2020-12-02)

### Bug Fixes

* **core.gbapp:** EXIT keyword. ([3906c3d](3906c3de53))
2020-12-02 20:25:34 +00:00
d458d88f6d Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-02 17:21:14 -03:00
8b093c2e21 fix(core.gbapp): EXIT keyword. 2020-12-02 17:20:38 -03:00
Rodrigo
a5b87a3788 chore(release): 2.0.57 [skip ci]
## [2.0.57](https://github.com/pragmatismo-io/BotServer/compare/2.0.56...2.0.57) (2020-12-01)

### Bug Fixes

* **core.gbapp:** New HEAR possibilities coded. ([797af37](797af37b81))
2020-12-01 21:07:20 +00:00
61e19c4be2 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-12-01 18:03:00 -03:00
300d8dc575 fix(core.gbapp): New HEAR possibilities coded. 2020-12-01 18:01:53 -03:00
Rodrigo
40b59e3755 chore(release): 2.0.56 [skip ci]
## [2.0.56](https://github.com/pragmatismo-io/BotServer/compare/2.0.55...2.0.56) (2020-12-01)

### Bug Fixes

* **all:** fixed case-insensitivity for BASIC commands. ([b6aba26](b6aba266f6))
2020-12-01 00:30:18 +00:00
c1bde21ff1 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-30 21:25:58 -03:00
80a5d826fa fix(all): fixed case-insensitivity for BASIC commands. 2020-11-30 21:25:29 -03:00
Rodrigo
bc9faafad9 chore(release): 2.0.55 [skip ci]
## [2.0.55](https://github.com/pragmatismo-io/BotServer/compare/2.0.54...2.0.55) (2020-11-30)

### Bug Fixes

* **core.gbapp:** SMS fix, Timezone on BASIC NOW, Order of welcome msg. fixed. ([18b8bd9](18b8bd9bdf))
2020-11-30 20:13:54 +00:00
000a11e479 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-30 17:09:53 -03:00
e57b05c91d fix(core.gbapp): SMS fix, Timezone on BASIC NOW, Order of welcome msg. fixed. 2020-11-30 17:09:47 -03:00
Rodrigo
df1a83c950 chore(release): 2.0.54 [skip ci]
## [2.0.54](https://github.com/pragmatismo-io/BotServer/compare/2.0.53...2.0.54) (2020-11-28)

### Bug Fixes

* **core.gbapp:** NLP key bug fixed after MSFT change of NLP service. ([b901d6b](b901d6bd50))
2020-11-28 23:31:12 +00:00
402cc04478 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-28 20:27:26 -03:00
aa0749b38c fix(core.gbapp): NLP key bug fixed after MSFT change of NLP service. 2020-11-28 20:26:46 -03:00
Rodrigo
9b900880ff chore(release): 2.0.53 [skip ci]
## [2.0.53](https://github.com/pragmatismo-io/BotServer/compare/2.0.52...2.0.53) (2020-11-26)

### Bug Fixes

* **core.gbapp:** SEND SMS fixed. ([508fe9f](508fe9fc31))
2020-11-26 16:52:26 +00:00
ca7b6e04cb Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-26 13:48:25 -03:00
718966f01b fix(core.gbapp): SEND SMS fixed. 2020-11-26 13:48:21 -03:00
Rodrigo
8582bf3323 chore(release): 2.0.52 [skip ci]
## [2.0.52](https://github.com/pragmatismo-io/BotServer/compare/2.0.51...2.0.52) (2020-11-26)

### Bug Fixes

* **core.gbapp:** SEND SMS TO keyword added. ([719f063](719f063070))
2020-11-26 15:49:19 +00:00
6ba6d1ae85 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-26 12:45:17 -03:00
cb723d3136 fix(core.gbapp): SEND SMS TO keyword added. 2020-11-26 12:45:10 -03:00
Rodrigo
9c171abfaf chore(release): 2.0.51 [skip ci]
## [2.0.51](https://github.com/pragmatismo-io/BotServer/compare/2.0.50...2.0.51) (2020-11-26)

### Bug Fixes

* **core.gbapp:** Language instance acquisition fixed. ([387b340](387b3407f3))
2020-11-26 14:28:56 +00:00
f44a878270 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-26 11:25:13 -03:00
be51507356 fix(core.gbapp): Language instance acquisition fixed. 2020-11-26 11:25:04 -03:00
Rodrigo
0c6a0bf8e8 chore(release): 2.0.50 [skip ci]
## [2.0.50](https://github.com/pragmatismo-io/BotServer/compare/2.0.49...2.0.50) (2020-11-26)

### Bug Fixes

* **all:** Language and Spellchecker are now modern. ([3eb8d0a](3eb8d0a53f))
2020-11-26 13:51:22 +00:00
31f6c109ba Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-26 10:47:40 -03:00
8d49e45dd8 fix(all): Language and Spellchecker are now modern. 2020-11-26 10:47:35 -03:00
Rodrigo
ff7ca81b3d chore(release): 2.0.49 [skip ci]
## [2.0.49](https://github.com/pragmatismo-io/BotServer/compare/2.0.48...2.0.49) (2020-11-26)

### Bug Fixes

* **core.gbapp:** Now and Today are now OK. ([13f9bb3](13f9bb3e76))
2020-11-26 13:28:59 +00:00
87fe22d2bd Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-26 10:25:00 -03:00
e1647dbe74 fix(core.gbapp): Now and Today are now OK. 2020-11-26 10:24:55 -03:00
Rodrigo
7978345c99 chore(release): 2.0.48 [skip ci]
## [2.0.48](https://github.com/pragmatismo-io/BotServer/compare/2.0.47...2.0.48) (2020-11-23)

### Bug Fixes

* **analytics.gblib:** Improvements in customer feedback. ([d5f4298](d5f42982f6))
2020-11-23 11:38:13 +00:00
5100f46be0 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-23 08:34:09 -03:00
e294509400 fix(analytics.gblib): Improvements in customer feedback. 2020-11-23 08:33:48 -03:00
Rodrigo
e391ab212e chore(release): 2.0.47 [skip ci]
## [2.0.47](https://github.com/pragmatismo-io/BotServer/compare/2.0.46...2.0.47) (2020-11-22)

### Bug Fixes

* **all:** Now keyword, autostart dialog, prod size optimization. ([a17f21e](a17f21e073))
* **core.gbapp:** Fixing script name in call. ([6343313](6343313579))
* **customer-satisfaction.gbapp:** New param Feedback Improve Message added. ([ec1ec20](ec1ec20175))
2020-11-22 14:29:00 +00:00
c11e8835e3 fix(core.gbapp): Fixing script name in call. 2020-11-22 11:24:48 -03:00
86aafa7fad Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-22 11:23:20 -03:00
62e9e456a2 fix(all): Now keyword, autostart dialog, prod size optimization. 2020-11-22 11:22:55 -03:00
1691465807 fix(customer-satisfaction.gbapp): New param Feedback Improve Message added. 2020-11-19 17:04:09 -03:00
Rodrigo
3e4a8e4ddf chore(release): 2.0.46 [skip ci]
## [2.0.46](https://github.com/pragmatismo-io/BotServer/compare/2.0.45...2.0.46) (2020-11-19)

### Bug Fixes

* **core.gbapp:** Language improvements tested. ([a618c71](a618c7100b))
2020-11-19 18:09:52 +00:00
e9ab97edd8 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-19 15:05:21 -03:00
5bc514f507 fix(core.gbapp): Language improvements tested. 2020-11-19 15:05:09 -03:00
Rodrigo
31689d0b9a chore(release): 2.0.45 [skip ci]
## [2.0.45](https://github.com/pragmatismo-io/BotServer/compare/2.0.44...2.0.45) (2020-11-19)

### Bug Fixes

* **core.gbapp:** Fixing after language new fetures being added. ([0ecaa8a](0ecaa8a877))
2020-11-19 14:47:23 +00:00
c8ed596137 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-19 11:43:21 -03:00
ba3f8c348e fix(core.gbapp): Fixing after language new fetures being added. 2020-11-19 11:43:15 -03:00
Rodrigo
49697dfc2d chore(release): 2.0.44 [skip ci]
## [2.0.44](https://github.com/pragmatismo-io/BotServer/compare/2.0.43...2.0.44) (2020-11-17)

### Bug Fixes

* **core.gbapp:** Language and translator improvements. ([f967d8f](f967d8f9e8))
2020-11-17 13:15:57 +00:00
13bcd5a413 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-17 10:11:53 -03:00
ed68e833ca fix(core.gbapp): Language and translator improvements. 2020-11-17 10:11:32 -03:00
Rodrigo
3d27ac8346 chore(release): 2.0.43 [skip ci]
## [2.0.43](https://github.com/pragmatismo-io/BotServer/compare/2.0.42...2.0.43) (2020-11-17)

### Bug Fixes

* **core.gbapp:** Language features  optmized. ([933729a](933729ae4d))
2020-11-17 11:30:49 +00:00
588528ac33 fix(core.gbapp): Language features optmized. 2020-11-17 08:27:10 -03:00
687ee04f2e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-14 10:32:24 -03:00
c2dd2130ea new(core.gbapp): SET SCHEDULE Keyword started. 2020-11-14 10:32:18 -03:00
Rodrigo
d3cb9c7954 chore(release): 2.0.42 [skip ci]
## [2.0.42](https://github.com/pragmatismo-io/BotServer/compare/2.0.41...2.0.42) (2020-11-12)

### Bug Fixes

* **core.gbapp:** Fixing array base in BASIC. ([91002d1](91002d1bac))
2020-11-12 18:35:53 +00:00
78ee1c288d Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-12 15:31:52 -03:00
260df10776 fix(core.gbapp): Fixing array base in BASIC. 2020-11-12 15:31:05 -03:00
Rodrigo
4684fe3e27 chore(release): 2.0.41 [skip ci]
## [2.0.41](https://github.com/pragmatismo-io/BotServer/compare/2.0.40...2.0.41) (2020-11-11)

### Bug Fixes

* **core.gbapp:** DO WHILE now working. ([785b924](785b924379))
2020-11-11 19:07:16 +00:00
49176ef779 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-11 16:03:16 -03:00
4110cf7de9 fix(core.gbapp): DO WHILE now working. 2020-11-11 16:03:05 -03:00
Rodrigo
c8f6ad9b79 chore(release): 2.0.40 [skip ci]
## [2.0.40](https://github.com/pragmatismo-io/BotServer/compare/2.0.39...2.0.40) (2020-11-11)

### Bug Fixes

* **core.gbapp:** SEND FILE TO now is priority over SEND FILE when converting tokens in regexp translator. ([9021ac8](9021ac89b2))
2020-11-11 15:47:08 +00:00
3b0665d5d8 fix(core.gbapp): SEND FILE TO now is priority over SEND FILE when converting tokens in regexp translator. 2020-11-11 12:43:08 -03:00
Rodrigo
a326bae741 chore(release): 2.0.39 [skip ci]
## [2.0.39](https://github.com/pragmatismo-io/BotServer/compare/2.0.38...2.0.39) (2020-11-11)

### Bug Fixes

* **core.gbapp:** Fix in SEND TO FILE defect. ([ea895c1](ea895c142c))
2020-11-11 15:31:43 +00:00
fc00b3fab4 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-11 12:27:26 -03:00
aa7ef26ec4 fix(core.gbapp): Fix in SEND TO FILE defect. 2020-11-11 12:27:17 -03:00
Rodrigo
b77c9c2a30 chore(release): 2.0.38 [skip ci]
## [2.0.38](https://github.com/pragmatismo-io/BotServer/compare/2.0.37...2.0.38) (2020-11-11)

### Bug Fixes

* **core.gbapp:** SEND FILE TO order of VM call prioritized. ([a4c03b8](a4c03b834c))
2020-11-11 14:42:31 +00:00
fa779e9b24 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-11 11:38:29 -03:00
7ef04ab3f0 fix(core.gbapp): SEND FILE TO order of VM call prioritized. 2020-11-11 11:38:19 -03:00
Rodrigo
0c07eb5bef chore(release): 2.0.37 [skip ci]
## [2.0.37](https://github.com/pragmatismo-io/BotServer/compare/2.0.36...2.0.37) (2020-11-11)

### Bug Fixes

* **core.gbapp:** New key word SEND FILE TO added. ([b736f04](b736f04103))
2020-11-11 14:15:06 +00:00
1f93e0ac61 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-11 11:10:53 -03:00
5e234cb4aa fix(core.gbapp): New key word SEND FILE TO added. 2020-11-11 11:10:40 -03:00
Rodrigo
16b71aafff chore(release): 2.0.36 [skip ci]
## [2.0.36](https://github.com/pragmatismo-io/BotServer/compare/2.0.35...2.0.36) (2020-11-10)

### Bug Fixes

* **core.gbapp:** End of dialog is now OK. ([8e668c2](8e668c28cd))
2020-11-10 00:31:56 +00:00
855bf640af Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-09 21:28:19 -03:00
15212c0744 fix(core.gbapp): End of dialog is now OK. 2020-11-09 21:28:14 -03:00
Rodrigo
3056b29022 chore(release): 2.0.35 [skip ci]
## [2.0.35](https://github.com/pragmatismo-io/BotServer/compare/2.0.34...2.0.35) (2020-11-09)

### Bug Fixes

* **core.gbapp:** Trying to fix error after .gbdialog call. ([744577b](744577b20b))
2020-11-09 23:29:35 +00:00
592b9c145d Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-09 20:25:47 -03:00
dbbc20782f fix(core.gbapp): Trying to fix error after .gbdialog call. 2020-11-09 20:25:42 -03:00
Rodrigo
2f3bb10408 chore(release): 2.0.34 [skip ci]
## [2.0.34](https://github.com/pragmatismo-io/BotServer/compare/2.0.33...2.0.34) (2020-11-09)

### Bug Fixes

* **core.gbapp:** Fixed the file server addresses and availability. ([8cbf3d3](8cbf3d364c))
2020-11-09 22:57:57 +00:00
149a8981b1 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-09 19:53:48 -03:00
7538017f9b fix(core.gbapp): Fixed the file server addresses and availability. 2020-11-09 19:53:42 -03:00
Rodrigo
3aefab1278 chore(release): 2.0.33 [skip ci]
## [2.0.33](https://github.com/pragmatismo-io/BotServer/compare/2.0.32...2.0.33) (2020-11-09)

### Bug Fixes

* **core.gbapp:** Fixing missing await calls. ([e0b18c0](e0b18c00f1))
2020-11-09 22:07:52 +00:00
8296575f20 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-09 19:04:05 -03:00
bf0790a858 fix(core.gbapp): Fixing missing await calls. 2020-11-09 19:04:01 -03:00
Rodrigo
5f93c7f8ae chore(release): 2.0.32 [skip ci]
## [2.0.32](https://github.com/pragmatismo-io/BotServer/compare/2.0.31...2.0.32) (2020-11-09)

### Bug Fixes

* **core.gbapp:** Fix deployment of assets missing await. ([ddaa8d5](ddaa8d5e5d))
2020-11-09 21:58:33 +00:00
bc96472719 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-09 18:54:57 -03:00
0b97f23dc5 fix(core.gbapp): Fix deployment of assets missing await. 2020-11-09 18:54:52 -03:00
Rodrigo
994b46a834 chore(release): 2.0.31 [skip ci]
## [2.0.31](https://github.com/pragmatismo-io/BotServer/compare/2.0.30...2.0.31) (2020-11-09)

### Bug Fixes

* **core.gbapp:** Fixing .gbdialog last call error. ([ff20ef2](ff20ef2494))
2020-11-09 21:33:13 +00:00
10ab11e69c Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-09 18:29:31 -03:00
fb279d6436 fix(core.gbapp): Fixing .gbdialog last call error. 2020-11-09 18:29:23 -03:00
Rodrigo
fdebc0cb75 chore(release): 2.0.30 [skip ci]
## [2.0.30](https://github.com/pragmatismo-io/BotServer/compare/2.0.29...2.0.30) (2020-11-09)

### Bug Fixes

* **core.gbapp:** Trying to fix Word language finishing error. ([3ae1b75](3ae1b75afd))
2020-11-09 20:44:39 +00:00
b7a8f61ff4 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-09 17:40:39 -03:00
5dbcc1a954 fix(core.gbapp): Trying to fix Word language finishing error. 2020-11-09 17:40:34 -03:00
Rodrigo
83f9d5e1de chore(release): 2.0.29 [skip ci]
## [2.0.29](https://github.com/pragmatismo-io/BotServer/compare/2.0.28...2.0.29) (2020-11-08)

### Bug Fixes

* **all:** node.js rollback due to Azure. ([29e9535](29e953542f))
2020-11-08 19:15:28 +00:00
12168e077b Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-08 16:11:34 -03:00
950e708cc9 fix(all): node.js rollback due to Azure. 2020-11-08 16:11:23 -03:00
Rodrigo
dbe2bc4d0a chore(release): 2.0.28 [skip ci]
## [2.0.28](https://github.com/pragmatismo-io/BotServer/compare/2.0.27...2.0.28) (2020-11-08)

### Bug Fixes

* **core.gbapp:** New keywords and Loops. ([8693511](869351113e))
2020-11-08 16:43:14 +00:00
17a5a9237e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-08 13:39:25 -03:00
fa4f49266e fix(core.gbapp): New keywords and Loops. 2020-11-08 13:39:18 -03:00
Rodrigo
646e3fb168 chore(release): 2.0.27 [skip ci]
## [2.0.27](https://github.com/pragmatismo-io/BotServer/compare/2.0.26...2.0.27) (2020-11-06)

### Bug Fixes

* **core.gbapp:** Any question can be forwarded to .docx dialogs. ([4f3ada1](4f3ada1902))
2020-11-06 20:11:10 +00:00
b03de58bc0 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-06 17:06:52 -03:00
242430b9a6 fix(core.gbapp): Any question can be forwarded to .docx dialogs. 2020-11-06 17:06:22 -03:00
Rodrigo
6a00790617 chore(release): 2.0.26 [skip ci]
## [2.0.26](https://github.com/pragmatismo-io/BotServer/compare/2.0.25...2.0.26) (2020-11-06)

### Bug Fixes

* **core.gbapp:** Fix GET/SET in .gbdialog. ([8842bf7](8842bf7e4f))
2020-11-06 18:28:02 +00:00
126a6cf8a0 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-11-06 15:24:03 -03:00
6f44303d98 fix(core.gbapp): Fix GET/SET in .gbdialog. 2020-11-06 15:23:56 -03:00
Rodrigo
fa43af005c chore(release): 2.0.25 [skip ci]
## [2.0.25](https://github.com/pragmatismo-io/BotServer/compare/2.0.24...2.0.25) (2020-10-30)

### Bug Fixes

* **all:** Remove HTML from Input. ([03161da](03161dad88))
2020-10-30 16:08:54 +00:00
00ec1d8bb2 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-30 13:04:49 -03:00
f976506767 fix(all): Remove HTML from Input. 2020-10-30 13:04:46 -03:00
Rodrigo
bbdb613f18 chore(release): 2.0.24 [skip ci]
## [2.0.24](https://github.com/pragmatismo-io/BotServer/compare/2.0.23...2.0.24) (2020-10-30)

### Bug Fixes

* **all:** Strip all HTML from Bot Input. ([dceb0fd](dceb0fd1c1))
2020-10-30 15:58:03 +00:00
5d82ca8a56 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-30 12:54:12 -03:00
9a81162f79 fix(all): Strip all HTML from Bot Input. 2020-10-30 12:54:07 -03:00
Rodrigo
d0aa01c3c6 chore(release): 2.0.23 [skip ci]
## [2.0.23](https://github.com/pragmatismo-io/BotServer/compare/2.0.22...2.0.23) (2020-10-30)

### Bug Fixes

* **core.gbapp:** Remove HTML from input. ([85df283](85df283005))
2020-10-30 15:47:42 +00:00
99663392e5 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-30 12:43:36 -03:00
945be5f60f fix(core.gbapp): Remove HTML from input. 2020-10-30 12:43:32 -03:00
Rodrigo
bc2d817417 chore(release): 2.0.22 [skip ci]
## [2.0.22](https://github.com/pragmatismo-io/BotServer/compare/2.0.21...2.0.22) (2020-10-30)

### Bug Fixes

* **all:** Spelled now received first letter in uppercase. ([b1359bb](b1359bbf09))
2020-10-30 14:34:02 +00:00
03114176bf Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-30 11:30:08 -03:00
da8d221286 fix(all): Spelled now received first letter in uppercase. 2020-10-30 11:30:03 -03:00
Rodrigo
0a89c42979 chore(release): 2.0.21 [skip ci]
## [2.0.21](https://github.com/pragmatismo-io/BotServer/compare/2.0.20...2.0.21) (2020-10-30)

### Bug Fixes

* **kb.gbapp:** Spelling set before translation. ([bfbbf69](bfbbf69690))
2020-10-30 13:12:50 +00:00
512ab1abf1 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-30 10:09:04 -03:00
4353a39bd0 fix(kb.gbapp): Spelling set before translation. 2020-10-30 10:08:59 -03:00
Rodrigo
d77166c913 chore(release): 2.0.20 [skip ci]
## [2.0.20](https://github.com/pragmatismo-io/BotServer/compare/2.0.19...2.0.20) (2020-10-30)

### Bug Fixes

* **kb.gbapp:** Adjustments in .gbkb engine. ([4927959](4927959a5c))
2020-10-30 11:40:00 +00:00
538db6a953 fix(kb.gbapp): Adjustments in .gbkb engine. 2020-10-30 08:36:15 -03:00
Rodrigo
7ebd5b6b2a chore(release): 2.0.19 [skip ci]
## [2.0.19](https://github.com/pragmatismo-io/BotServer/compare/2.0.18...2.0.19) (2020-10-27)

### Bug Fixes

* **core.gbapp:** Logging improvements. ([b2159b0](b2159b0030))
2020-10-27 18:11:55 +00:00
b587832137 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-27 15:08:08 -03:00
bdda8064f3 fix(core.gbapp): Logging improvements. 2020-10-27 15:08:03 -03:00
Rodrigo
23b3a39c41 chore(release): 2.0.18 [skip ci]
## [2.0.18](https://github.com/pragmatismo-io/BotServer/compare/2.0.17...2.0.18) (2020-10-27)

### Bug Fixes

* **core.gbapp:** Auto-publish fixed. ([398b95d](398b95d148))
2020-10-27 15:38:50 +00:00
d129065912 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-27 12:34:58 -03:00
34f059623b fix(core.gbapp): Auto-publish fixed. 2020-10-27 12:34:46 -03:00
Rodrigo
ef6125056c chore(release): 2.0.17 [skip ci]
## [2.0.17](https://github.com/pragmatismo-io/BotServer/compare/2.0.16...2.0.17) (2020-10-26)

### Bug Fixes

* **all:** Bug fix in startup on a blank environment. ([7a2232e](7a2232efe4))
2020-10-26 23:22:55 +00:00
3414c8825e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-26 20:18:44 -03:00
7ca1d4bcba fix(all): Bug fix in startup on a blank environment. 2020-10-26 20:18:38 -03:00
Rodrigo
3aa80253b8 chore(release): 2.0.16 [skip ci]
## [2.0.16](https://github.com/pragmatismo-io/BotServer/compare/2.0.15...2.0.16) (2020-10-24)

### Bug Fixes

* **core.gbapp:** .gbot download from tabular is now OK. ([a7fce94](a7fce94545))
2020-10-24 22:00:48 +00:00
4045a8af50 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-24 18:57:00 -03:00
c264938bf3 fix(core.gbapp): .gbot download from tabular is now OK. 2020-10-24 18:56:55 -03:00
Rodrigo
5364ad794a chore(release): 2.0.15 [skip ci]
## [2.0.15](https://github.com/pragmatismo-io/BotServer/compare/2.0.14...2.0.15) (2020-10-24)

### Bug Fixes

* **all:** Debugging of .gbapp allowed when launch.json is tailored on outFiles .gbapp dist files. ([201b8c7](201b8c7dac))
2020-10-24 15:40:39 +00:00
0b4cca89f6 fix(all): Debugging of .gbapp allowed when launch.json is tailored on outFiles .gbapp dist files. 2020-10-24 12:36:56 -03:00
Rodrigo
118f293d03 chore(release): 2.0.14 [skip ci]
## [2.0.14](https://github.com/pragmatismo-io/BotServer/compare/2.0.13...2.0.14) (2020-10-23)

### Bug Fixes

* **core.gbapp:** NLP composing now is partially automated. ([0aca385](0aca3853d6))
2020-10-23 12:59:54 +00:00
37562315fc new(core.gbapp): Entity extraction tested and startu optmizations. 2020-10-23 09:55:44 -03:00
f04f3c6147 fix(core.gbapp): NLP composing now is partially automated. 2020-10-22 21:46:55 -03:00
Rodrigo
2c63884e26 chore(release): 2.0.13 [skip ci]
## [2.0.13](https://github.com/pragmatismo-io/BotServer/compare/2.0.12...2.0.13) (2020-10-21)

### Bug Fixes

* **core.gbapp:** Field active is now being filled at instance creation. ([aee2c17](aee2c17d4c))
2020-10-21 16:46:33 +00:00
beca5622a5 fix(core.gbapp): Field active is now being filled at instance creation. 2020-10-21 13:42:48 -03:00
ed2b1ba4c5 new(core.gbapp): New line member on object returned from FIND keyword. 2020-10-20 10:44:47 -03:00
50d022c4a5 new(core.gbapp): More NLP automation. 2020-10-18 21:28:19 -03:00
90af111983 new(core.gbapp): NLP automation for entities. 2020-10-18 17:46:16 -03:00
97db18b21a Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-18 13:25:03 -03:00
599dd0d4bf new(core.gbapp): Broadcast for msteams available. 2020-10-18 13:24:19 -03:00
Rodrigo
e309d0108b chore(release): 2.0.12 [skip ci]
## [2.0.12](https://github.com/pragmatismo-io/BotServer/compare/2.0.11...2.0.12) (2020-10-18)

### Bug Fixes

* **admin.gbapp:** AccessToken MSFT has changed. ([c36939e](c36939e221))
2020-10-18 02:07:30 +00:00
a6ab3aace3 new(admin.gbapp): custom .gbapp /publish commands. 2020-10-17 23:03:27 -03:00
ded9ce9f99 fix(admin.gbapp): AccessToken MSFT has changed. 2020-10-17 17:34:16 -03:00
3f29d84008 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-14 14:04:06 -03:00
09bdeb9df9 new(all): New transfer keyword. 2020-10-14 14:04:02 -03:00
Rodrigo
754bea3519 chore(release): 2.0.11 [skip ci]
## [2.0.11](https://github.com/pragmatismo-io/BotServer/compare/2.0.10...2.0.11) (2020-10-14)

### Bug Fixes

* **all:** sendFile working after path fix. ([2c901f4](2c901f451b))
2020-10-14 16:47:57 +00:00
54b55a4c55 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-14 13:44:02 -03:00
0d0dff5d18 fix(all): sendFile working after path fix. 2020-10-14 13:43:58 -03:00
Rodrigo
94a000e3b3 chore(release): 2.0.10 [skip ci]
## [2.0.10](https://github.com/pragmatismo-io/BotServer/compare/2.0.9...2.0.10) (2020-10-08)

### Bug Fixes

* **azuredeployer.gbapp:** NLP automation fixes. ([99633fe](99633fe59d))
2020-10-08 14:55:20 +00:00
42f7142b64 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-10-08 11:51:50 -03:00
1f77b84d32 fix(azuredeployer.gbapp): NLP automation fixes. 2020-10-08 11:51:45 -03:00
6a5f46827f new(azuredeployer.gbapp): NLP automation for entities. 2020-10-08 11:51:02 -03:00
ebbda40e5d Update CODE_OF_CONDUCT.md 2020-10-08 11:39:48 -03:00
6020a4c7c5 Update README.md 2020-09-22 11:52:03 -03:00
Rodrigo
0bc48931bc chore(release): 2.0.9 [skip ci]
## [2.0.9](https://github.com/pragmatismo-io/BotServer/compare/2.0.8...2.0.9) (2020-09-21)

### Bug Fixes

* **core.gbapp:** Dynamic services from .gbapps. ([c01430f](c01430f0f3))
2020-09-21 03:32:39 +00:00
e672216912 fix(core.gbapp): Dynamic services from .gbapps. 2020-09-21 00:28:06 -03:00
1aecbe394b new(core.gbapp): Improvements on conversation instrumentation. 2020-09-20 14:39:06 -03:00
43b140d5d5 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-09-20 12:06:59 -03:00
d6aae1a983 new(admin.gbapp): New /install command. 2020-09-20 12:05:24 -03:00
Rodrigo
f706d39925 chore(release): 2.0.8 [skip ci]
## [2.0.8](https://github.com/pragmatismo-io/BotServer/compare/2.0.7...2.0.8) (2020-09-20)

### Bug Fixes

* **core.gbapp:** Instance loading fix and external url for images. ([aa976ae](aa976aeb8c))
2020-09-20 01:01:01 +00:00
55ef1e5d4e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-09-19 21:57:07 -03:00
4c84d63116 fix(core.gbapp): Instance loading fix and external url for images. 2020-09-19 21:57:00 -03:00
446c578eb4 Update README.md 2020-09-15 14:59:27 -03:00
f9d59d6004 Update README.md 2020-09-15 14:32:34 -03:00
Rodrigo
92e4e0c4aa chore(release): 2.0.7 [skip ci]
## [2.0.7](https://github.com/pragmatismo-io/BotServer/compare/2.0.6...2.0.7) (2020-08-29)

### Bug Fixes

* **core.gbapp:** Context in VM is isolated now. ([42a7074](42a7074081))
2020-08-29 18:06:22 +00:00
4417212914 Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-08-29 15:02:23 -03:00
25a131120e fix(core.gbapp): Context in VM is isolated now. 2020-08-29 15:02:19 -03:00
Rodrigo
b07e92b8e0 chore(release): 2.0.6 [skip ci]
## [2.0.6](https://github.com/pragmatismo-io/BotServer/compare/2.0.5...2.0.6) (2020-08-26)

### Bug Fixes

* **kb.gbapp:** Importing improved. ([4cb9d5b](4cb9d5b906))
2020-08-26 21:00:53 +00:00
17f94a2597 fix(kb.gbapp): Importing improved. 2020-08-26 17:50:42 -03:00
7df2e6ce0e Merge branch 'master' of https://github.com/GeneralBots/BotServer into master 2020-08-22 18:41:59 -03:00
30bfdbb542 new(core.gbapp): Param ENABLE_PARAMS_ONLINE added. 2020-08-22 18:41:54 -03:00
Rodrigo
f291f43af8 chore(release): 2.0.5 [skip ci]
## [2.0.5](https://github.com/pragmatismo-io/BotServer/compare/2.0.4...2.0.5) (2020-08-19)

### Bug Fixes

* **all:** Code cleanup. ([8db0505](8db05053d5))
2020-08-19 16:10:06 +00:00
e991ab7074 fix(all): Code cleanup. 2020-08-19 13:00:21 -03:00
9db881ce09 new(core.gbapp): GET and SET new keywords for storing values in .gbdialog BASIC. 2020-08-15 12:18:03 -03:00
e3cfa00e1a new(core.gbapp): GET/POST for .gbdialog. 2020-08-15 11:39:43 -03:00
bfc146c8ac new(core.gbapp): Watson support, GET/POST in .gbdialog. 2020-08-15 11:39:00 -03:00
de3dee2cbf new(core.gbapp): Added support for STT (IBM Watson). 2020-08-07 18:36:42 -03:00
3550b1d0f2 new(security.gbapp): User profile dialog added. 2020-08-06 10:58:08 -03:00
0972c5d19d Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-07-26 16:46:47 -03:00
129a27bd85 new(all): Profile dialog for editing user information. 2020-07-26 16:46:37 -03:00
3579094513 new(security.gbapp): New profile editor. 2020-07-26 16:45:11 -03:00
Rodrigo
93122897ee chore(release): 2.0.4 [skip ci]
## [2.0.4](https://github.com/pragmatismo-io/BotServer/compare/2.0.3...2.0.4) (2020-07-20)

### Bug Fixes

* **core.gbapp:** .gbapp now can be debugged within .ts files. ([10990e6](10990e601c))
2020-07-20 19:43:26 +00:00
ebe12b5aee Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-07-20 16:39:23 -03:00
c812210a19 fix(core.gbapp): .gbapp now can be debugged within .ts files. 2020-07-20 16:38:29 -03:00
Rodrigo
db17f369f1 chore(release): 2.0.3 [skip ci]
## [2.0.3](https://github.com/pragmatismo-io/BotServer/compare/2.0.2...2.0.3) (2020-07-19)

### Bug Fixes

* **core.gbapp:** Database changes and fix in .gblib load. ([4ba3db7](4ba3db79de))
2020-07-19 10:22:46 +00:00
2148472e94 fix(core.gbapp): Database changes and fix in .gblib load. 2020-07-19 07:18:51 -03:00
2a35a2df39 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-07-18 16:39:48 -03:00
8dbb502df5 new(core.gbapp): /publish now can be used with .gbapp custom procedures. 2020-07-18 16:38:58 -03:00
Rodrigo
c142755ca3 chore(release): 2.0.2 [skip ci]
## [2.0.2](https://github.com/pragmatismo-io/BotServer/compare/2.0.1...2.0.2) (2020-07-17)

### Bug Fixes

* **all:** Code formatting. ([eaef7e4](eaef7e49c0))
2020-07-17 22:44:32 +00:00
b4da627b7b Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-07-17 19:40:39 -03:00
fc37dc6f3f fix(all): Code formatting. 2020-07-17 19:39:27 -03:00
Rodrigo
137924005a chore(release): 2.0.1 [skip ci]
## [2.0.1](https://github.com/pragmatismo-io/BotServer/compare/2.0.0...2.0.1) (2020-07-17)

### Bug Fixes

* **core.gbapp:** Fixed translator bug. ([0accd05](0accd05b49))
2020-07-17 13:44:00 +00:00
7c2e73c9ce Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-07-17 10:40:02 -03:00
35d2857d7d fix(core.gbapp): Fixed translator bug. 2020-07-17 10:39:54 -03:00
Rodrigo
40315682bf chore(release): 2.0.0 [skip ci]
# [2.0.0](https://github.com/pragmatismo-io/BotServer/compare/1.7.6...2.0.0) (2020-07-12)

### Bug Fixes

* **admin.gbapp:** /publish can be called with no CUI. ([a469d6d](a469d6da6a))
* **admin.gbapp:** Methods implemented again according to the interface. ([17122c7](17122c79a1))
* **all:**  semantic-release fixed. ([67279e2](67279e21aa))
* **all:** CI fix. ([448786a](448786ab37))
* **all:** CI Fix. ([3890460](3890460544))
* **all:** CI fixing. ([8537bc1](8537bc190a))
* **all:** package-lock.json fix. ([651f795](651f7953bd))
* **all): Header for prfix(all:** Header for pragmatismo fixed. ([79cca15](79cca15695))
* **analytics.gblib:** Fixes in database storage. ([22f4250](22f4250831))
* **azuredeployer:** BotExists logic fixed. ([8eff335](8eff335e34))
* **azuredeployer.gbapp:** Fix in wheather bot exists on Azure. ([13fdc5a](13fdc5a3ff))
* **core.gbapp:** /publish command fixed. ([7bc83b8](7bc83b8b60))
* **core.gbapp:** Adjustments to MSGraph. ([9968ff6](9968ff6be6))
* **core.gbapp:** Admin protected again, additional checks and adjustments. ([efea36f](efea36f1cc))
* **core.gbapp:** BASIC and KB improvements. ([1bf23cf](1bf23cf4e4))
* **core.gbapp:** BASIC fixed on WhatsApp channel. ([1d316ef](1d316ef83b))
* **core.gbapp:** Better logging and WhatsApp channel detection fix. ([821842c](821842c317))
* **core.gbapp:** Bot creation can be fully automated after MSFT finished their issues. ([f5e0835](f5e0835cc3))
* **core.gbapp:** Check for bot before creation process. ([094eb0f](094eb0f234))
* **core.gbapp:** Check of previous bot name before creation. ([0d3bea8](0d3bea80e0))
* **core.gbapp:** Custom boot dialog only available to boot bot. ([e1ad711](e1ad711904))
* **core.gbapp:** Custom boot dialog only available to boot bot. ([3512335](3512335e5e))
* **core.gbapp:** Custom boot dialog only available to boot bot. ([946a66b](946a66b692))
* **core.gbapp:** Entire Web stack is optional now. ([9652fcd](9652fcdb0b))
* **core.gbapp:** Faster bot creation, fix on WhatsApp switcher. ([8c68332](8c68332802))
* **core.gbapp:** Fix in Bot Analytics. ([ca2de56](ca2de56b06))
* **core.gbapp:** Fix in deploy. ([6a2556e](6a2556e65b))
* **core.gbapp:** Fix in deploy. ([9d5d754](9d5d754d92))
* **core.gbapp:** Fix in deploy. ([c6d3086](c6d3086fa0))
* **core.gbapp:** Fix in startup code in blank. ([2f3756d](2f3756d0d7))
* **core.gbapp:** Fix in undeploy and markdown processsing. ([b477c46](b477c46d9c))
* **core.gbapp:** Fix on .gbdata default reference. ([54ef60b](54ef60b4af))
* **core.gbapp:** GB Apps can now publish bots and replace root web application. ([eed995e](eed995e460))
* **core.gbapp:** GB Apps can now publish bots and replace root web application. ([675c851](675c8511cb))
* **core.gbapp:** Healthly status fixed for WhatsApp. ([7fbb4cc](7fbb4ccc52))
* **core.gbapp:** New async interfaces for .gbapps. ([35ff62f](35ff62ff48))
* **core.gbapp:** New async interfaces for .gbapps. ([5ff38a4](5ff38a4bd3))
* **core.gbapp:** ngrok fixed and startup log improved. ([7b878a3](7b878a3311))
* **core.gbapp:** No more empty tests; reference errors fixed. ([b6e3611](b6e3611636))
* **core.gbapp:** Now converter will not halt server execution. ([41b7837](41b783775c))
* **core.gbapp:** Operator fixed. ([0b55ad8](0b55ad8b7a))
* **core.gbapp:** Optimization of BASIC loading. ([b268882](b268882225))
* **core.gbapp:** Refactoring in MD and Admin Commands. ([3c717c3](3c717c3f0c))
* **core.gbapp:** Refactoring in MD fix in disabling auto-compiling of .gbapps. ([1b8e6be](1b8e6bec1a))
* **core.gbapp:** Refactoring in MD fix in disabling auto-compiling of .gbapps. ([d9857b9](d9857b9880))
* **core.gbapp:** Refactoring in MD fix in disabling auto-compiling of .gbapps. ([ade960a](ade960ac3e))
* **core.gbapp:** Refactoring in MD fix in disabling auto-compiling of .gbapps. ([ab5d507](ab5d507989))
* **core.gbapp:** Removal of invalid file. ([c6b1997](c6b1997a46))
* **core.gbapp:** Review of async calls, specially on collection loops. ([5d6dacc](5d6dacc910))
* **core.gbapp:** Security enhancements and fixes. ([c51ff7a](c51ff7a78f))
* **core.gbapp:** Several fixes and translator swicher. ([cca1488](cca148818e))
* **core.gbapp:** Switch of bots working by activationCode. ([7b84ee1](7b84ee112d))
* **core.gbapp:** Translator is working with correct backend URL. ([7f3c9fa](7f3c9fa223))
* **core.gbapp:** Translator now can be switched off by using Excel. ([ad1bea1](ad1bea141d))
* **core.gbapp:** Updating package versions. ([597a3bc](597a3bceb9))
* **core.gbapp:** Updating package versions. ([70883b0](70883b024c))
* **core.gbapp:** Use of BOT_URL instead of relying on AZ. ([9e15b03](9e15b03d04))
* **core.gbapp:** WebChat now can be made private. ([99b5a4a](99b5a4a2e9))
* **customer-satisfaction.gbapp:** Improvements on answer. ([db85582](db8558254f))
* **default.gbui:** Logo now showing in any screen. ([288aea8](288aea86ba))
* **default.gbui:** Temp. rem. of fingerprint2 lib. ([414f29c](414f29c1d2))
* **kb.gbapp:** Content plain text to other channels when no projector is avilable. ([283e596](283e596c80))
* **kb.gbapp:** MSFT Translator will not break MD. ([6523134](6523134826))
* **kb.gbapp:** New params from root bot. ([f3a32d0](f3a32d04b4))
* **kb.gbapp:** Search score now is derived from root. ([b68adc3](b68adc3627))
* **whatsapp.gbapp:** Shared root instance with others. ([fee1528](fee152848e))
* **whatsapp.gblib:** await fix. ([4addca4](4addca4dc1))
* **whatsapp.gblib:** await fix. ([5015fb1](5015fb15fb))
* **whatsapp.gblib:** Fix in sendFile. ([c36640e](c36640e519))
* **whatsapp.gblib:** Fix of missing mobile number. ([6306274](6306274db9))
* **whatsapp.gblib:** Fixed symbol erros and added timeout to WhatsApp initialization. ([895fc57](895fc57097))
* **whatsapp.gblib:** Improved error message. ([1ec645f](1ec645f148))
* **whatsapp.gblib:** Improved multibot behavior sharing Whatsapp config. ([fc49707](fc4970760a))
* **whatsapp.gblib:** Send file now working again. ([3abe85c](3abe85ca30))
* **whatsapp.gblib:** Speech is now full duplex. ([6442ebf](6442ebf983))
* **whatsapp.gblib:** Transfer bug fix. ([ed15c85](ed15c856c5))
2020-07-12 17:05:49 +00:00
4a5093753a fix(all): CI Fix. 2020-07-12 10:42:19 -03:00
8ff53a1238 fix(all): CI fixing. 2020-07-12 10:13:54 -03:00
f0c730f777 fix(all): semantic-release fixed. 2020-07-11 12:48:54 -03:00
119dfc11a8 fix(all): CI fix. 2020-07-11 12:10:06 -03:00
0dc2095542 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-07-11 11:41:05 -03:00
92c6e3a289 fix(all): package-lock.json fix. 2020-07-11 11:41:00 -03:00
6ae7f9d807 Update README.md 2020-07-11 11:28:23 -03:00
dd60e78d7d new(core.gbapp): New keywords USERNAME MOBILE. 2020-07-07 10:15:39 -03:00
2bd0550a75 new(core.gbapp): Refactorings. 2020-07-04 16:32:44 -03:00
4d49479e42 new(core.gbapp): handleAnswer exchange with gbapps. 2020-07-03 14:35:42 -03:00
d4211eda93 fix(all): Header for prfix(all): Header for pragmatismo fixed. 2020-07-01 15:00:40 -03:00
0b91229fb4 fix(azuredeployer): BotExists logic fixed. 2020-06-19 11:57:43 -03:00
6886c9c6e6 fix(azuredeployer.gbapp): Fix in wheather bot exists on Azure. 2020-06-15 13:45:29 -03:00
ac9b10fd6c fix(core.gbapp): Faster bot creation, fix on WhatsApp switcher. 2020-06-15 00:40:25 -03:00
6565d03557 fix(core.gbapp): Several fixes and translator swicher. 2020-06-14 21:40:41 -03:00
664e66234d new(admin.gbapp): Publish command will publish every package type. 2020-06-14 18:06:29 -03:00
b98c1d736e new(core.gbapp): New appPackages in min. 2020-06-12 15:55:18 -03:00
398c7f216c fix(core.gbapp): Check of previous bot name before creation. 2020-06-11 09:47:59 -03:00
fc2fce7b00 fix(whatsapp.gblib): Fix of missing mobile number. 2020-06-05 16:09:47 -03:00
46d4cde2a1 fix(core.gbapp): BASIC fixed on WhatsApp channel. 2020-06-05 14:40:21 -03:00
046958dbf6 fix(whatsapp.gblib): Fix in sendFile. 2020-06-04 21:00:53 -03:00
f32549a4d1 fix(core.gbapp): Translator now can be switched off by using Excel. 2020-06-04 20:14:02 -03:00
ba0e4e5d0a fix(kb.gbapp): MSFT Translator will not break MD. 2020-06-04 18:31:53 -03:00
02e75f1b48 fix(core.gbapp): Fix in Bot Analytics. 2020-06-04 16:18:02 -03:00
859c60f419 fix(core.gbapp): Optimization of BASIC loading. 2020-06-04 13:44:02 -03:00
ddbf6aa9bd fix(core.gbapp): Switch of bots working by activationCode. 2020-06-04 00:05:53 -03:00
3a187e74d8 fix(kb.gbapp): Search score now is derived from root. 2020-06-03 22:15:24 -03:00
d018e6e3bd fix(core.gbapp): Fix on .gbdata default reference. 2020-06-03 21:42:17 -03:00
3756176339 fix(core.gbapp): BASIC and KB improvements. 2020-06-03 21:31:00 -03:00
29c70ea512 fix(kb.gbapp): New params from root bot. 2020-06-03 16:43:35 -03:00
fb7c0b493f fix(core.gbapp): Translator is working with correct backend URL. 2020-05-30 19:30:11 -03:00
71c7a9bd0f fix(whatsapp.gblib): Improved error message. 2020-05-28 09:40:53 -03:00
3bdb0beb9a new(core.gbapp): Due to MSFT issue https://github.com/microsoft/cognitive-services-speech-sdk-js/issues/92 disabling AUDIO. 2020-05-27 23:01:44 -03:00
f65fac1a6a fix(whatsapp.gblib): Send file now working again. 2020-05-25 17:59:02 -03:00
13d3fba5c9 fix(core.gbapp): Better logging and WhatsApp channel detection fix. 2020-05-25 14:53:28 -03:00
509d577f3b new(admin.gbapp): /publish from Web or WhatsApp with associated auth. 2020-05-24 17:06:05 -03:00
e959777893 fix(admin.gbapp): /publish can be called with no CUI. 2020-05-23 19:58:38 -03:00
1402597beb all(fix): New Botlib version updated. 2020-05-23 18:49:34 -03:00
45d3480787 fix(core.gbapp): Removal of invalid file. 2020-05-23 18:35:20 -03:00
82c4c65022 new(core.gbapp): New OnExchangeData flexible interface and /publish fixing. 2020-05-23 17:59:01 -03:00
1805f91ba4 fix(core.gbapp): /publish command fixed. 2020-05-23 11:10:06 -03:00
16d75b0c2b new(admin.gbapp): Publish dialog. 2020-05-19 14:59:07 -03:00
562d569dab new(core.gbapp): New activationCode for multiple bot activation on the same channel. 2020-05-19 12:36:17 -03:00
Rodrigo Rodriguez
fbd6a98680 new(core.gbapp): TRANSLATOR_DISABLED added to .env before migrating to .gbot. 2020-05-18 01:03:42 +00:00
Rodrigo Rodriguez
f5a437761b new(Whatsapp.gblib): Now agents will be translated into user language before send text. 2020-05-17 22:36:00 +00:00
Rodrigo Rodriguez
2a2168d979 new(all): Package version update. 2020-05-17 21:42:31 +00:00
Rodrigo Rodriguez
7ccac50c57 Merge branch 'master' of https://github.com/GeneralBots/BotServer
# Conflicts:
#	packages/core.gbapp/services/GBMinService.ts
2020-05-17 21:36:30 +00:00
Rodrigo Rodriguez
7c32960cca new(core.gbapp): New bot to any language according to the user language. 2020-05-17 21:30:21 +00:00
Rodrigo Rodriguez
aa090f1c99 new(core.gbapp): Translator on input text available to any language. 2020-05-17 19:05:18 +00:00
4e50ad187f fix(whatsapp.gblib): Transfer bug fix. 2020-05-16 16:40:44 -03:00
3de878f221 new(core.gbapp): FIND BASIC keyword is now much more faster. 2020-05-15 14:07:30 -03:00
5463e0d05c new(core.gbapp): FIND keyword tested on MSExcel. 2020-05-14 17:16:27 -03:00
43f2f9fd13 fix(core.gbapp): Adjustments to MSGraph. 2020-05-14 13:13:18 -03:00
c452623e5f new(core.gbapp): New FIND keyword for General Bots BASIC. 2020-05-14 12:48:36 -03:00
c59712a7ad new(core.gbapp): New FIND in GB Basic keyword in development. 2020-05-14 12:47:46 -03:00
cf9509fabd new(core.gbapp): Packaging of all types loaded from SharePoint. 2020-05-14 12:46:57 -03:00
6c635bd506 fix(core.gbapp): Healthly status fixed for WhatsApp. 2020-05-12 19:41:51 -03:00
0fdb06171e new(core.gbapp): Healthly status for bots. 2020-05-12 19:20:59 -03:00
bbe0377f91 fix(admin.gbapp): Methods implemented again according to the interface. 2020-05-12 09:09:15 -03:00
83bf5cd969 new(admin.gbapp): New command /publish unifing undeployPackage and deployPackage. 2020-05-12 09:06:47 -03:00
1f30733744 new(core.gbapp):New BASIC keywords and saving to MSExcel. 2020-05-11 10:46:01 -03:00
60bf1f061d Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-05-11 10:41:48 -03:00
89c45e97aa new(core.gbapp): BASIC new keywords and saving to MSExcel. 2020-05-11 10:41:41 -03:00
Rodrigo Rodriguez
5792b958e0 fix(whatsapp.gblib): Fixed symbol erros and added timeout to WhatsApp initialization. 2020-05-06 14:12:47 +00:00
983143339d new(whatsapp.gblib): Transfer to human implemented. 2020-05-02 21:28:13 -03:00
b3b580873b Merge branch 'master' of https://github.com/GeneralBots/BotServer
# Conflicts:
#	package.json
2020-04-30 21:17:11 -03:00
9b538594fe fix(whatsapp.gblib): Speech is now full duplex. 2020-04-30 21:14:22 -03:00
14b14d761f Update package.json 2020-04-30 09:59:14 -03:00
ed29de6039 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-04-30 09:14:44 -03:00
7197884253 new(all): TTS/STT on Whatsapp channel. 2020-04-30 09:14:32 -03:00
7ffb537eac Update package.json 2020-04-28 21:49:33 -03:00
06c0d4658b Update package.json 2020-04-28 21:45:58 -03:00
156592326a Update package.json 2020-04-28 21:43:32 -03:00
6f49e0b5bc new(all): TTS/STT on Whatsapp channel. 2020-04-28 20:54:04 -03:00
bb072184dc fix(core.gbapp): ngrok fixed and startup log improved. 2020-04-20 21:35:50 -03:00
PH
d230e91540 Fix(core.gbapp): Package folder does not to be in work folder while undeploy. 2020-04-19 13:04:38 -03:00
a7b5708b06 fix(core.gbapp): Updating package versions. 2020-04-15 21:16:39 -03:00
6f5bed0a09 fix(core.gbapp): Updating package versions. 2020-04-15 21:14:20 -03:00
dc87d0fe9a fix(core.gbapp): Check for bot before creation process. 2020-04-15 20:56:28 -03:00
b4e22b8ff9 fix(core.gbapp): Now converter will not halt server execution. 2020-04-15 05:08:50 +00:00
0a440b98b9 fix(whatsapp.gblib): Improved multibot behavior sharing Whatsapp config. 2020-04-15 01:42:54 +00:00
eb7864b7af Merge branch 'master' of https://github.com/GeneralBots/BotServer
# Conflicts:
#	package-lock.json
2020-04-14 23:39:31 +00:00
5c4686ec53 fix(core.gbapp): New async interfaces for .gbapps. 2020-04-14 23:38:53 +00:00
31d4ac2683 fix(whatsapp.gbapp): Shared root instance with others. 2020-04-14 19:33:24 -03:00
987e7f4ff1 fix(core.gbapp): New async interfaces for .gbapps. 2020-04-13 19:14:55 -03:00
97d026f871 fix(whatsapp.gblib): await fix.
Merge branch 'master' of https://github.com/GeneralBots/BotServer

# Conflicts:
#	packages/whatsapp.gblib/index.ts
2020-04-08 21:35:02 -03:00
3f2d16e9c0 fix(whatsapp.gblib): await fix. 2020-04-08 21:33:27 -03:00
156f289737 fix(core.gbapp): Fix in deploy. 2020-04-03 10:11:36 -03:00
1ffd141fa8 fix(core.gbapp): Fix in deploy. 2020-04-03 09:58:14 -03:00
3fb913a9a7 fix(core.gbapp): Fix in deploy. 2020-04-03 09:46:13 -03:00
f657842271 fix(core.gbapp): Fix in undeploy and markdown processsing. 2020-04-03 02:50:33 -03:00
aadd914f44 new(core.gbapp): New param for disabling welcome messages. 2020-04-03 00:17:21 -03:00
27d2643f39 fix(core.gbapp): Use of BOT_URL instead of relying on AZ. 2020-04-02 23:52:59 -03:00
55cc98215a Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-04-02 22:24:08 -03:00
34ae7587e6 fix(core.gbapp): Entire Web stack is optional now. 2020-04-02 22:24:00 -03:00
e2e0d23704 fix(core.gbapp): Operator fixed. 2020-04-02 22:02:50 -03:00
e2d570cc3f fix(core.gbapp): No more empty tests; reference errors fixed. 2020-04-02 21:24:58 -03:00
0cf11d00af fix(core.gbapp): Fix in startup code in blank. 2020-04-02 21:07:23 -03:00
2100a206c0 fix(core.gbapp):Fix in tabular blank lines and other fixes. 2020-04-02 19:03:57 -03:00
eabf7de788 fix(core.gbapp): Refactoring in MD and Admin Commands. 2020-04-01 15:42:57 -03:00
6d3b35cb1f fix(core.gbapp): Refactoring in MD fix in disabling auto-compiling of .gbapps. 2020-03-31 19:41:33 -03:00
e5b05edf08 fix(core.gbapp): Refactoring in MD fix in disabling auto-compiling of .gbapps. 2020-03-31 09:11:04 -03:00
7f3264af1f fix(core.gbapp): Refactoring in MD fix in disabling auto-compiling of .gbapps. 2020-03-30 19:34:44 -03:00
a9e166f398 fix(core.gbapp): Refactoring in MD fix in disabling auto-compiling of .gbapps. 2020-03-30 14:03:12 -03:00
f8bb5e9884 fix(core.gbapp): Custom boot dialog only available to boot bot. 2020-03-09 16:30:12 -03:00
3611c188d1 fix(core.gbapp): Custom boot dialog only available to boot bot. 2020-03-09 16:29:38 -03:00
27ed55cbdd fix(core.gbapp): Custom boot dialog only available to boot bot. 2020-03-09 14:19:17 -03:00
923f834b0c fix(core.gbapp): Admin protected again, additional checks and adjustments. 2020-03-08 09:24:28 -03:00
0680141e8a fix(core.gbapp): Bot creation can be fully automated after MSFT finished their issues. 2020-02-27 20:49:05 -03:00
e813d95d46 new(core.gbapp): GB Apps can now publish bots and replace root dialog. 2020-02-26 15:20:47 -03:00
60f5fb8d22 fix(core.gbapp): GB Apps can now publish bots and replace root web application. 2020-02-25 12:37:10 -03:00
5820db5fe7 fix(core.gbapp): GB Apps can now publish bots and replace root web application. 2020-02-25 10:13:38 -03:00
6353dcea6d fix(kb.gbapp): Content plain text to other channels when no projector is avilable. 2020-02-03 10:52:47 -03:00
19b087d406 fix(customer-satisfaction.gbapp): Improvements on answer. 2020-01-29 10:48:51 -03:00
44dae20f84 fix(default.gbui): Temp. rem. of fingerprint2 lib. 2020-01-27 19:55:57 -03:00
e086263be7 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-01-27 16:19:24 -03:00
67b13283c3 fix(analytics.gblib): Fixes in database storage. 2020-01-27 16:19:09 -03:00
9bdd8fb358 Update README.md 2020-01-26 17:52:38 -03:00
b033f9e1fc fix(core.gbapp): Review of async calls, specially on collection loops. 2020-01-26 17:43:50 -03:00
674d2d668e new(customer-satisfaction.gbapp): basic bad word handler added 2020-01-26 15:27:17 -03:00
7d16b1b3fc Merge branch 'master' of https://github.com/GeneralBots/BotServer 2020-01-26 14:51:29 -03:00
0de04a59aa fix(default.gbui): Logo now showing in any screen. 2020-01-26 14:50:24 -03:00
3974fe0d49 Update README.md 2020-01-16 10:28:46 -03:00
f79663d561 Update README.md 2020-01-15 09:03:17 -03:00
8e1472c766 Update README.md 2020-01-15 09:01:06 -03:00
db209e6e73 Update README.md 2020-01-10 10:18:03 -03:00
d1dd0e7934 Update README.md 2020-01-10 10:17:46 -03:00
cc13865aa1 Update README.md 2020-01-10 10:17:02 -03:00
0acf5de7b5 fix(core.gbapp): WebChat now can be made private. 2020-01-10 10:04:26 -03:00
c183dfd052 fix(core.gbapp): Security enhancements and fixes. 2020-01-09 15:28:11 -03:00
d8591dd025 fix (core.gbapp): nyc removed until unit tests are available. 2020-01-08 19:13:22 -03:00
a336b5255b fix (core.gbapp): warnings and comments handled. 2020-01-08 18:06:03 -03:00
ea893fa23c fix (core.gbapp): warnings and comments handled. 2020-01-08 17:52:46 -03:00
Joao Antonio Ferreira
a93263b0c0 WIP: Adding pre-commit npm module 2019-12-31 16:46:33 -03:00
Joao Antonio Ferreira
f0d26289f5 WIP: NPM packages updates to latest versions 2019-12-31 16:12:06 -03:00
Joao Antonio Ferreira
12cb2537e9 WIP: atualização de pacotes NPM 2019-12-30 14:18:13 -03:00
Joao Antonio Ferreira
3032b4c18a WIP: some clean-up and debug additions 2019-12-30 12:51:11 -03:00
Joao Antonio Ferreira
310494f4c2 major(all): Update bot framework version 2019-11-13 21:16:05 -03:00
Joao Antonio Ferreira
83220a5d75 WIP: Attempt to fix bug with Azure platform 2019-11-10 16:20:15 -03:00
Joao Antonio Ferreira
f8c7bb9676 chore(core.gbapp): Some useful refactoring 2019-10-23 23:25:31 -03:00
Joao Antonio Ferreira
159f8091db WIP: Only package-lock.json and .gitignore 2019-10-23 22:51:10 -03:00
Rodrigo
ad18c96789 chore(release): 1.7.6 [skip ci]
## [1.7.6](https://github.com/pragmatismo-io/BotServer/compare/1.7.5...1.7.6) (2019-10-24)

### Bug Fixes

* **core.gbapp:** fix of sts token generation ([d6aa65d](https://github.com/pragmatismo-io/BotServer/commit/d6aa65d))
2019-10-24 01:18:07 +00:00
webgus
e75a128106 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-10-23 22:09:56 -03:00
webgus
0325e8fb4c fix(core.gbapp): fix of sts token generation 2019-10-23 22:05:46 -03:00
Joao Antonio Ferreira
2e760991af Merge branch 'master' of github.com:GeneralBots/BotServer 2019-10-22 23:54:49 -03:00
Joao Antonio Ferreira
7ebf07f62d WIP: Apenas .gitignore 2019-10-22 23:53:35 -03:00
Rodrigo
4e7f0bc2af chore(release): 1.7.5 [skip ci]
## [1.7.5](https://github.com/pragmatismo-io/BotServer/compare/1.7.4...1.7.5) (2019-10-18)

### Bug Fixes

* **core.gbapp:** Clean-up of system code ([9311943](https://github.com/pragmatismo-io/BotServer/commit/9311943))
2019-10-18 01:41:08 +00:00
Joao Antonio Ferreira
c9269235b2 Merge branch 'master' of github.com:GeneralBots/BotServer 2019-10-17 22:35:37 -03:00
Joao Antonio Ferreira
d3d28363a3 fix(core.gbapp): Clean-up of system code 2019-10-17 22:32:32 -03:00
Rodrigo
1ef894c72f chore(release): 1.7.4 [skip ci]
## [1.7.4](https://github.com/pragmatismo-io/BotServer/compare/1.7.3...1.7.4) (2019-10-17)

### Bug Fixes

* **kb.gbapp:** Use of await style call ([a034abf](https://github.com/pragmatismo-io/BotServer/commit/a034abf))
2019-10-17 02:31:30 +00:00
Joao Antonio Ferreira
7d4d5ebe59 Merge branch 'master' of github.com:GeneralBots/BotServer 2019-10-16 23:26:15 -03:00
Joao Antonio Ferreira
2035c7c4e7 fix(kb.gbapp): Use of await style call 2019-10-16 23:22:21 -03:00
Rodrigo
80507d84d3 chore(release): 1.7.3 [skip ci]
## [1.7.3](https://github.com/pragmatismo-io/BotServer/compare/1.7.2...1.7.3) (2019-10-10)

### Bug Fixes

* **basic:** Adicionando .env no .gitignore e desabilitando suporte a linguagem BASIC por default ([91d1476](https://github.com/pragmatismo-io/BotServer/commit/91d1476))
2019-10-10 12:10:32 +00:00
Joao Antonio Ferreira
654dd0b041 WIP: apenas README 2019-10-10 08:21:54 -03:00
Joao Antonio Ferreira
e8d3bbe493 fix(basic): Adicionando .env no .gitignore e desabilitando suporte a linguagem BASIC por default 2019-10-10 07:40:15 -03:00
Rodrigo
177b70a62b chore(release): 1.7.2 [skip ci]
## [1.7.2](https://github.com/pragmatismo-io/BotServer/compare/1.7.1...1.7.2) (2019-08-30)

### Bug Fixes

* **basic:** Fix default bot.vbs missing parenthesis in code. ([8501002](https://github.com/pragmatismo-io/BotServer/commit/8501002))
2019-08-30 17:56:51 +00:00
82da27b398 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-08-30 14:51:24 -03:00
a82dea958d fix(basic): Fix default bot.vbs missing parenthesis in code. 2019-08-30 14:50:57 -03:00
Rodrigo
6e07ff169f chore(release): 1.7.1 [skip ci]
## [1.7.1](https://github.com/pragmatismo-io/BotServer/compare/1.7.0...1.7.1) (2019-08-30)

### Bug Fixes

* **whatsapp.gblib:** Multi-turn dialog fixed in BASIC processing. ([4689bfb](https://github.com/pragmatismo-io/BotServer/commit/4689bfb))
2019-08-30 17:14:17 +00:00
34bc3aa46a Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-08-30 14:07:53 -03:00
a60d351172 fix(whatsapp.gblib): Multi-turn dialog fixed in BASIC processing. 2019-08-30 14:06:01 -03:00
Rodrigo
6053ab70ae chore(release): 1.7.0 [skip ci]
# [1.7.0](https://github.com/pragmatismo-io/BotServer/compare/1.6.0...1.7.0) (2019-08-29)

### Bug Fixes

* **whatsapp.gblib:** BASIC enabled with Promises. ([47df1f1](https://github.com/pragmatismo-io/BotServer/commit/47df1f1))
* **whatsapp.gblib:** BASIC is disabled again. ([fa9f260](https://github.com/pragmatismo-io/BotServer/commit/fa9f260))
* **whatsapp.gblib:** BASIC is disabled again. ([4828a33](https://github.com/pragmatismo-io/BotServer/commit/4828a33))
* **whatsapp.gblib:** User can say the activation code as the first message. ([3f6668d](https://github.com/pragmatismo-io/BotServer/commit/3f6668d))
* **whatsapp.gblib:** Web can show images again and working directory on startup being created. ([8d512ca](https://github.com/pragmatismo-io/BotServer/commit/8d512ca))
* **whatsapp.gblib:** Work directory being created now on startup. ([ca98965](https://github.com/pragmatismo-io/BotServer/commit/ca98965))

### Features

* **core.gbapp:** New bot management (CRUD) from SharePoint packages. ([9a961e7](https://github.com/pragmatismo-io/BotServer/commit/9a961e7))
* **kb.gbapp:** TSV are replaced with MS Excel files, to store tabular information. ([246b222](https://github.com/pragmatismo-io/BotServer/commit/246b222))
* **sharepoint:** SharePoint deployPackage added. ([ae73cf8](https://github.com/pragmatismo-io/BotServer/commit/ae73cf8))
* **whatsapp.gblib:** Image will be send as a message and md can be read easily on the phone. ([2b4fb68](https://github.com/pragmatismo-io/BotServer/commit/2b4fb68))
* **whatsapp.gblib:** Now Whatsapp will display markdown from .gbkb including images. ([faa5ec7](https://github.com/pragmatismo-io/BotServer/commit/faa5ec7))
* **whatsapp.gblib:** Same chat-api provider now shared between instances and deploy improvements. ([b2da413](https://github.com/pragmatismo-io/BotServer/commit/b2da413))
* **whatsapp.gblib:** Switch from Whatsapp channel which bot to talk to with the same number. ([650779e](https://github.com/pragmatismo-io/BotServer/commit/650779e))
* **whatsapp.gblib:** Switch from Whatsapp channel which bot to talk to with the same number. ([cb3d241](https://github.com/pragmatismo-io/BotServer/commit/cb3d241))
2019-08-29 23:05:55 +00:00
63449dbe55 fix(whatsapp.gblib): BASIC enabled with Promises. 2019-08-29 19:59:58 -03:00
43bd1402b3 fix(whatsapp.gblib): BASIC is disabled again. 2019-08-26 16:16:29 -03:00
7a9ef6f4b1 fix(whatsapp.gblib): BASIC is disabled again. 2019-08-26 16:14:41 -03:00
4404412b11 fix(whatsapp.gblib): Work directory being created now on startup. 2019-08-26 13:34:29 -03:00
d2563a9cbb fix(whatsapp.gblib): Web can show images again and working directory on startup being created. 2019-08-26 13:21:52 -03:00
b33ccdb8b2 feat(whatsapp.gblib): Image will be send as a message and md can be read easily on the phone. 2019-08-24 19:44:16 -03:00
e931111a41 feat(whatsapp.gblib): Now Whatsapp will display markdown from .gbkb including images. 2019-08-24 18:46:04 -03:00
487cfede35 feat(kb.gbapp): TSV are replaced with MS Excel files, to store tabular information. 2019-08-24 12:22:52 -03:00
caf98c5487 fix(whatsapp.gblib): User can say the activation code as the first message. 2019-08-23 14:36:47 -03:00
780bd888af feat(whatsapp.gblib): Switch from Whatsapp channel which bot to talk to with the same number. 2019-08-23 02:23:00 -03:00
fbe074be0d feat(whatsapp.gblib): Switch from Whatsapp channel which bot to talk to with the same number. 2019-08-22 19:36:23 -03:00
c944752d23 feat(whatsapp.gblib): Same chat-api provider now shared between instances and deploy improvements. 2019-08-22 17:28:11 -03:00
e136a99678 feat(core.gbapp): New bot management (CRUD) from SharePoint packages. 2019-08-22 01:54:30 +00:00
bb5d8b3150 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-08-21 21:05:39 +00:00
e527d8fa69 feat(sharepoint): SharePoint deployPackage added. 2019-08-21 21:04:55 +00:00
Rodrigo
701ac8f9fb chore(release): 1.6.0 [skip ci]
# [1.6.0](https://github.com/pragmatismo-io/BotServer/compare/1.5.5...1.6.0) (2019-08-21)

### Features

* **boot:** Bot now can be run with VSCode F5 after cloning from git. ([29d90db](https://github.com/pragmatismo-io/BotServer/commit/29d90db))
2019-08-21 16:22:11 +00:00
cf2886007c Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-08-21 16:16:24 +00:00
Rodrigo
c4aa06b3b9 feat(boot): Bot now can be run with VSCode F5 after cloning from git. 2019-08-21 16:15:52 +00:00
Rodrigo
a7bf628f34 chore(release): 1.5.5 [skip ci]
## [1.5.5](https://github.com/pragmatismo-io/BotServer/compare/1.5.4...1.5.5) (2019-07-23)

### Bug Fixes

* **kb.gbapp:** Improvement on translate ([bc56a1d](https://github.com/pragmatismo-io/BotServer/commit/bc56a1d))
2019-07-23 14:41:39 +00:00
Paulo Henrique (pragmatismo.io)
665be8733e Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-07-23 11:35:32 -03:00
Paulo Henrique (pragmatismo.io)
9bb3be3409 fix(kb.gbapp): Improvement on translate 2019-07-23 11:31:52 -03:00
Rodrigo
f6ed7caf55 chore(release): 1.5.4 [skip ci]
## [1.5.4](https://github.com/pragmatismo-io/BotServer/compare/1.5.3...1.5.4) (2019-07-19)

### Bug Fixes

* **kb.gbapp:** NLP scoring added again. ([c83a5f9](https://github.com/pragmatismo-io/BotServer/commit/c83a5f9))
2019-07-19 16:43:49 +00:00
Paulo Henrique (pragmatismo.io)
d303ddf1ac Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-07-19 13:36:45 -03:00
Paulo Henrique (pragmatismo.io)
7b65999683 fix(kb.gbapp): NLP scoring added again. 2019-07-19 13:35:11 -03:00
Rodrigo
191e16d912 chore(release): 1.5.3 [skip ci]
## [1.5.3](https://github.com/pragmatismo-io/BotServer/compare/1.5.2...1.5.3) (2019-07-18)

### Bug Fixes

* **core.gbapp:** Deployer now imports UTF-8 .tsv files. ([daf0741](https://github.com/pragmatismo-io/BotServer/commit/daf0741))
2019-07-18 23:51:34 +00:00
Paulo Henrique (pragmatismo.io)
596ab4c303 Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-07-18 20:44:38 -03:00
Paulo Henrique (pragmatismo.io)
3b263a070e fix(core.gbapp): Deployer now imports UTF-8 .tsv files. 2019-07-18 20:42:08 -03:00
Rodrigo
d25a276ac5 chore(release): 1.5.2 [skip ci]
## [1.5.2](https://github.com/pragmatismo-io/BotServer/compare/1.5.1...1.5.2) (2019-07-18)

### Bug Fixes

* **core.gbapp:** Redeploy command now fixed. ([d68da40](https://github.com/pragmatismo-io/BotServer/commit/d68da40))
2019-07-18 22:28:57 +00:00
Paulo Henrique (pragmatismo.io)
e7b9d7ff5c Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-07-18 19:21:13 -03:00
Paulo Henrique (pragmatismo.io)
ae3754cba9 fix(core.gbapp): Redeploy command now fixed. 2019-07-18 19:19:38 -03:00
Rodrigo
feaca1e9c7 chore(release): 1.5.1 [skip ci]
## [1.5.1](https://github.com/pragmatismo-io/BotServer/compare/1.5.0...1.5.1) (2019-07-18)

### Bug Fixes

* **kb.gbapp:** Answers in text in case of Whatsapp channel. ([4f994b1](https://github.com/pragmatismo-io/BotServer/commit/4f994b1))
2019-07-18 21:29:54 +00:00
Paulo Henrique (pragmatismo.io)
e8df2becbf fix(kb.gbapp): Answers in text in case of Whatsapp channel. 2019-07-18 18:15:45 -03:00
Rodrigo
959b947cde chore(release): 1.5.0 [skip ci]
# [1.5.0](https://github.com/pragmatismo-io/BotServer/compare/1.4.0...1.5.0) (2019-07-04)

### Features

* **core.gbapp:** New global quit keywords. ([15cd8d6](https://github.com/pragmatismo-io/BotServer/commit/15cd8d6))
2019-07-04 18:20:55 +00:00
Rodrigo Rodriguez (pragmatismo.io)
806656bc28 feat(core.gbapp): New global quit keywords. 2019-07-04 15:14:26 -03:00
Rodrigo
a9e4a5d2ca chore(release): 1.4.0 [skip ci]
# [1.4.0](https://github.com/pragmatismo-io/BotServer/compare/1.3.10...1.4.0) (2019-06-28)

### Bug Fixes

* **whatsapp.gblib:** Service latency due to res.end missing call. ([82dcfac](https://github.com/pragmatismo-io/BotServer/commit/82dcfac))

### Features

* **core.gbapp:** Development options added (ngrok) ([223801d](https://github.com/pragmatismo-io/BotServer/commit/223801d))
* **security.gblib:** Phone field and conversation refeerence. ([46261d7](https://github.com/pragmatismo-io/BotServer/commit/46261d7))
2019-06-28 14:24:21 +00:00
Rodrigo Rodriguez (pragmatismo.io)
e943af4a85 fix(whatsapp.gblib): Service latency due to res.end missing call. 2019-06-28 11:17:41 -03:00
Rodrigo Rodriguez (pragmatismo.io)
3670cf4a21 feat(security.gblib): Phone field and conversation refeerence. 2019-06-27 09:22:32 -03:00
Rodrigo Rodriguez (pragmatismo.io)
5357a07e4f feat(core.gbapp): Development options added (ngrok) 2019-06-26 13:18:15 -03:00
eb01c2bc44 Update WhatsappDirectLine.ts 2019-06-23 07:25:59 -03:00
3d50dc96df Update WhatsappDirectLine.ts 2019-06-23 07:24:35 -03:00
b9e404b244 Update WhatsappDirectLine.ts 2019-06-23 07:03:32 -03:00
904ee1cf71 Update WhatsappDirectLine.ts 2019-06-22 07:51:04 -03:00
7d2ab78a60 Update WhatsappDirectLine.ts 2019-06-22 07:06:21 -03:00
Rodrigo
7cc738637f chore(release): 1.3.10 [skip ci]
## [1.3.10](https://github.com/pragmatismo-io/BotServer/compare/1.3.9...1.3.10) (2019-06-21)

### Bug Fixes

* **core.gbapp:** MSFT changed again LUIS url. ([967f780](https://github.com/pragmatismo-io/BotServer/commit/967f780))
2019-06-21 20:16:38 +00:00
bf791c3f02 Merge pull request #111 from rodrigorodriguez/master
fix(core.gbapp): MSFT changed again LUIS url.
2019-06-21 17:09:47 -03:00
6514b0a612 fix(core.gbapp): MSFT changed again LUIS url. 2019-06-21 08:59:42 -03:00
Rodrigo
939c8255f8 chore(release): 1.3.9 [skip ci]
## [1.3.9](https://github.com/pragmatismo-io/BotServer/compare/1.3.8...1.3.9) (2019-06-18)

### Bug Fixes

* **whastapp.gblib:** Fix in pro-active messaging. ([3f710e8](https://github.com/pragmatismo-io/BotServer/commit/3f710e8))
2019-06-18 19:13:29 +00:00
ab113bf8bf Merge pull request #109 from rodrigorodriguez/master
fix(whastapp.gblib): Fix in pro-active messaging.
2019-06-18 16:08:47 -03:00
c607ba8f77 fix(whastapp.gblib): Fix in pro-active messaging. 2019-06-18 16:03:19 -03:00
Rodrigo
bea3ce29df chore(release): 1.3.8 [skip ci]
## [1.3.8](https://github.com/pragmatismo-io/BotServer/compare/1.3.7...1.3.8) (2019-06-18)

### Bug Fixes

* **core.gbapp:** ms-rest-azure updated due to  https://github.com/Azure/ms-rest-js/issues/347. ([d61d2f8](https://github.com/pragmatismo-io/BotServer/commit/d61d2f8))
* **whatsapp.gblib:** Fixing loop behaviour. ([10d2a4a](https://github.com/pragmatismo-io/BotServer/commit/10d2a4a))
2019-06-18 00:55:35 +00:00
eb40a28ca6 Merge pull request #108 from rodrigorodriguez/master
fix(whatsapp.gblib): Fixing loop behaviour.
2019-06-17 21:50:39 -03:00
024198406b fix(whatsapp.gblib): Fixing loop behaviour. 2019-06-17 21:41:41 -03:00
434d90be30 Merge pull request #107 from rodrigorodriguez/master
fix(core.gbapp): ms-rest-azure updated due to bug in MS code.
2019-06-17 15:52:39 -03:00
09359da2be fix(core.gbapp): ms-rest-azure updated due to https://github.com/Azure/ms-rest-js/issues/347. 2019-06-17 15:22:13 -03:00
Rodrigo
ffb55d417d chore(release): 1.3.7 [skip ci]
## [1.3.7](https://github.com/pragmatismo-io/BotServer/compare/1.3.6...1.3.7) (2019-06-05)

### Bug Fixes

* **core.gbapp:** Self-replication on Azure ([f29c8c2](https://github.com/pragmatismo-io/BotServer/commit/f29c8c2))
* **core.gbapp:** Self-replication on Azure ([4d484d0](https://github.com/pragmatismo-io/BotServer/commit/4d484d0))
2019-06-05 22:10:54 +00:00
931bcb94a9 Merge pull request #106 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-06-05 19:04:25 -03:00
1b13341bd1 fix(core.gbapp): Self-replication on Azure 2019-06-05 18:23:31 -03:00
63db06a57e fix(core.gbapp): Self-replication on Azure 2019-06-04 11:21:32 -03:00
Rodrigo
3e81c537f9 chore(release): 1.3.6 [skip ci]
## [1.3.6](https://github.com/pragmatismo-io/BotServer/compare/1.3.5...1.3.6) (2019-05-27)

### Bug Fixes

* **core.gbapp:** Self-replication on Azure ([5f0fb3b](https://github.com/pragmatismo-io/BotServer/commit/5f0fb3b))
* **core.gbapp:** Self-replication on Azure ([2509157](https://github.com/pragmatismo-io/BotServer/commit/2509157))
* **core.gbapp:** Self-replication on Azure ([8850370](https://github.com/pragmatismo-io/BotServer/commit/8850370))
2019-05-27 17:10:50 +00:00
0089d61252 Merge pull request #105 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-05-27 14:05:55 -03:00
ef8849e962 fix(core.gbapp): Self-replication on Azure 2019-05-27 13:52:10 -03:00
91456f8861 Merge pull request #104 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-05-27 12:20:25 -03:00
6a4b440da9 fix(core.gbapp): Self-replication on Azure 2019-05-27 12:16:30 -03:00
c7f37d6995 Merge pull request #103 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-05-27 11:06:02 -03:00
a30becff0b fix(core.gbapp): Self-replication on Azure 2019-05-27 11:01:34 -03:00
Rodrigo
a1861df48c chore(release): 1.3.5 [skip ci]
## [1.3.5](https://github.com/pragmatismo-io/BotServer/compare/1.3.4...1.3.5) (2019-05-27)

### Bug Fixes

* **core.gbapp:** Self-replication on Azure ([f64cc4c](https://github.com/pragmatismo-io/BotServer/commit/f64cc4c))
2019-05-27 12:58:01 +00:00
fa261754a0 Merge pull request #102 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-05-27 09:53:02 -03:00
6939000cb6 fix(core.gbapp): Self-replication on Azure 2019-05-27 09:26:40 -03:00
Rodrigo
830b324935 chore(release): 1.3.4 [skip ci]
## [1.3.4](https://github.com/pragmatismo-io/BotServer/compare/1.3.3...1.3.4) (2019-05-27)

### Bug Fixes

* **core.gbapp:** Self-replication on Azure ([e82a813](https://github.com/pragmatismo-io/BotServer/commit/e82a813))
2019-05-27 12:22:43 +00:00
684f11f78a Merge pull request #101 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-05-27 09:17:54 -03:00
dafa925ade fix(core.gbapp): Self-replication on Azure 2019-05-27 09:14:49 -03:00
Rodrigo
8cac928223 chore(release): 1.3.3 [skip ci]
## [1.3.3](https://github.com/pragmatismo-io/BotServer/compare/1.3.2...1.3.3) (2019-05-27)

### Bug Fixes

* **core.gbapp:** Self-replication on Azure ([bf602c6](https://github.com/pragmatismo-io/BotServer/commit/bf602c6))
* **core.gbapp:** Self-replication on Azure ([3cca504](https://github.com/pragmatismo-io/BotServer/commit/3cca504))
* **core.gbapp:** Self-replication on Azure ([05edafd](https://github.com/pragmatismo-io/BotServer/commit/05edafd))
2019-05-27 11:55:26 +00:00
3da5b4d796 Merge pull request #100 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-05-27 08:50:23 -03:00
63f1c6e18d fix(core.gbapp): Self-replication on Azure 2019-05-27 08:46:17 -03:00
95e2f7d7b2 fix(core.gbapp): Self-replication on Azure 2019-05-27 08:16:43 -03:00
1cbb70fb5d Merge pull request #99 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure
2019-05-27 07:50:21 -03:00
4bc60b0851 fix(core.gbapp): Self-replication on Azure 2019-05-27 07:45:23 -03:00
Rodrigo
11444660b6 chore(release): 1.3.2 [skip ci]
## [1.3.2](https://github.com/pragmatismo-io/BotServer/compare/1.3.1...1.3.2) (2019-05-26)

### Bug Fixes

* **core.gbapp:** Self-replication on Azure. ([2ccae38](https://github.com/pragmatismo-io/BotServer/commit/2ccae38))
* **core.gbapp:** Self-replication on Azure. ([4b7d29d](https://github.com/pragmatismo-io/BotServer/commit/4b7d29d))
2019-05-26 23:41:29 +00:00
e1b45ad288 Merge pull request #98 from rodrigorodriguez/master
fix(core.gbapp): Self-replication on Azure.
2019-05-26 20:36:33 -03:00
08ef5e6397 fix(core.gbapp): Self-replication on Azure. 2019-05-26 20:32:49 -03:00
4531493c2a fix(core.gbapp): Self-replication on Azure. 2019-05-26 20:25:08 -03:00
Rodrigo
2deba722c0 chore(release): 1.3.1 [skip ci]
## [1.3.1](https://github.com/pragmatismo-io/BotServer/compare/1.3.0...1.3.1) (2019-05-25)

### Bug Fixes

* **core.gbapp:** Azure deployment. ([f1b8eb2](https://github.com/pragmatismo-io/BotServer/commit/f1b8eb2))
* **core.gbapp:** Azure deployment. ([49e1743](https://github.com/pragmatismo-io/BotServer/commit/49e1743))
* **core.gbapp:** Azure Deployment. ([f8fab38](https://github.com/pragmatismo-io/BotServer/commit/f8fab38))
* **core.gbapp:** ESNext in tsconfig.json to match MSFT. ([01b8dd5](https://github.com/pragmatismo-io/BotServer/commit/01b8dd5))
* **core.gbapp:** Fixing loading of instances. ([bc9c588](https://github.com/pragmatismo-io/BotServer/commit/bc9c588))
* **core.gbapp:** Investigating BASIC broken. ([f0ec25e](https://github.com/pragmatismo-io/BotServer/commit/f0ec25e))
* **core.gbapp:** package.json artifacts sync. ([01d34a6](https://github.com/pragmatismo-io/BotServer/commit/01d34a6))
* **core.gbapp:** Publishing in Azure. ([4d6779e](https://github.com/pragmatismo-io/BotServer/commit/4d6779e))
* **core.gbapp:** Removing POC code. ([56f46f4](https://github.com/pragmatismo-io/BotServer/commit/56f46f4))
* **kb.gbapp:** Typo fix. ([ba26578](https://github.com/pragmatismo-io/BotServer/commit/ba26578))
* **whatsapp.gblib:** Enabling Whatsapp. ([4351b87](https://github.com/pragmatismo-io/BotServer/commit/4351b87))
* **whatsapp.gblib:** Enabling Whatsapp. ([74f5936](https://github.com/pragmatismo-io/BotServer/commit/74f5936))
* **whatsapp.lib:** Enabling Whatsapp. ([85249e5](https://github.com/pragmatismo-io/BotServer/commit/85249e5))
2019-05-25 18:31:19 +00:00
f7e9fefd6d Merge pull request #97 from rodrigorodriguez/master
fix(kb.gbapp): Typo fix.
2019-05-25 15:26:19 -03:00
05346c64cb fix(kb.gbapp): Typo fix. 2019-05-25 15:22:51 -03:00
da1251f13c Merge pull request #96 from rodrigorodriguez/master
Removing POC code and Whatsapp
2019-05-23 22:37:59 -03:00
7d7cca1df8 Merge branch 'master' of https://github.com/rodrigorodriguez/BotServer 2019-05-23 22:32:39 -03:00
a49b1b3348 fix(core.gbapp): package.json artifacts sync. 2019-05-23 22:29:13 -03:00
a03e3363ed Merge branch 'master' into master 2019-05-23 21:42:15 -03:00
c7d1d2e73f fix(core.gbapp): Removing POC code. 2019-05-23 21:27:33 -03:00
d7639c2683 fix(core.gbapp): Azure deployment. 2019-05-16 12:36:11 -03:00
d8cf7c31cc fix(core.gbapp): Azure deployment. 2019-05-16 11:54:43 -03:00
83182f257c fix(core.gbapp): ESNext in tsconfig.json to match MSFT. 2019-05-16 10:38:59 -03:00
b20570f8ee fix(core.gbapp): Azure Deployment. 2019-05-16 10:27:26 -03:00
95435c0746 fix(core.gbapp): Publishing in Azure. 2019-05-16 10:11:20 -03:00
716e45f18a fix(core.gbapp): Investigating BASIC broken. 2019-05-16 09:29:37 -03:00
c59d404d8d fix(whatsapp.gblib): Enabling Whatsapp. 2019-05-16 07:22:32 -03:00
7cabc130f3 fix(whatsapp.gblib): Enabling Whatsapp. 2019-05-15 22:30:14 -03:00
4e59f8788c fix(whatsapp.lib): Enabling Whatsapp. 2019-05-15 12:41:04 -03:00
e04bd2ab91 fix(core.gbapp): Fixing loading of instances. 2019-05-14 23:02:21 -03:00
Rodrigo
38fab94244 chore(release): 1.3.0 [skip ci]
# [1.3.0](https://github.com/pragmatismo-io/BotServer/compare/1.2.2...1.3.0) (2019-05-12)

### Bug Fixes

* **core:** ngrok is running on linux ([000bdc1](https://github.com/pragmatismo-io/BotServer/commit/000bdc1))
* **design:** 404 on bot logo on default.gbtheme: https://github.com/GeneralBots/BotServer/issues/80. ([f67f04a](https://github.com/pragmatismo-io/BotServer/commit/f67f04a))
* **gbot:** gbot.cmd now installs packages and compiles the server before running. ([dca0325](https://github.com/pragmatismo-io/BotServer/commit/dca0325))
* **gbot:** gbot.cmd now installs packages and compiles the server before running. ([b7abf5f](https://github.com/pragmatismo-io/BotServer/commit/b7abf5f))
* **general:** tslint being applied in all sources. ([77ccc3d](https://github.com/pragmatismo-io/BotServer/commit/77ccc3d))
* **general:** tslint being applied in all sources. ([25d1459](https://github.com/pragmatismo-io/BotServer/commit/25d1459))
* **general:** tslint being applied in all sources. ([4b49686](https://github.com/pragmatismo-io/BotServer/commit/4b49686))
* **general:** tslint being applied in all sources. ([895be68](https://github.com/pragmatismo-io/BotServer/commit/895be68))
* **general:** tslint being applied in all sources. ([c74b3ee](https://github.com/pragmatismo-io/BotServer/commit/c74b3ee))
* **general:** tslint being applied in all sources. ([ef3c5a1](https://github.com/pragmatismo-io/BotServer/commit/ef3c5a1))
* **general:** tslint being applied in all sources. ([e9bed77](https://github.com/pragmatismo-io/BotServer/commit/e9bed77))
* **general:** tslint being applied in all sources. ([d717de6](https://github.com/pragmatismo-io/BotServer/commit/d717de6))
* **general:** tslint being applied in all sources. ([2c18517](https://github.com/pragmatismo-io/BotServer/commit/2c18517))
* **general:** tslint being applied in all sources. ([cd5189d](https://github.com/pragmatismo-io/BotServer/commit/cd5189d))
* **general:** tslint being applied in all sources. ([5d08457](https://github.com/pragmatismo-io/BotServer/commit/5d08457))
* **general:** tslint being applied in all sources. ([6de285e](https://github.com/pragmatismo-io/BotServer/commit/6de285e))
* **general:** tslint being applied in all sources. ([69ca62b](https://github.com/pragmatismo-io/BotServer/commit/69ca62b))
* **general:** tslint being applied in all sources. ([8fec26c](https://github.com/pragmatismo-io/BotServer/commit/8fec26c))
* **kb.gbapp:** FAQ now showing again. ([c70200a](https://github.com/pragmatismo-io/BotServer/commit/c70200a))
* **kb.gbapp:** Fix in subjects null pointer. ([e21916f](https://github.com/pragmatismo-io/BotServer/commit/e21916f))
* **NLP:** Update of platform to mach NLP URL updates and versioning. ([6588049](https://github.com/pragmatismo-io/BotServer/commit/6588049))
* **VBA:** Several bugs fixed and refactoring on Deployer Service done. ([fecbd3e](https://github.com/pragmatismo-io/BotServer/commit/fecbd3e))

### Features

* **basic:** General Bots BASIC 2.0 with new keywords and parenthesis only when needed. ([3cc92ec](https://github.com/pragmatismo-io/BotServer/commit/3cc92ec))
2019-05-12 16:32:53 +00:00
c2a92c6c43 Update .travis.yml 2019-05-12 13:28:01 -03:00
64fed4c880 Merge pull request #91 from SarahLourenco/master
fix(core): ngrok is running on linux
2019-05-12 09:49:54 -03:00
fa395005e9 Merge pull request #93 from arenasio/master
Ajustes de Mensagens e Documentação
2019-05-12 09:49:26 -03:00
65379bc8c9 Update README.md 2019-05-12 09:46:37 -03:00
841dbfaa48 Update README.md 2019-05-12 09:46:14 -03:00
932507cdbe Update README.md 2019-05-12 09:43:40 -03:00
4c6146141a Update README.md 2019-05-12 09:40:08 -03:00
Arenasio
37b4ef4728 Fix(core.gbapp): Fixing nlp typo 2019-05-01 13:14:36 +00:00
Arenasio
8133577946 Merge branch 'master' of https://github.com/rodrigorodriguez/BotServer 2019-05-01 11:53:13 +00:00
6425bacbd9 fix(kb.gbapp): Fix in subjects null pointer. 2019-05-01 08:48:30 -03:00
Arenasio
5cf4b847cb Merge branch 'master' of https://github.com/GeneralBots/BotServer 2019-05-01 11:45:26 +00:00
sarahlourenco
470a2d4112 fix(core): ngrok is running on linux 2019-04-30 12:56:31 -03:00
7d51e712a6 Merge pull request #90 from rodrigorodriguez/master
fix(general): tslint being applied in all sources.
2019-04-08 12:26:56 -03:00
27ba0eb3bf fix(general): tslint being applied in all sources. 2019-04-08 11:59:55 -03:00
3f4d771231 fix(general): tslint being applied in all sources. 2019-04-08 11:30:01 -03:00
7ffe671c7e fix(general): tslint being applied in all sources. 2019-04-07 19:48:47 -03:00
692ab4150d fix(general): tslint being applied in all sources. 2019-04-07 12:23:27 -03:00
74e82cdbfd fix(general): tslint being applied in all sources. 2019-04-01 16:15:11 -03:00
0237431e09 fix(general): tslint being applied in all sources. 2019-04-01 15:47:18 -03:00
9e3e0657a7 fix(general): tslint being applied in all sources. 2019-04-01 09:01:07 -03:00
025bcc2d95 Update README.md 2019-03-27 14:08:22 -03:00
e68da78fe9 Merge branch 'master' of https://github.com/pragmatismo-io/BotServer 2019-03-27 07:22:29 -03:00
684f7b4795 fix(general): tslint being applied in all sources. 2019-03-11 19:32:47 -03:00
f2d1f69dcf fix(general): tslint being applied in all sources. 2019-03-09 16:59:31 -03:00
b9b76ef11f fix(general): tslint being applied in all sources. 2019-03-08 19:18:39 -03:00
fc550b7baa fix(general): tslint being applied in all sources. 2019-03-08 19:13:00 -03:00
f4bd3f8f5d fix(general): tslint being applied in all sources. 2019-03-08 17:05:58 -03:00
b29bc7bc23 fix(general): tslint being applied in all sources. 2019-03-08 06:49:22 -03:00
60a31675e5 fix(general): tslint being applied in all sources. 2019-03-08 06:37:13 -03:00
a101f13f2b Update README.md 2019-03-04 09:42:33 -03:00
e79ec39767 Update README.md 2019-03-01 15:41:12 -03:00
ff689479eb chore(docs): Refactoring of .md. 2019-03-01 15:38:10 -03:00
2de5db9b19 Merge pull request #88 from rodrigorodriguez/master
fix(NLP): Update of platform to mach NLP URL updates and versioning.
2019-02-28 15:17:11 -03:00
379eb71384 fix(NLP): Update of platform to mach NLP URL updates and versioning. 2019-02-28 15:15:51 -03:00
29c8f47276 Merge pull request #87 from rodrigorodriguez/master
Alpha BASIC 2 support
2019-02-25 10:08:58 -03:00
6d9165c3bd chore(VBA): Draft BASIC guide added. 2019-02-25 09:44:39 -03:00
eee3274b23 chore(VBA): Draft BASIC guide added. 2019-02-25 09:02:23 -03:00
0bddd4a773 fix(VBA): Several bugs fixed and refactoring on Deployer Service done. 2019-02-25 08:36:43 -03:00
Rafael Arenario Pereira da Silva
a01861a874 chore(core.gbapp): Improving error message for NPL. 2019-02-23 18:20:21 -03:00
f78e06e6de feat(basic): General Bots BASIC 2.0 with new keywords and parenthesis only when needed. 2019-02-23 13:17:21 -03:00
ee87b2f24e Merge pull request #86 from PH1998/master
chore(gbot): fix the URL
2019-02-21 16:21:48 -03:00
Garagem
d64e98b488 chore(gbot): fix the URL 2019-02-21 16:16:05 -03:00
4d936a209b Merge branch 'master' of https://github.com/pragmatismo-io/BotServer 2019-02-21 15:30:36 -03:00
Rodrigo Rodriguez
28c4add512 Update README.md 2019-02-20 08:13:31 -03:00
Rodrigo Rodriguez
6e992f0481 Update README.md 2019-02-20 08:10:56 -03:00
a4c2b7a4ba fix(gbot): gbot.cmd now installs packages and compiles the server before running. 2019-02-19 15:30:07 -03:00
3ec62155b8 Update README.md 2019-02-19 15:29:19 -03:00
5fc4f28dd3 Update README.md 2019-02-19 15:28:41 -03:00
8c26b56277 Update README.md 2019-02-19 15:25:35 -03:00
cb7ca7d725 Merge pull request #85 from rodrigorodriguez/master
fix(kb.gbapp): FAQ now showing again.
2019-02-17 03:49:49 -03:00
e05d9f6d1f fix(gbot): gbot.cmd now installs packages and compiles the server before running. 2019-02-17 03:46:48 -03:00
arenasio
620d54b85e Update README.md 2019-02-16 17:15:40 -02:00
35ab8f6f39 fix(design): 404 on bot logo on default.gbtheme: https://github.com/GeneralBots/BotServer/issues/80. 2019-02-11 13:21:44 -02:00
166986af66 fix(kb.gbapp): FAQ now showing again.
fix(kb.gbapp): When menu is clicked it will show associated FAQ again.
2019-02-11 11:25:00 -02:00
Rodrigo
4da615586b chore(release): 1.2.2 [skip ci]
## [1.2.2](https://github.com/pragmatismo-io/BotServer/compare/1.2.1...1.2.2) (2019-02-01)

### Bug Fixes

* **auth:** setupSecurity now is a complete setup process for tokens. ([4718fe4](https://github.com/pragmatismo-io/BotServer/commit/4718fe4))
* **deployer:** Installs and compiles additional .gbapps on server startup. ([cfe5cd2](https://github.com/pragmatismo-io/BotServer/commit/cfe5cd2))
* **kb.gbapp:** Menu and Ask dialog flows fixing. ([d884bc3](https://github.com/pragmatismo-io/BotServer/commit/d884bc3))
* **VBA:** Removal of invalid error messages. ([dd92032](https://github.com/pragmatismo-io/BotServer/commit/dd92032))
2019-02-01 13:11:03 +00:00
ddba4ecd42 Merge pull request #81 from rodrigorodriguez/master
Several bug fixes and start for handling ms-graph calls and sharepoint basic storage
2019-02-01 11:06:16 -02:00
5c7a03254f fix(kb.gbapp): Menu and Ask dialog flows fixing. 2019-02-01 10:58:11 -02:00
25776e7fe1 fix(auth): setupSecurity now is a complete setup process for tokens. 2019-01-31 11:32:33 -02:00
8a3304aecd fix(deployer): Installs and compiles additional .gbapps on server startup. 2018-12-26 18:57:25 -02:00
808d6c046d fix(VBA): Removal of invalid error messages. 2018-12-23 19:29:24 -02:00
Rodrigo
78fb7a8a32 chore(release): 1.2.1 [skip ci]
## [1.2.1](https://github.com/pragmatismo-io/BotServer/compare/1.2.0...1.2.1) (2018-12-18)

### Bug Fixes

* **kb:** Fix in Faq and Menu dialogs. ([6ba8c09](https://github.com/pragmatismo-io/BotServer/commit/6ba8c09))
* **startup:** Startup improved and more checks added. ([5d6c60e](https://github.com/pragmatismo-io/BotServer/commit/5d6c60e))
* **webchat:** Sync versions and MSFT strategy. ([238c0bf](https://github.com/pragmatismo-io/BotServer/commit/238c0bf))
2018-12-18 16:36:57 +00:00
5da1142653 Merge pull request #51 from rodrigorodriguez/master
Update webchat to v4.
2018-12-18 14:31:42 -02:00
131a5008e6 fix(kb): Fix in Faq and Menu dialogs. 2018-12-18 14:24:02 -02:00
447480091d fix(webchat): Sync versions and MSFT strategy. 2018-12-18 14:12:38 -02:00
db439c0234 fix(startup): Startup improved and more checks added. 2018-12-18 13:50:35 -02:00
Rodrigo
15366ef869 chore(release): 1.2.0 [skip ci]
# [1.2.0](https://github.com/pragmatismo-io/BotServer/compare/1.1.1...1.2.0) (2018-12-13)

### Features

* **webchat:** Update of webchat to the newer version 4. ([0270a8e](https://github.com/pragmatismo-io/BotServer/commit/0270a8e))
2018-12-13 18:53:01 +00:00
f81ba82c05 Merge pull request #44 from rodrigorodriguez/master
feat(webchat): Update of webchat to the newer version 4.
2018-12-13 16:48:21 -02:00
e2e1a9b81c Update SAMPLES.md
[ci skip]
2018-12-13 12:52:31 -02:00
ff73b3a6f2 feat(webchat): Update of webchat to the newer version 4. 2018-12-12 20:40:33 -02:00
Rodrigo Rodriguez
f552e0bc1c Update README.md
[skip ci]
2018-12-09 11:32:34 -02:00
Rodrigo Rodriguez
990b97af7e Update README.md
[ci-skip]
2018-12-09 11:29:18 -02:00
Rodrigo
401ebd73dd chore(release): 1.1.1 [skip ci]
## [1.1.1](https://github.com/pragmatismo-io/BotServer/compare/1.1.0...1.1.1) (2018-12-08)

### Bug Fixes

* **package:** update csv-parse to version 4.1.0 ([a606ef1](https://github.com/pragmatismo-io/BotServer/commit/a606ef1))
2018-12-08 09:57:47 +00:00
3851d5d6d4 Merge pull request #40 from pragmatismo-io/greenkeeper/csv-parse-4.1.0
Update csv-parse to the latest version 🚀
2018-12-08 07:53:16 -02:00
greenkeeper[bot]
463612dc4f chore(package): update lockfile package-lock.json 2018-12-06 21:50:38 +00:00
greenkeeper[bot]
f01961e677 fix(package): update csv-parse to version 4.1.0 2018-12-06 21:50:34 +00:00
Rodrigo
16b90bc8c0 chore(release): 1.1.0 [skip ci]
# [1.1.0](https://github.com/pragmatismo-io/BotServer/compare/1.0.8...1.1.0) (2018-12-06)

### Bug Fixes

* **CI:** default.gbui compilation issues. ([7a11919](https://github.com/pragmatismo-io/BotServer/commit/7a11919))
* **CI:** Migrating CI logic to package.json. ([8ee048f](https://github.com/pragmatismo-io/BotServer/commit/8ee048f))
* **core:** Bot boot logic being fixed. ([1761e06](https://github.com/pragmatismo-io/BotServer/commit/1761e06))
* **core:** Bot Server is runnable again after refactory. ([9379dec](https://github.com/pragmatismo-io/BotServer/commit/9379dec))
* **core:** Loaded dynamically a .js file containing converted VBA dialogs. ([3f32e48](https://github.com/pragmatismo-io/BotServer/commit/3f32e48))
* **core:** Moved logic from app to core. ([c1db8be](https://github.com/pragmatismo-io/BotServer/commit/c1db8be))
* **default.gbui:** Removing warnings. ([02ed085](https://github.com/pragmatismo-io/BotServer/commit/02ed085))
* **gbdialog:** Renamed alpha command to alpha-VBA added documentation files. ([9cd66b8](https://github.com/pragmatismo-io/BotServer/commit/9cd66b8))
* **gbdialog:** Support for multiples hear blocks. ([3bb9d65](https://github.com/pragmatismo-io/BotServer/commit/3bb9d65))
* **gbdialog:** Trying to save context. ([ce04290](https://github.com/pragmatismo-io/BotServer/commit/ce04290))
* **gbdialog:** Updating packages to latest versions and sync *-lock file. ([dcafb7a](https://github.com/pragmatismo-io/BotServer/commit/dcafb7a))
* **gbdialog:** VBA hear must be a wrapper call. ([6915d58](https://github.com/pragmatismo-io/BotServer/commit/6915d58))
* **gbdialog:** VBA is running financial simulations. ([9fb431c](https://github.com/pragmatismo-io/BotServer/commit/9fb431c))
* **gbdialog:** VBA is running. ([2dd359a](https://github.com/pragmatismo-io/BotServer/commit/2dd359a))
* **gbdialog:** VBA loop done - one thing left to automate: Hear wrapper. ([776fe03](https://github.com/pragmatismo-io/BotServer/commit/776fe03))
* **package:** update azure-arm-resource to version 7.2.1 ([4e72507](https://github.com/pragmatismo-io/BotServer/commit/4e72507))
* **package:** update botlib to version 0.1.7 ([8205599](https://github.com/pragmatismo-io/BotServer/commit/8205599))
* **package:** update csv-parse to version 4.0.0 ([3fb5a9a](https://github.com/pragmatismo-io/BotServer/commit/3fb5a9a))
* **package:** update marked to version 0.5.2 ([405fc96](https://github.com/pragmatismo-io/BotServer/commit/405fc96))
* **package:** update pragmatismo-io-framework to version 1.0.19 ([67c2ce7](https://github.com/pragmatismo-io/BotServer/commit/67c2ce7))
* **tests:** Disabling VM tests tentative for now. ([9d5a9c6](https://github.com/pragmatismo-io/BotServer/commit/9d5a9c6))

### Features

* **gbdialog:** The first VBA code is run. ([f0a0cd3](https://github.com/pragmatismo-io/BotServer/commit/f0a0cd3))
* **scripting:** First code changes to VBA implementation. ([09715bc](https://github.com/pragmatismo-io/BotServer/commit/09715bc))
2018-12-06 13:23:34 +00:00
Rodrigo Rodriguez (pragmatismo.io)
f5f4ac80af fix(tests): Disabling VM tests tentative for now. 2018-12-06 11:20:05 -02:00
be1565d71d Update GBLoginPlayer.js 2018-12-06 11:07:15 -02:00
eda5ed51a9 Update GBLoginPlayer.js 2018-12-06 11:02:08 -02:00
3fb7bdd94d Update GBMarkdownPlayer.js 2018-12-06 11:01:31 -02:00
96334151e2 Update GBUIApp.js 2018-12-06 10:55:22 -02:00
9a3f2ee496 Merge pull request #39 from rodrigorodriguez/vba-alpha
Vba alpha
2018-12-06 10:48:05 -02:00
1d01b8256c Merge branch 'master' into vba-alpha 2018-12-06 10:47:53 -02:00
Rodrigo Rodriguez (pragmatismo.io)
04f5f93beb fix(default.gbui): Removing warnings. 2018-12-06 10:45:16 -02:00
Rodrigo Rodriguez (pragmatismo.io)
7c249a1be7 fix(gbdialog): Updating packages to latest versions and sync *-lock file. 2018-12-06 10:32:31 -02:00
6039e41096 Merge branch 'master' into vba-alpha 2018-12-06 10:24:49 -02:00
Rodrigo Rodriguez (pragmatismo.io)
33da9e26a3 fix(gbdialog): Renamed alpha command to alpha-VBA added documentation files. 2018-12-06 10:16:28 -02:00
a47981cd8f Merge pull request #32 from pragmatismo-io/greenkeeper/@types/sequelize-4.27.31
Update @types/sequelize to the latest version 🚀
2018-12-05 18:17:39 -02:00
2ee6debb76 Merge pull request #33 from pragmatismo-io/greenkeeper/azure-arm-resource-7.2.1
Update azure-arm-resource to the latest version 🚀
2018-12-05 18:17:29 -02:00
b2952bdbcf Merge pull request #34 from pragmatismo-io/greenkeeper/tslint-microsoft-contrib-6.0.0
Update tslint-microsoft-contrib to the latest version 🚀
2018-12-05 18:17:20 -02:00
40836e7aa2 Merge pull request #35 from pragmatismo-io/greenkeeper/botlib-0.1.7
Update botlib to the latest version 🚀
2018-12-05 18:17:08 -02:00
01f82eb758 Merge pull request #37 from pragmatismo-io/greenkeeper/pragmatismo-io-framework-1.0.19
Update pragmatismo-io-framework to the latest version 🚀
2018-12-05 18:16:54 -02:00
greenkeeper[bot]
6aeeb3a756 chore(package): update lockfile package-lock.json 2018-12-05 15:16:07 +00:00
greenkeeper[bot]
febd781f33 fix(package): update pragmatismo-io-framework to version 1.0.19 2018-12-05 15:16:03 +00:00
cf62f88a64 Update README.md 2018-12-03 15:16:42 -02:00
f0e0732baf Update README.md 2018-12-03 15:15:43 -02:00
85a76a34f9 Add files via upload 2018-12-03 14:49:46 -02:00
90f3d09174 Add files via upload 2018-12-03 14:47:31 -02:00
f9d02a45cc Update README.md 2018-12-03 14:43:57 -02:00
Rodrigo Rodriguez (pragmatismo.io)
c19053fc62 fix(gbdialog): VBA is running financial simulations. 2018-12-02 21:39:36 -02:00
Rodrigo Rodriguez (pragmatismo.io)
f88852b97e fix(gbdialog): VBA is running. 2018-12-02 19:59:27 -02:00
Rodrigo Rodriguez (pragmatismo.io)
d9f3ad5755 fix(gbdialog): Support for multiples hear blocks. 2018-12-01 23:01:42 -02:00
Rodrigo Rodriguez (pragmatismo.io)
3e8c15c4f0 fix(gbdialog): VBA hear must be a wrapper call. 2018-12-01 20:48:08 -02:00
Rodrigo Rodriguez (pragmatismo.io)
310d6ea3a9 fix(gbdialog): VBA loop done - one thing left to automate: Hear wrapper. 2018-12-01 17:31:57 -02:00
Rodrigo Rodriguez (pragmatismo.io)
4f15b1e72c fix(gbdialog): Trying to save context. 2018-12-01 14:38:08 -02:00
greenkeeper[bot]
8ea55e7c84 fix(package): update botlib to version 0.1.7 2018-12-01 14:43:05 +00:00
greenkeeper[bot]
2949c0f1bf chore(package): update tslint-microsoft-contrib to version 6.0.0 2018-12-01 07:45:32 +00:00
Rodrigo Rodriguez (pragmatismo.io)
0922e7a9bd feat(gbdialog): The first VBA code is run. 2018-11-30 17:30:48 -02:00
Rodrigo Rodriguez (pragmatismo.io)
c864193658 fix(core): Bot Server is runnable again after refactory. 2018-11-30 11:55:44 -02:00
Rodrigo Rodriguez (pragmatismo.io)
34fa8baeaa fix(core): Loaded dynamically a .js file containing converted VBA dialogs. 2018-11-28 17:08:06 -02:00
Rodrigo Rodriguez (pragmatismo.io)
0abccd3945 fix(core): Bot boot logic being fixed. 2018-11-27 22:56:11 -02:00
Rodrigo Rodriguez (pragmatismo.io)
c76c67e2a1 fix(core): Moved logic from app to core. 2018-11-26 15:54:34 -02:00
Rodrigo Rodriguez (pragmatismo.io)
edf1ed4a4d feat(scripting): First code changes to VBA implementation. 2018-11-26 14:09:09 -02:00
bac392abf5 Update README.md 2018-11-23 09:57:52 -02:00
bc2b978ad7 Update README.md 2018-11-23 09:37:31 -02:00
0bd3089968 Update README.md 2018-11-22 14:23:11 -02:00
098506123d Update README.md 2018-11-21 09:55:47 -02:00
greenkeeper[bot]
8f156ed216 chore(package): update lockfile package-lock.json 2018-11-20 22:18:35 +00:00
greenkeeper[bot]
9ccf7a32f4 fix(package): update azure-arm-resource to version 7.2.1 2018-11-20 22:18:31 +00:00
greenkeeper[bot]
d7dd059f8b chore(package): update lockfile package-lock.json 2018-11-20 18:36:07 +00:00
greenkeeper[bot]
54657fe304 chore(package): update @types/sequelize to version 4.27.31 2018-11-20 18:36:04 +00:00
a6868a3793 Merge pull request #31 from pragmatismo-io/greenkeeper/marked-0.5.2
Update marked to the latest version 🚀
2018-11-20 14:05:51 -02:00
95c39bd46a Merge pull request #30 from pragmatismo-io/greenkeeper/csv-parse-4.0.0
Update csv-parse to the latest version 🚀
2018-11-20 14:02:39 -02:00
greenkeeper[bot]
c9f653003f chore(package): update lockfile package-lock.json 2018-11-20 00:09:19 +00:00
greenkeeper[bot]
1c700e6023 fix(package): update marked to version 0.5.2 2018-11-20 00:09:16 +00:00
2cecaabce1 Merge pull request #1 from pragmatismo-io/master
Migrating to fork instead of main
2018-11-19 12:26:35 -02:00
Rodrigo Rodriguez
6b15666dd1 Update README.md 2018-11-19 10:04:28 -02:00
Rodrigo Rodriguez
b1ddc88e4b Update README.md 2018-11-19 10:02:33 -02:00
greenkeeper[bot]
97949b4a60 chore(package): update lockfile package-lock.json 2018-11-19 10:57:12 +00:00
greenkeeper[bot]
0716c73393 fix(package): update csv-parse to version 4.0.0 2018-11-19 10:57:08 +00:00
Rodrigo Rodriguez (pragmatismo.io)
f9ccd5c6a7 fix(CI): default.gbui compilation issues. 2018-11-18 22:03:46 -02:00
Rodrigo Rodriguez (pragmatismo.io)
c1617c856b Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-18 21:29:09 -02:00
Rodrigo Rodriguez (pragmatismo.io)
51087e3c19 fix(CI): Migrating CI logic to package.json. 2018-11-18 21:28:26 -02:00
Rodrigo
ef09187ef3 chore(release): 1.0.8 [skip ci]
## [1.0.8](https://github.com/pragmatismo-io/BotServer/compare/1.0.7...1.0.8) (2018-11-18)

### Bug Fixes

* **docs:** Video thumbnail update to raw picture URL. ([564b394](https://github.com/pragmatismo-io/BotServer/commit/564b394))
2018-11-18 22:01:34 +00:00
Rodrigo Rodriguez (pragmatismo.io)
5d806bb000 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-18 20:00:03 -02:00
Rodrigo Rodriguez (pragmatismo.io)
8395085654 fix(docs): Video thumbnail update to raw picture URL. 2018-11-18 19:59:24 -02:00
Rodrigo Rodriguez
1d2065288e Update CHANGELOG.md 2018-11-18 19:37:15 -02:00
Rodrigo
57c71761a8 chore(release): 1.0.7 [skip ci]
## [1.0.7](https://github.com/pragmatismo-io/BotServer/compare/1.0.6...1.0.7) (2018-11-18)

### Bug Fixes

* **config:** CHANGELOG generator fixing. ([ac18782](https://github.com/pragmatismo-io/BotServer/commit/ac18782))
2018-11-18 21:35:47 +00:00
Rodrigo Rodriguez (pragmatismo.io)
dfa9e6ac6b Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-18 19:34:12 -02:00
Rodrigo Rodriguez (pragmatismo.io)
a32dd84fb3 fix(config): CHANGELOG generator fixing. 2018-11-18 19:33:15 -02:00
Rodrigo
c230623de3 chore(release): 1.0.6 [skip ci]
## [1.0.6](https://github.com/pragmatismo-io/BotServer/compare/1.0.5...1.0.6) (2018-11-18)

### Bug Fixes

* **config:** CI fixed, now improving. ([46daec8](https://github.com/pragmatismo-io/BotServer/commit/46daec8))
2018-11-18 21:24:50 +00:00
Rodrigo Rodriguez (pragmatismo.io)
759e1d34ee Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-18 19:23:26 -02:00
Rodrigo Rodriguez (pragmatismo.io)
cfd8b79889 fix(config): CI fixed, now improving. 2018-11-18 19:23:09 -02:00
Rodrigo
5016a67a20 chore(release): 1.0.5 [skip ci]
## [1.0.5](https://github.com/pragmatismo-io/BotServer/compare/1.0.4...1.0.5) (2018-11-18)

### Bug Fixes

* **config:** Try to fix CI. ([780a177](https://github.com/pragmatismo-io/BotServer/commit/780a177))
* **config:** Try to fix CI. ([240e905](https://github.com/pragmatismo-io/BotServer/commit/240e905))
* **config:** Try to fix CI. ([ae8e2bc](https://github.com/pragmatismo-io/BotServer/commit/ae8e2bc))
2018-11-18 20:47:19 +00:00
Rodrigo Rodriguez (pragmatismo.io)
095dad7cef fix(config): Try to fix CI. 2018-11-18 18:46:23 -02:00
Rodrigo Rodriguez (pragmatismo.io)
ea75213156 fix(config): Try to fix CI. 2018-11-18 17:03:24 -02:00
Rodrigo Rodriguez (pragmatismo.io)
cdc52656c9 fix(config): Try to fix CI. 2018-11-18 16:26:11 -02:00
Rodrigo Rodriguez (pragmatismo.io)
7acd160e25 fix(config): Try to fix CI. 2018-11-18 14:45:54 -02:00
Rodrigo Rodriguez (pragmatismo.io)
d9eb6f2363 fix(config): Try to fix CI. 2018-11-18 14:37:43 -02:00
Rodrigo Rodriguez (pragmatismo.io)
863888f8c6 fix(config): Try to fix CI. 2018-11-18 14:30:12 -02:00
Rodrigo Rodriguez (pragmatismo.io)
fb61e22cc7 fix(config): Try to fix CI. 2018-11-18 14:19:21 -02:00
Rodrigo Rodriguez (pragmatismo.io)
4ae8d5a14a Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-18 14:04:20 -02:00
Rodrigo Rodriguez (pragmatismo.io)
d1cb43fb3e fix(config): Try to fix CI. 2018-11-18 14:03:33 -02:00
Rodrigo Rodriguez
a4e0b6b34e Update README.md 2018-11-18 13:57:59 -02:00
Rodrigo Rodriguez (pragmatismo.io)
2a7686dd8a fix(config): Try to fix CI. 2018-11-18 12:41:45 -02:00
Rodrigo Rodriguez (pragmatismo.io)
922963f4d3 fix(config): always load config first. 2018-11-17 09:33:39 -02:00
Rodrigo Rodriguez (pragmatismo.io)
fa2d2b0f18 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-17 08:53:04 -02:00
Rodrigo Rodriguez (pragmatismo.io)
1afa915661 fix(code): Improvements on CODE_OF_CONDUCT and prettify. 2018-11-17 08:52:16 -02:00
018703caa9 Merge pull request #26 from pragmatismo-io/greenkeeper/semantic-release-15.12.0
Update semantic-release to the latest version 🚀
2018-11-16 10:45:21 -02:00
7db9c5c1b1 Merge pull request #27 from pragmatismo-io/greenkeeper/azure-arm-website-5.7.0
Update azure-arm-website to the latest version 🚀
2018-11-16 10:45:12 -02:00
09d44b7518 Merge pull request #28 from pragmatismo-io/greenkeeper/azure-arm-resource-7.2.0
Update azure-arm-resource to the latest version 🚀
2018-11-16 10:44:46 -02:00
greenkeeper[bot]
54a3924ff0 chore(package): update lockfile package-lock.json 2018-11-15 17:36:19 +00:00
greenkeeper[bot]
1c9d7640e9 fix(package): update azure-arm-resource to version 7.2.0 2018-11-15 17:36:16 +00:00
greenkeeper[bot]
9e08d24bb2 chore(package): update lockfile package-lock.json 2018-11-14 21:56:55 +00:00
greenkeeper[bot]
a6f4cfb027 fix(package): update azure-arm-website to version 5.7.0 2018-11-14 21:56:50 +00:00
greenkeeper[bot]
1f0a7d0a87 chore(package): update lockfile package-lock.json 2018-11-14 20:35:52 +00:00
greenkeeper[bot]
658fa761ef chore(package): update semantic-release to version 15.12.0 2018-11-14 20:35:48 +00:00
Rodrigo Rodriguez
d2b32d242f Update README.md 2018-11-13 11:49:48 -02:00
Rodrigo Rodriguez
f75fc82ce4 Update README.md 2018-11-12 20:51:05 -02:00
Rodrigo Rodriguez
309741b63d Update README.md 2018-11-12 20:45:40 -02:00
Rodrigo Rodriguez (pragmatismo.io)
0e149cbd8e fix(config): Updating semantic versioning settings. 2018-11-12 20:34:37 -02:00
Rodrigo Rodriguez (pragmatismo.io)
7cd9f02d9d fix(config): Updating semantic versioning settings. 2018-11-12 20:28:47 -02:00
Rodrigo Rodriguez
f1c223c454 Update README.md 2018-11-12 20:23:59 -02:00
8f94dbb88b Merge pull request #23 from pragmatismo-io/greenkeeper/semantic-release-15.11.0
Update semantic-release to the latest version 🚀
2018-11-12 20:07:36 -02:00
Rodrigo Rodriguez
956c6f8667 Update README.md 2018-11-12 20:05:08 -02:00
Rodrigo Rodriguez (pragmatismo.io)
0c17f5bfae fix(doc): contributing and security information. 2018-11-12 20:01:09 -02:00
Rodrigo Rodriguez (pragmatismo.io)
b431228090 fix(ci): semantic release plugins. 2018-11-12 18:55:50 -02:00
Rodrigo Rodriguez (pragmatismo.io)
3c6eac55ad fix(ci): semantic release plugins. 2018-11-12 18:51:13 -02:00
Rodrigo Rodriguez (pragmatismo.io)
2adf14d4c7 fix(ci): semantic release plugins. 2018-11-12 18:46:05 -02:00
greenkeeper[bot]
31db354c41 chore(package): update lockfile package-lock.json 2018-11-12 20:32:59 +00:00
greenkeeper[bot]
fe14689218 chore(package): update semantic-release to version 15.11.0 2018-11-12 20:32:54 +00:00
Rodrigo Rodriguez (pragmatismo.io)
02de9d0fc8 fix(ci): semantic release plugins. 2018-11-12 18:05:38 -02:00
Rodrigo Rodriguez (pragmatismo.io)
95682a7ab8 fix(ci): semantic release plugins. 2018-11-12 17:58:02 -02:00
Rodrigo Rodriguez (pragmatismo.io)
7eb07095cd fix(ci): semantic release plugins. 2018-11-12 17:47:24 -02:00
Rodrigo Rodriguez (pragmatismo.io)
1ab35f8f71 fix(ci): semantic release plugins. 2018-11-12 17:21:32 -02:00
Rodrigo Rodriguez (pragmatismo.io)
0e3c2265f1 fix(ci): semantic release plugins. 2018-11-12 17:11:21 -02:00
Rodrigo Rodriguez (pragmatismo.io)
145545b7c6 fix(ci): semantic release plugins. 2018-11-12 17:08:12 -02:00
Rodrigo Rodriguez (pragmatismo.io)
d9bd9f7f69 fix(ci): semantic release plugins. 2018-11-12 17:06:15 -02:00
Rodrigo Rodriguez (pragmatismo.io)
5752708846 fix(ci): semantic release plugins. 2018-11-12 17:02:11 -02:00
Rodrigo Rodriguez (pragmatismo.io)
767280a8ea fix(ci): semantic release plugins. 2018-11-12 16:51:27 -02:00
Rodrigo Rodriguez (pragmatismo.io)
4c453ee545 fix(ci): semantic release plugins. 2018-11-12 16:31:08 -02:00
Rodrigo Rodriguez (pragmatismo.io)
dd57c8820a fix(ci): semantic release plugins. 2018-11-12 16:15:54 -02:00
Rodrigo Rodriguez (pragmatismo.io)
f7a0cde21e fix(ci): semantic release plugins. 2018-11-12 16:10:47 -02:00
Rodrigo Rodriguez (pragmatismo.io)
1325d2cc08 fix(ci): semantic release plugins. 2018-11-12 16:01:16 -02:00
Rodrigo Rodriguez (pragmatismo.io)
07621c9549 fix(ci): semantic release plugins. 2018-11-12 15:43:25 -02:00
Rodrigo Rodriguez (pragmatismo.io)
4d4f58eeb3 fix(ci): semantic release plugins. 2018-11-12 15:32:36 -02:00
Rodrigo Rodriguez (pragmatismo.io)
ad4ad22ab5 fix(ci): add new logging feature 2018-11-12 14:48:38 -02:00
Rodrigo Rodriguez (pragmatismo.io)
6e50e7839b chore(ci): semantic commit 2018-11-12 14:02:26 -02:00
Rodrigo Rodriguez (pragmatismo.io)
d0986e0b83 chore(ci): semantic commit 2018-11-12 14:00:53 -02:00
Rodrigo Rodriguez (pragmatismo.io)
e30dab549a chore(ci): semantic commit 2018-11-12 13:57:23 -02:00
Rodrigo Rodriguez (pragmatismo.io)
98c1e95380 chore(ci): semantic commit 2018-11-12 13:53:21 -02:00
Rodrigo Rodriguez (pragmatismo.io)
86d8417b6e chore(ci): semantic commit 2018-11-12 13:23:23 -02:00
Rodrigo Rodriguez (pragmatismo.io)
5c8622b70b fix(btfmw): new dialog pattern fixing. 2018-11-12 13:00:30 -02:00
Rodrigo Rodriguez (pragmatismo.io)
5e58d5731d chore(ci): semantic commit 2018-11-12 12:54:14 -02:00
Rodrigo Rodriguez (pragmatismo.io)
78273ba4a6 fix: Fixing auto-commit. 2018-11-12 12:40:35 -02:00
Rodrigo Rodriguez (pragmatismo.io)
4bcff530af fix: More CI.
Travis and auto-semantic.
2018-11-12 12:36:59 -02:00
Rodrigo Rodriguez (pragmatismo.io)
f45d7f69ff fix(config): TSLint parsed on all files.
new(config): Several CI integrations.
2018-11-12 12:20:44 -02:00
Rodrigo Rodriguez
f5ead3e625 Update .travis.yml 2018-11-12 11:40:36 -02:00
d8300dbe39 Update README.md 2018-11-12 11:32:34 -02:00
282dd7e8b1 Merge pull request #21 from pragmatismo-io/greenkeeper/initial
Update dependencies to enable Greenkeeper 🌴
2018-11-12 11:30:28 -02:00
greenkeeper[bot]
d52865c958 chore(package): update lockfile packages/default.gbui/package-lock.json 2018-11-12 13:03:13 +00:00
greenkeeper[bot]
e1d30a5fed chore(package): update lockfile package-lock.json 2018-11-12 13:03:09 +00:00
greenkeeper[bot]
baac8a33a8 docs(readme): add Greenkeeper badge 2018-11-12 13:03:06 +00:00
greenkeeper[bot]
a17bb1ef2f chore(travis): whitelist greenkeeper branches 2018-11-12 13:03:03 +00:00
greenkeeper[bot]
0a1d75aeea chore(package): update dependencies 2018-11-12 13:02:59 +00:00
greenkeeper[bot]
78424e0c5f chore(package): update dependencies 2018-11-12 13:02:57 +00:00
greenkeeper[bot]
edcfe17c8f chore: add Greenkeeper config file 2018-11-12 13:02:53 +00:00
Rodrigo Rodriguez
9985666a7d Update README.md 2018-11-12 10:12:29 -02:00
Rodrigo Rodriguez (pragmatismo.io)
96bad1837c 0.1.11 2018-11-11 21:30:05 -02:00
Rodrigo Rodriguez (pragmatismo.io)
ea6c7f5dd7 0.1.10 2018-11-11 21:29:55 -02:00
Rodrigo Rodriguez (pragmatismo.io)
bbb6dd36e7 CI in progress. 2018-11-11 21:29:48 -02:00
Rodrigo Rodriguez (pragmatismo.io)
207e415fe2 CI. 2018-11-11 20:16:40 -02:00
Rodrigo Rodriguez (pragmatismo.io)
68b1b98209 CI. 2018-11-11 20:08:56 -02:00
Rodrigo Rodriguez (pragmatismo.io)
07e72d604f CI. 2018-11-11 20:05:08 -02:00
Rodrigo Rodriguez (pragmatismo.io)
7d29ebc31a CI. 2018-11-11 20:02:21 -02:00
Rodrigo Rodriguez (pragmatismo.io)
a6251189da CI in course. 2018-11-11 20:00:11 -02:00
Rodrigo Rodriguez (pragmatismo.io)
d1dda009be CI in progress. 2018-11-11 19:57:58 -02:00
Rodrigo Rodriguez (pragmatismo.io)
a45a8c5106 CI in course. 2018-11-11 19:56:00 -02:00
Rodrigo Rodriguez (pragmatismo.io)
09616980ae Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-11 19:38:53 -02:00
Rodrigo Rodriguez (pragmatismo.io)
a19bafdfda CI in progress with releases. 2018-11-11 19:38:43 -02:00
Rodrigo Rodriguez
9f050e986a Update README.md 2018-11-11 19:21:48 -02:00
Rodrigo Rodriguez (pragmatismo.io)
a0fd574d67 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-11 19:20:14 -02:00
Rodrigo Rodriguez (pragmatismo.io)
f60734a003 TSLint in progress. 2018-11-11 19:20:04 -02:00
Rodrigo Rodriguez
cd1a1bbb7e Update README.md 2018-11-11 19:16:20 -02:00
Rodrigo Rodriguez
3bf1926553 Update README.md 2018-11-11 19:15:36 -02:00
Rodrigo Rodriguez (pragmatismo.io)
93e03c5549 TSLint fixing. 2018-11-11 19:09:18 -02:00
Rodrigo Rodriguez (pragmatismo.io)
fd0a6126fa CI in progress. 2018-11-11 18:14:25 -02:00
Rodrigo Rodriguez (pragmatismo.io)
6e4d4223cf CI in progress. 2018-11-11 18:11:22 -02:00
Rodrigo Rodriguez (pragmatismo.io)
f55a774a02 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-11 18:09:48 -02:00
Rodrigo Rodriguez (pragmatismo.io)
0235f6dfbc CI in progress. 2018-11-11 18:09:21 -02:00
Rodrigo Rodriguez (pragmatismo.io)
c7263c4b01 CI in progress. 2018-11-11 18:06:22 -02:00
Rodrigo Rodriguez (pragmatismo.io)
fe1225230f CI in progress. 2018-11-11 18:03:35 -02:00
Rodrigo Rodriguez (pragmatismo.io)
956710d847 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-11 18:01:21 -02:00
Rodrigo Rodriguez (pragmatismo.io)
691ee80786 CI in progress. 2018-11-11 18:00:37 -02:00
Rodrigo Rodriguez
7bf8f43214 Rename .travis.yaml to .travis.yml 2018-11-11 17:41:48 -02:00
Rodrigo Rodriguez (pragmatismo.io)
723666b7ec Fixing CI configuration. 2018-11-11 17:41:36 -02:00
Rodrigo Rodriguez (pragmatismo.io)
e63830efd1 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-11 17:31:27 -02:00
Rodrigo Rodriguez (pragmatismo.io)
efeb06c4b8 Added CI and unit test infrastructure; updated packages. 2018-11-11 17:31:17 -02:00
Rodrigo Rodriguez
a714c8950d Update README.md 2018-11-11 16:15:50 -02:00
Rodrigo Rodriguez
d9223b5ea4 Update README.md 2018-11-11 15:11:39 -02:00
Rodrigo Rodriguez
057efe1303 Update README.md 2018-11-11 15:08:20 -02:00
Rodrigo Rodriguez
bb1907932e Update README.md 2018-11-11 14:58:50 -02:00
3a84186359 Add files via upload 2018-11-11 14:58:21 -02:00
Rodrigo Rodriguez
1646a897b6 Update README.md 2018-11-11 14:55:26 -02:00
Rodrigo Rodriguez (pragmatismo.io)
ba8359a56b Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-11 10:51:11 -02:00
Rodrigo Rodriguez (pragmatismo.io)
d0d3025641 Adding CI. 2018-11-11 10:50:58 -02:00
Rodrigo Rodriguez
1a6a55365b Update README.md 2018-11-11 10:08:33 -02:00
Rodrigo Rodriguez
6344834183 Update README.md 2018-11-11 10:06:42 -02:00
Rodrigo Rodriguez (pragmatismo.io)
c3f9bc9a70 Republishing. 2018-11-05 14:46:48 -02:00
Rodrigo Rodriguez (pragmatismo.io)
995015a46a Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-11-05 14:27:19 -02:00
Rodrigo Rodriguez (pragmatismo.io)
cc71390ed7 Publishing and cleaning. 2018-11-05 14:27:05 -02:00
Rodrigo Rodriguez (pragmatismo.io)
51c79a8155 Cleaning and redeploy. 2018-11-05 14:23:36 -02:00
Rodrigo Rodriguez (pragmatismo.io)
b15d39f9a2 ARM process is done. 2018-11-04 17:26:29 -02:00
Rodrigo Rodriguez (pragmatismo.io)
bbfc87bbd3 Removing bugs after updating to BOT Framework latest dialog pattern. 2018-11-04 09:19:03 -02:00
Rodrigo Rodriguez (pragmatismo.io)
8245a89707 Text Replacement error due to generalization initiative, changed 'directLine' to 'line'. Solved by @compulim - MSFT. 2018-11-03 11:47:46 -03:00
Rodrigo Rodriguez (pragmatismo.io)
cc428c00be Trying to get the UI to work https://github.com/Microsoft/BotFramework-WebChat/issues/970 2018-11-02 22:41:55 -03:00
Rodrigo Rodriguez (pragmatismo.io)
1563700e84 Obtaining help from MSFT on https://github.com/Microsoft/BotFramework-WebChat/issues/1146. 2018-11-02 18:04:41 -03:00
Rodrigo Rodriguez (pragmatismo.io)
1e28be6355 Trying to get the bot running again; added default theme in case of recent born bots. 2018-11-02 14:19:41 -03:00
Rodrigo Rodriguez (pragmatismo.io)
a580663191 More MS adaptations. 2018-11-01 21:39:37 -03:00
Rodrigo Rodriguez (pragmatismo.io)
c7c7ee76a6 Microsoft updated everything again, so we need to update it too. 2018-11-01 21:06:11 -03:00
Rodrigo Rodriguez (pragmatismo.io)
5ae1079807 Updating to latest architectural changes from BotBuilder-js v4. 2018-11-01 18:00:09 -03:00
Rodrigo Rodriguez (pragmatismo.io)
5fa47c2eca PUT in BotService was replaced by GET - the bot was unusable. 2018-11-01 15:11:23 -03:00
Rodrigo Rodriguez (pragmatismo.io)
4667a4b8e8 Try to create the app from scratch on Microsoft App domain. 2018-10-30 19:52:40 -03:00
Rodrigo Rodriguez (pragmatismo.io)
325ed926ee Ngrok initialization and other startup stuff. 2018-10-28 21:56:51 -03:00
Rodrigo Rodriguez (pragmatismo.io)
900568b3b6 More testing and adjustments on automation. 2018-10-25 21:57:28 -03:00
Rodrigo Rodriguez (pragmatismo.io)
7f3a46479e ARM automation done. 2018-10-25 18:13:51 -03:00
Rodrigo Rodriguez (pragmatismo.io)
e81dec34c5 Bot deployment and key getting done. 2018-10-24 12:06:47 -03:00
83abe5b9fd Set theme jekyll-theme-minimal 2018-10-24 09:21:34 -03:00
Rodrigo Rodriguez (pragmatismo.io)
8eec1dabb9 Plug and play dev. environment in progress. 2018-10-22 15:33:23 -03:00
Rodrigo Rodriguez
57c766b698 Update README.md 2018-10-21 15:16:43 -03:00
Rodrigo Rodriguez (pragmatismo.io)
736ab0f81c Generating a valid account for MSSQL. 2018-10-17 19:57:22 -03:00
5b79f2b92c Add files via upload 2018-10-17 19:50:52 -03:00
d65f4e0c6a Add files via upload 2018-10-17 19:40:59 -03:00
PH-Nascimento
54c9085239 Update README.md 2018-10-16 20:32:43 -03:00
Rodrigo Rodriguez
47ea4d4330 Update WhatsappDirectLine.ts 2018-10-16 10:19:34 -03:00
Rodrigo Rodriguez (pragmatismo.io)
95ca44b72e Call orchestration. 2018-10-15 21:03:17 -03:00
Rodrigo Rodriguez (pragmatismo.io)
90835ae359 Advancements in ARM and other repeatable stuff automation. 2018-10-15 19:05:43 -03:00
0df370cd28 Add files via upload 2018-10-15 14:11:20 -03:00
Rodrigo Rodriguez (pragmatismo.io)
a5b6eaa907 New tasks on Azure Deployer and start of Bot Farm deployer. 2018-10-14 19:58:54 -03:00
Rodrigo Rodriguez (pragmatismo.io)
85e1b1fea1 First version of azure-arm automation. 2018-10-14 11:38:40 -03:00
Rodrigo Rodriguez (pragmatismo.io)
5a74e48290 Independent line for BotServer. 2018-10-12 12:28:51 -03:00
Rodrigo Rodriguez (pragmatismo.io)
98e11b9342 Storage sync logic and some refactoring. 2018-10-11 10:53:22 -03:00
ed5d30ae1d Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-10-06 21:26:05 -03:00
c519fc5c72 Adjustment in homepage attribute. 2018-10-06 21:25:37 -03:00
72257ea868 Update README.md 2018-09-30 11:20:56 -03:00
699f6c8033 Updated packages references. 2018-09-27 12:16:48 -03:00
e5797665bc Fixing replacing error in package.json. 2018-09-27 11:38:34 -03:00
8e19a0f3dc Updating licensing and fixing BotBuilder version. 2018-09-27 11:35:35 -03:00
2826385c43 Updated packages versions. 2018-09-27 09:27:39 -03:00
d73bd34856 Now tsc outputs the version. 2018-09-27 09:12:51 -03:00
3764925a58 RegExp for authentication fixed. 2018-09-26 21:56:17 -03:00
936c2cb9dc Bringing TypeScript. 2018-09-25 22:41:50 -03:00
7fa51c152a powerbi-client added. 2018-09-25 21:04:37 -03:00
592a79d2a6 Trying to fix npm run build on default.gbui. 2018-09-25 20:26:33 -03:00
a2b660137f Trying to fix npm run build on default.gbui. 2018-09-24 22:03:09 -03:00
c60e97b152 Trying to fix npm run build on default.gbui. 2018-09-24 21:51:48 -03:00
1cc37da861 Trying to fix npm run build on default.gbui. 2018-09-24 21:42:04 -03:00
1bf9a013ce Command file improvement. 2018-09-24 20:08:35 -03:00
a064c9087f Trying to deploy to WebApp with some improvements. 2018-09-24 19:56:11 -03:00
8e5269a1f3 Fixed node version. 2018-09-24 19:32:11 -03:00
fae3059efc Version updated. 2018-09-24 15:28:35 -03:00
57b42134ba * Error handling improved and logging enriched as well.
* Setting DATABASE_ is now STORAGE_.
2018-09-24 15:27:26 -03:00
c865507ef2 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-09-24 11:04:47 -03:00
4d15b702cf * FIX: Admin now is internationalized.
* FIX: Webchat now receives a private token.
* FIX: OAuth2 now has got revised and included state to avoid CSRF attacks.
* FIX: Now server will only start with a secure administration password.
2018-09-24 11:04:36 -03:00
a20d522339 Create README.md 2018-09-21 11:56:10 -03:00
cfcb854083 Create README.md 2018-09-21 08:16:38 -03:00
1c5878d1eb * NEW: kb.gbapp now has a complete browser of excel articles.
* FIX: Some security improved.
* NEW: Protocol changes for exchanging questions between UI and Bot Server.
2018-09-20 12:37:33 -03:00
6aef54c096 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-09-20 12:35:58 -03:00
c70d21d781 * NEW: kb.gbapp now has a complete browser of excel articles.
* FIX: Some security improved.
* NEW: Protocol changes for exchanging questions between UI and Bot Server.
2018-09-20 12:35:47 -03:00
39859054e5 Update README.md 2018-09-18 10:57:52 -03:00
6300f2eff1 * gbot tested command on Windows machines.
* Bot lib reference updated.
2018-09-17 21:08:09 -03:00
c13e8891f1 Update README.md 2018-09-17 20:40:15 -03:00
fd3bf3f27d Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-09-16 20:27:46 -03:00
839d052aad Updated docs and published on NPM. 2018-09-16 20:26:07 -03:00
1b38ab7c81 SMS sending is now done. 2018-09-16 20:15:42 -03:00
a1ad340401 Now the AD password can be reset. 2018-09-16 18:17:28 -03:00
48eab43ae7 Added Azure AD administration routines. 2018-09-16 17:00:17 -03:00
40c25a3cbc Testing and rebase to en-us as default language. 2018-09-14 14:29:44 -03:00
2cb1e1216f General Bots in now almost globalized. 2018-09-14 12:56:54 -03:00
697980db02 Multi language support changed to a custom. 2018-09-13 19:58:18 -03:00
6c45da3886 Adding multi language support. 2018-09-13 18:21:22 -03:00
b52e99af9b Now context is correctly reset when coming from menu. 2018-09-12 05:18:37 -03:00
825c6a1f46 Removal of semicolon. 2018-09-12 04:47:11 -03:00
7f590b9329 Menu is back again in BtFmwV4. 2018-09-12 04:42:29 -03:00
fc0cd63f22 Adding some semicolon back. 2018-09-11 19:58:33 -03:00
51239a534d Removal of semicolon. 2018-09-11 19:40:53 -03:00
797a45a284 Adding tslint.json and working on Cognitive Services NPM package upgrade. 2018-09-11 19:33:58 -03:00
f24eaf2348 react downgraded to 15.5.0 due to https://github.com/Microsoft/BotFramework-WebChat/issues/970.
Promises revised.
2018-09-11 12:04:50 -03:00
52c19a0447 KB FAQ click working now. 2018-09-10 19:27:56 -03:00
185cd615ee KB is almost working in V4. 2018-09-10 16:24:32 -03:00
2d1fe250d2 MinService Demonolithization. 2018-09-10 12:09:48 -03:00
f469b61f72 Promise has sequenced import tasks in .gbkb. 2018-09-09 20:09:07 -03:00
1953899a67 KB has now all the way Promised. 2018-09-09 18:11:41 -03:00
0c97f321b9 Bot UI is running again. 2018-09-09 16:40:04 -03:00
a80a443e74 More logging on web-service calls and Promise replacement for forEach. 2018-09-09 16:18:26 -03:00
fa8718a466 New promises and compiling. 2018-09-09 14:39:37 -03:00
096fcfceaa Migrating Bot Boot logic to BotFmwV4. 2018-09-04 15:09:52 -03:00
b2471b50a2 Debugging V4 and adding some security logic. 2018-09-03 13:43:09 -03:00
eeefb77c2c Update README.md 2018-09-02 19:09:26 -03:00
02f6a22429 New logo. 2018-09-02 19:09:35 -03:00
f18102086d Add files via upload 2018-09-02 19:06:08 -03:00
aca41b3f3b Delete logo.png 2018-09-02 19:05:58 -03:00
0a8c5d2fce Add files via upload 2018-09-02 19:04:20 -03:00
46e6b6593e Update README.md 2018-09-02 18:24:49 -03:00
d52069a18c Update README.md 2018-09-02 18:24:08 -03:00
0dad8f6a3e Add files via upload 2018-09-01 21:07:03 -03:00
2066a089dc Add files via upload 2018-09-01 21:04:50 -03:00
c3ed1b02d6 Update README.md 2018-09-01 20:55:49 -03:00
1428437d4e Update README.md 2018-09-01 20:46:45 -03:00
b3408c9eb6 Add files via upload 2018-09-01 20:45:25 -03:00
cb0aee532e Update README.md 2018-09-01 18:52:56 -03:00
09d773d8f3 Update README.md 2018-09-01 18:46:24 -03:00
dd689cc980 Update README.md 2018-09-01 18:45:46 -03:00
e2b24830c2 Add files via upload 2018-09-01 18:44:28 -03:00
0ff575c42a Finishing merge on v4 branch. 2018-09-01 13:51:58 -03:00
a34b20ce2d Merge remote-tracking branch 'remotes/origin/master' into MigrationToBotFmwV4 2018-09-01 12:49:38 -03:00
182be73ab8 Latest adjustments trying to fix BotFramework-WebChat control bug as documented in https://github.com/Microsoft/BotFramework-WebChat/issues/970. 2018-09-01 12:36:04 -03:00
489394769c Update README.md 2018-08-30 17:27:32 -03:00
7eb3d0cfdd Update README.md 2018-08-30 11:54:07 -03:00
a6cc49d6b7 Add files via upload 2018-08-30 11:40:08 -03:00
dbd75838ef Update README.md 2018-08-30 11:39:33 -03:00
254ecc093e Update README.md 2018-08-30 11:38:29 -03:00
61db960170 Add files via upload 2018-08-30 11:33:48 -03:00
c83fbc2bf1 Delete Use Visual Studio Code To Keep All Packages in a .gbai workspace.png 2018-08-30 11:32:47 -03:00
974cd84411 Add files via upload 2018-08-30 11:31:20 -03:00
2ad8e0bb7a Update README.md 2018-08-30 11:12:39 -03:00
a23f1dffaa Key packages table added. 2018-08-30 11:12:19 -03:00
e430f7e6cd Dialog being called again. 2018-08-28 19:16:29 -03:00
fa6051fd29 Migration to V4 is in progress. The Bot now can be loaded again. 2018-08-28 17:50:19 -03:00
dfa562f783 Adding some images to documentation and segmenting documentation main folder. 2018-08-25 16:25:37 -03:00
Jorge Ramos
7af58f37b6 FIX: Updated dependencies versions. 2018-08-22 05:43:36 -03:00
Jorge Ramos
cd5a5c81bf Add skipLibCheck in tsconfig 2018-08-19 15:34:21 -03:00
Jorge Ramos
2ef7d1e31e Merge branch 'master' of https://github.com/pragmatismo-io/BotServer
# Resolved:
#	tsconfig.json
2018-08-19 13:02:21 -03:00
Jorge Ramos
533325a12c Add keyofStringsOnly in tsconfig 2018-08-19 12:58:35 -03:00
Rafael Arenario Pereira da Silva
72737dc026 Now compiling. 2018-08-19 12:42:50 -03:00
Rafael Arenario Pereira da Silva
54179659b7 Merge branch 'master' of https://github.com/pragmatismo-io/BotServer
# Conflicts:
#	deploy/whatsapp.gblib/services/WhatsappDirectLine.ts
2018-08-19 12:37:01 -03:00
Rafael Arenario Pereira da Silva
930ec95a8a Adjustments in Hackathon. 2018-08-19 12:34:37 -03:00
Jorge Ramos
86850be974 Whatsapp test changed to all netshoes bots 2018-08-19 05:56:38 -03:00
Jorge Ramos
b675210fb5 Compilation fixes 2018-08-19 05:37:13 -03:00
Jorge Ramos
9b09b129ec Merge branch 'master' of https://github.com/pragmatismo-io/BotServer
# Resolved:
#	deploy/default.gbui/public/index.html
2018-08-18 23:51:26 -03:00
Jorge Ramos
46b8253981 Opacity commented in class "loader" and todoincluded 2018-08-18 23:46:51 -03:00
Rafael Arenario Pereira da Silva
3de1983ab2 Ajustes para corrigir o problema de inicialização do class, além de preparar a aplicação para funcionar com o Whatsapp. 2018-08-18 23:10:33 -03:00
Jorge Ramos
c481bc3a63 Merge branch 'master' of https://github.com/pragmatismo-io/BotServer 2018-08-01 02:08:58 -03:00
Jorge Ramos
5dae730cac Change STS API endpoint (temporary solution) 2018-08-01 02:08:45 -03:00
5d9f5f0fa7 Updated documentation about running tests. 2018-07-26 10:51:46 -03:00
fd03ae30d5 Updated test search path so mocha can find test.ts files. 2018-07-26 10:43:35 -03:00
0156ef84d6 Create requirement 2018-07-15 09:07:04 -03:00
Rafael Arenario Pereira da Silva
2c40dfec3a Ajustes para abertura do sistema sem a necessidade da pasta de gbapp. 2018-06-18 09:41:55 -03:00
1032ac4c0e LUIS is called again with no context revoke. 2018-06-04 20:27:21 -03:00
Jorge Ramos
a9c2ff4eae - FIX: Packages updated.
- NEW: DATABASE_SYNC_ALTER environment parameter.
- NEW: DATABASE_SYNC_FORCE environment parameter.
- NEW: Define constraint names in MSSQL.
2018-06-04 08:03:23 -03:00
e6241f16ba The application is now compiling with "sequelize-typescript": "^0.6.3". 2018-06-04 06:42:47 -03:00
dd01b96615 Code migrated and compiling, now the bot needs to work again. 2018-06-04 05:33:37 -03:00
e63d721253 NEW: Added STT and TTS capabilities to default.gbui. 2018-06-01 16:11:52 -03:00
Jorge Ramos
daacf5c6d7 gbui packages updated. 2018-05-29 06:20:09 -03:00
Jorge Ramos
b117d40479 Packages updated. 2018-05-29 05:27:52 -03:00
Jorge Ramos
89c90f27d3 Package dependencies updated. 2018-05-28 21:58:14 -03:00
Jorge Ramos
9f65004d38 Minor change (blank line) in package.json 2018-05-28 07:03:26 -03:00
Jorge Ramos
da898814f5 Update of dependencies versions (package.json).
If a bot package's name begins with '.', then it is ignored.
Created DATABASE_LOGGING environment parameter.
2018-05-28 06:51:06 -03:00
Jorge Ramos
9bcb2a0bf8 Atualização do package-lok.json 2018-05-27 21:10:50 -03:00
2e9e444817 - FIX: Whastapp line now can be turned off;
- FIX: More error logging on BuildMin.
2018-05-27 18:15:33 -03:00
Jorge Ramos
615b640a7f Update package.json and package-lock.json 2018-05-18 22:21:23 -03:00
e55c23df3e - FIX: AskDialog compilation error.
- FIX: More Whatsapp line adjustments: Duplicated 'Hi!' & log enrichment.
2018-05-18 11:39:17 -03:00
Jorge Ramos
994a94deac Fixed missing variable declaration 2018-05-16 23:21:17 -03:00
d9687fa6a1 Update issue templates 2018-05-16 12:13:31 -03:00
f20483a687 Create CODE_OF_CONDUCT.md 2018-05-16 12:12:08 -03:00
ae57d8b8c8 - FIX: Duplicated asking on main loop removed.
- FIX: Whatsapp log phrase correction.
- FIX: Directline can now receive messages sent in not-in-conversation, projector-only fashion.
2018-05-16 12:06:37 -03:00
Jorge Ramos
66093890c4 Auto-dispatch to dialog based on intent name. 2018-05-14 04:12:09 -03:00
Jorge Ramos
58d701d6d2 Parameter whatsappServiceWebhookUrl added. 2018-05-14 01:48:39 -03:00
caabe1cbbc Improvements on Whatsapp directline. 2018-05-13 18:28:24 -03:00
cc79605ebd Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-05-13 16:36:06 -03:00
ce24e6ba2b Minor fixes in imports and exact match question processing. 2018-05-13 16:35:57 -03:00
Jorge Ramos
e5b61657a2 Rename _this and update package.json 2018-05-12 22:41:54 -03:00
85311ff566 Updated package.json to include git repository and homepage. 2018-05-12 16:14:59 -03:00
ca25d6babf - NEW: Whatsapp directline client is now working in preview. 2018-05-12 16:08:24 -03:00
fa157d19f9 Building 3rd party service webhook for Whatsapp.gblib.
Signed-off-by: Rodrigo Rodriguez <me@rodrigorodriguez.com>
2018-05-12 13:40:34 -03:00
15b181fd04 Whatsapp channel improvements. 2018-05-11 23:27:00 -03:00
3d53a514c3 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-05-11 22:18:47 -03:00
c44e3b0ec7 - NEW: Now each .gbapp has it own set of syspackages loaded.
- NEW: Added support for Whatsapp external service key on bot instance model.
2018-05-11 22:18:38 -03:00
6b3b158640 Update README.md 2018-05-09 16:36:46 -03:00
e4d83cd384 Update README.md 2018-05-09 16:35:09 -03:00
316217b98f Started Whatsapp interface, updated packages and cleaned up. 2018-05-07 20:45:11 -03:00
2f94c56be2 New version file and numbering update. 2018-05-06 19:26:45 -03:00
5c45bbe790 - FIX: .gbapp files now correctly loaded before other package types so custom models can be used to sync DB.
- NEW: Removed Boot Package feature. Now every .gbot found on deploy folders are deployed on startup.
2018-05-06 19:25:47 -03:00
0c80dfbf35 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-05-05 08:26:13 -03:00
e0af174b6f Contained .js files into the final package. 2018-05-05 08:26:00 -03:00
David Lerner
32e46d9b50 Novo logo 2018-04-27 15:08:17 -03:00
f6cd9e0ba8 English grammar correction. 2018-04-26 23:03:41 -03:00
4a0c9a44c3 Cleaning and improvements on setup development environment on Windows and source-code sharing with direct download links. 2018-04-26 22:40:51 -03:00
91f3ce534e web.config path updated. 2018-04-25 03:10:14 -03:00
3cb91b084c README.md updated. 2018-04-25 03:03:00 -03:00
980128bac3 Fix in README.md. 2018-04-25 02:41:57 -03:00
ae6c8019ed Azure deploy in progress. 2018-04-25 02:17:02 -03:00
612db4ef61 package.json updated with dev. references. 2018-04-25 02:11:14 -03:00
0dd0524b61 Adding missing packages on prod. 2018-04-25 02:03:45 -03:00
894143417e README.md updated. 2018-04-25 01:32:21 -03:00
1a730dda56 Updated version in package.json. 2018-04-25 01:17:04 -03:00
4873e05ecd Azure Search call fix for managing KB indexes. 2018-04-25 00:58:34 -03:00
a790fcebd7 Cleaning. 2018-04-24 05:37:34 -03:00
cfde47ab4f Cleaning and KB improvements. 2018-04-24 05:36:48 -03:00
09408f3f24 Merge branch 'master' of https://github.com/pragmatismo-io/botserver 2018-04-23 13:52:14 -03:00
8e88070184 Added docs and fixed package references. 2018-04-23 13:52:03 -03:00
ee79d19cca Update README.md 2018-04-21 11:26:14 -03:00
268f224daf Update README.md 2018-04-21 11:25:03 -03:00
a7e34dcce9 Added logo to README.md. 2018-04-21 11:19:43 -03:00
a989e14480 Update README.md 2018-04-21 04:33:34 -03:00
5325c1cbd1 Update README.md 2018-04-21 03:37:32 -03:00
1034 changed files with 335551 additions and 49098 deletions

5
.cargo/config.toml Normal file
View file

@ -0,0 +1,5 @@
[build]
rustc-wrapper = "sccache"
[target.x86_64-unknown-linux-gnu]
linker = "clang"

View file

@ -1,2 +0,0 @@
[config]
command = deploy.cmd

52
.env.embedded Normal file
View file

@ -0,0 +1,52 @@
# BotServer Embedded Configuration
# For Orange Pi, Raspberry Pi, and other ARM SBCs
# Server
HOST=0.0.0.0
PORT=9000
RUST_LOG=info
# Database (SQLite for embedded, no PostgreSQL needed)
DATABASE_URL=sqlite:///opt/botserver/data/botserver.db
# LLM Configuration - Local llama.cpp
LLM_PROVIDER=llamacpp
LLM_API_URL=http://127.0.0.1:8080
LLM_MODEL=tinyllama
# Alternative: Use remote API
# LLM_PROVIDER=openai
# LLM_API_URL=https://api.openai.com/v1
# LLM_API_KEY=sk-...
# Alternative: Ollama (if installed)
# LLM_PROVIDER=ollama
# LLM_API_URL=http://127.0.0.1:11434
# LLM_MODEL=tinyllama
# Memory limits for embedded
MAX_CONTEXT_TOKENS=2048
MAX_RESPONSE_TOKENS=512
STREAMING_ENABLED=true
# Embedded UI
STATIC_FILES_PATH=/opt/botserver/ui
DEFAULT_UI=embedded
# WebSocket
WS_PING_INTERVAL=30
WS_TIMEOUT=300
# Security (change in production!)
JWT_SECRET=embedded-change-me-in-production
CORS_ORIGINS=*
# Logging
LOG_FILE=/opt/botserver/data/botserver.log
LOG_MAX_SIZE=10M
LOG_RETENTION=7
# Performance tuning for low-memory devices
# Uncomment for <2GB RAM devices
# RUST_BACKTRACE=0
# MALLOC_ARENA_MAX=2

36
.env.example Normal file
View file

@ -0,0 +1,36 @@
# BotServer Environment Configuration
# =====================================
#
# ONLY VAULT VARIABLES ARE ALLOWED IN THIS FILE!
# All secrets (DATABASE_URL, API keys, etc.) MUST be stored in Vault.
# NO LEGACY FALLBACK - Vault is mandatory.
#
# Vault paths for secrets:
# - gbo/tables - PostgreSQL credentials (host, port, database, username, password)
# - gbo/drive - MinIO/S3 credentials (accesskey, secret)
# - gbo/cache - Redis credentials (password)
# - gbo/directory - Zitadel credentials (url, project_id, client_id, client_secret)
# - gbo/email - Email credentials (username, password)
# - gbo/llm - LLM API keys (openai_key, anthropic_key, groq_key)
# - gbo/encryption - Encryption keys (master_key)
# - gbo/meet - LiveKit credentials (api_key, api_secret)
# - gbo/alm - Forgejo credentials (url, admin_password, runner_token)
# - gbo/vectordb - Qdrant credentials (url, api_key)
# - gbo/observability - InfluxDB credentials (url, org, bucket, token)
# =====================
# VAULT CONFIGURATION - ONLY THESE VARS ARE ALLOWED
# =====================
# Vault server address
VAULT_ADDR=https://localhost:8200
# Vault authentication token (generated during vault init)
# This will be populated automatically after first bootstrap
VAULT_TOKEN=
# Skip TLS verification for development (set to false in production)
VAULT_SKIP_VERIFY=true
# Cache TTL for secrets in seconds (default: 300 = 5 minutes)
VAULT_CACHE_TTL=300

View file

@ -0,0 +1,89 @@
name: BotServer CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_BUILD_JOBS: 8
CARGO_NET_RETRY: 10
jobs:
build:
runs-on: gbo
steps:
- name: Disable SSL verification
run: git config --global http.sslVerify false
- name: Setup Workspace
run: |
# Clone the main gb repository
git clone --depth 1 --branch main https://alm.pragmatismo.com.br/GeneralBots/gb.git workspace
cd workspace
git submodule update --init --depth 1 botlib
# Clone botserver separately
git clone --depth 1 --branch main https://alm.pragmatismo.com.br/GeneralBots/BotServer.git botserver
# Remove all members except botserver and botlib from workspace
sed -i '/"botapp",/d' Cargo.toml
sed -i '/"botdevice",/d' Cargo.toml
sed -i '/"bottest",/d' Cargo.toml
sed -i '/"botui",/d' Cargo.toml
sed -i '/"botbook",/d' Cargo.toml
sed -i '/"botmodels",/d' Cargo.toml
sed -i '/"botplugin",/d' Cargo.toml
sed -i '/"bottemplates",/d' Cargo.toml
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libpq-dev libssl-dev liblzma-dev pkg-config
- name: Install Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Install sccache
run: |
wget https://github.com/mozilla/sccache/releases/download/v0.8.2/sccache-v0.8.2-x86_64-unknown-linux-musl.tar.gz
tar xzf sccache-v0.8.2-x86_64-unknown-linux-musl.tar.gz
mv sccache-v0.8.2-x86_64-unknown-linux-musl/sccache $HOME/.cargo/bin/sccache
chmod +x $HOME/.cargo/bin/sccache
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
$HOME/.cargo/bin/sccache --start-server || true
- name: Setup environment
run: sudo cp /opt/gbo/bin/system/.env . 2>/dev/null || true
- name: Build BotServer
working-directory: workspace
run: |
cargo build -p botserver -j 8 2>&1 | tee /tmp/build.log
ls -lh target/debug/botserver
sccache --show-stats || true
- name: Save build log
if: always()
run: |
sudo mkdir -p /opt/gbo/logs
sudo cp /tmp/build.log /opt/gbo/logs/botserver-$(date +%Y%m%d-%H%M%S).log || true
- name: Deploy
working-directory: workspace
run: |
lxc exec bot:pragmatismo-system -- systemctl stop system || true
sudo cp target/debug/botserver /opt/gbo/bin/system/
sudo chmod +x /opt/gbo/bin/system/botserver
lxc exec bot:pragmatismo-system -- systemctl start system || true

3
.gitattributes vendored
View file

@ -1,3 +0,0 @@
* text=auto
*.js eol=lf
*.ts eol=lf

View file

@ -1,9 +0,0 @@
<!-- File a GitHub issue only for bugs or feature requests related to the code **in this repository**. For other topics you can get more information in the README file. -->
### Observed Results:
<!-- This could be a description, error output, steps to reproduce, a feature missed, etc. -->
### Expected behavior:
<!-- What did you expect to happen? -->

View file

@ -1,35 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View file

@ -1,7 +0,0 @@
---
name: Custom issue template
about: Describe this issue template's purpose here.
---

View file

@ -1,17 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View file

@ -1,2 +0,0 @@
**Description**
A clear and concise description of what the requirement is.

View file

@ -1,16 +0,0 @@
### Changes description
<!-- Describe results, user mentions, screenshots, screencast (gif) -->
### Checklist
Please check if your PR fulfills the following specifications:
- [ ] Tests for the changes have been added
- [ ] Docs have been added/updated
### References
<!-- issues related (for reference or to be closed) and/or links of discuss -->
Closes #N/A

View file

@ -1,3 +0,0 @@
isOutside: true
# Team Name
team: contributors

44
.github/settings.yml vendored
View file

@ -1,44 +0,0 @@
repository:
name: botserver
description: botserver
homepage: http://pragmatismo.io/general-bots
topics: node-module
private: false
has_issues: true
has_wiki: false
has_downloads: true
default_branch: develop
allow_squash_merge: true
allow_merge_commit: false
allow_rebase_merge: true
labels:
- name: bug
color: f44336
- name: build
color: 795548
- name: ci
color: fbca04
- name: documentation
color: 607d8b
- name: duplicate
color: 9e9e9e
- name: feature
color: 3f51b5
- name: invalid
color: cddc39
- name: performance
color: 009688
- name: question
color: ff5722
- name: refactor
color: 9c27b0
- name: style
color: 2196f3
- name: test
color: 8bc34a
- name: wontfix
color: ffffff
- name: help wanted
color: 33aa3f
- name: good first issue
color: 7057ff

33
.gitignore vendored
View file

@ -1,17 +1,16 @@
/.coveralls.yml
/.env
/.npmrc
/.nyc_output
/coverage
/dist
/docs
/guaribas.log
/guaribas.sqlite
/node_modules
/packages/default.gbui/build
/packages/default.gbui/.env
/packages/default.gbui/node_modules
/tmp
/work
/packages/default.gbdialog/bot.js
/packages/default.gbdialog/bot.ts
.tmp*
.tmp/*
*.log
target*
.env
*.env
work
*.out
bin
botserver-stack
*logfile*
*-log*
docs/book
*.rdb
botserver-installers
.git-rewrite

View file

@ -1,15 +0,0 @@
# This file must be a copy of .gitignore except for the WILLSHIP commented lines below.
/.coveralls.yml
/.env
/.npmrc
# WILLSHIP /.nyc_output
/coverage
# WILLSHIP /dist
/guaribas.log
/guaribas.sqlite
/node_modules
# WILLSHIP /packages/default.gbui/build
/packages/default.gbui/.env
/packages/default.gbui/node_modules
/tmp
/work

30
.nycrc
View file

@ -1,30 +0,0 @@
{
"check-coverage": true,
"statements": 0,
"lines": 0,
"functions": 0,
"branches": 0,
"watermarks": {
"statements": [0, 0],
"lines": [0, 0],
"functions": [0, 0],
"branches": [0, 0]
},
"cache": true,
"extension": [
".ts"
],
"include": [
"packages/**"
],
"exclude": [
"**/node_modules/**/*",
"**/tests/**/*",
"**/default.gbui/**/*",
"**/line.gbui/**/*"
],
"reporter": [
"html"
],
"all": true
}

View file

@ -1,8 +0,0 @@
{
"trailingComma": "none",
"tabWidth": 2,
"printWidth": 120,
"arrowParens": "avoid",
"semi": true,
"singleQuote": true
}

53
.product Normal file
View file

@ -0,0 +1,53 @@
# Product Configuration File
# This file defines white-label settings for the application.
#
# All occurrences of "General Bots" will be replaced by the 'name' value.
# Only apps listed in 'apps' will be active in the suite (and their APIs enabled).
# The 'theme' value sets the default theme for the UI.
# Product name (replaces "General Bots" throughout the application)
name=General Bots
# Active apps (comma-separated list)
# Available apps: chat, mail, calendar, drive, tasks, docs, paper, sheet, slides,
# meet, research, sources, analytics, admin, monitoring, settings
# Only listed apps will be visible in the UI and have their APIs enabled.
apps=chat,people,drive,tasks,sources,settings,mail,crm,campaigns,meet,attendance
# Search mechanism enabled
# Controls whether the omnibox/search toolbar is displayed in the suite
# Set to false to disable the search mechanism
search_enabled=false
# Menu launcher enabled
# Controls whether the apps menu launcher is displayed in the suite
# Set to false to hide the menu launcher button
# When the menu is empty (no apps to show), it will be automatically hidden
menu_launcher_enabled=false
# Default theme
# Available themes: dark, light, blue, purple, green, orange, sentient, cyberpunk,
# retrowave, vapordream, y2kglow, arcadeflash, discofever, grungeera,
# jazzage, mellowgold, midcenturymod, polaroidmemories, saturdaycartoons,
# seasidepostcard, typewriter, 3dbevel, xeroxui, xtreegold
theme=sentient
# Logo URL (optional - leave empty to use default)
# Can be a relative path or absolute URL
logo=
# Favicon URL (optional - leave empty to use default)
favicon=
# Primary color override (optional - hex color code)
# Example: #d4f505
primary_color=
# Support email (optional)
support_email=
# Documentation URL (optional)
docs_url=https://docs.pragmatismo.com.br
# Copyright text (optional - {year} will be replaced with current year)
copyright=© {year} {name}. All rights reserved.

View file

@ -1,34 +0,0 @@
language: node_js
node_js:
- lts/*
notifications:
email: false
before_script:
- npm run build
script:
- npm run coveralls
branches:
only:
- master
- /^greenkeeper/.*$/
except:
- /^v\d+\.\d+\.\d+$/
after_success:
- npm run travis-deploy-once "npm run semantic-release"
- npm pack
deploy:
- provider: pages
skip_cleanup: true
local_dir: docs/reference
github_token: $GITHUB_TOKEN
on:
tags: false
branch: master

43
.vscode/launch.json vendored
View file

@ -1,20 +1,41 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"type": "lldb",
"request": "launch",
"name": "Debug Program",
"program": "${workspaceRoot}/dist/src/app.js",
"cwd": "${workspaceRoot}",
"env": {
"NODE_ENV": "development"
"name": "Debug executable 'botserver'",
"cargo": {
"args": ["build", "--bin=botserver", "--package=botserver"],
"filter": {
"name": "botserver",
"kind": "bin"
}
},
"args":["--no-deprecation"],
"skipFiles": ["node_modules/**/*.js"],
"outFiles": ["${workspaceRoot}/dist/*.js"],
"stopOnEntry": false,
"console": "integratedTerminal"
"args": ["--desktop"],
"env": {
"RUST_LOG": "trace,aws_sigv4=off,aws_smithy_checksums=off,mio=off,reqwest=off,aws_runtime=off,aws_smithy_http_client=off,rustls=off,hyper_util=off,aws_smithy_runtime=off,aws_smithy_runtime_api=off,tracing=off,aws_sdk_s3=off"
},
"cwd": "${workspaceFolder}"
},
{
"type": "lldb",
"request": "launch",
"name": "Debug unit tests in executable 'botserver'",
"cargo": {
"args": ["test", "--no-run", "--bin=botserver", "--package=botserver"],
"filter": {
"name": "botserver",
"kind": "bin"
}
},
"args": [],
"env": {
"RUST_LOG": "trace"
},
"cwd": "${workspaceFolder}"
}
]
}

16
.zed/debug.json Normal file
View file

@ -0,0 +1,16 @@
[
{
"label": "Debug BotServer",
"build": {
"command": "cargo",
"args": ["build"],
},
"program": "$ZED_WORKTREE_ROOT/target/debug/botserver",
"env": {
"RUST_LOG": "trace",
},
"sourceLanguages": ["rust"],
"request": "launch",
"adapter": "CodeLLDB",
},
]

222
3rdparty.toml Normal file
View file

@ -0,0 +1,222 @@
# Third-Party Dependencies Configuration
# ======================================
# This file lists all external downloads required by botserver.
#
# Caching Behavior:
# - On first run, files are downloaded from the URLs below
# - Downloaded files are cached in ./botserver-installers/
# - On subsequent runs, cached files are used instead of downloading
# - To force re-download, delete the cached file
#
# Offline Installation:
# - Pre-download all files to ./botserver-installers/
# - The installer will use cached files automatically
# - You can safely delete ./botserver-stack/ without losing downloads
[cache_settings]
# Directory where downloaded files are cached (relative to botserver root)
cache_dir = "botserver-installers"
# Components
# ==========
# Each component has:
# - url: Download URL
# - filename: Local filename in cache
# - sha256: Optional checksum for verification (empty = skip verification)
[components.drive]
name = "MinIO Object Storage"
url = "https://dl.min.io/server/minio/release/linux-amd64/minio"
filename = "minio"
sha256 = ""
[components.tables]
name = "PostgreSQL Database"
url = "https://github.com/theseus-rs/postgresql-binaries/releases/download/17.2.0/postgresql-17.2.0-x86_64-unknown-linux-gnu.tar.gz"
filename = "postgresql-17.2.0-x86_64-unknown-linux-gnu.tar.gz"
sha256 = ""
[components.cache]
name = "Valkey Cache (Redis-compatible)"
# Precompiled binary from download.valkey.io (jammy for GLIBC 2.36 compatibility)
url = "https://download.valkey.io/releases/valkey-8.1.5-jammy-x86_64.tar.gz"
filename = "valkey-8.1.5-jammy-x86_64.tar.gz"
sha256 = ""
[components.llm]
name = "Llama.cpp Server"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-ubuntu-x64.zip"
filename = "llama-b7345-bin-ubuntu-x64.zip"
sha256 = "91b066ecc53c20693a2d39703c12bc7a69c804b0768fee064d47df702f616e52"
[components.email]
name = "Stalwart Mail Server"
url = "https://github.com/stalwartlabs/mail-server/releases/download/v0.10.7/stalwart-mail-x86_64-linux.tar.gz"
filename = "stalwart-mail-x86_64-linux.tar.gz"
sha256 = ""
[components.proxy]
name = "Caddy Web Server"
url = "https://github.com/caddyserver/caddy/releases/download/v2.9.1/caddy_2.9.1_linux_amd64.tar.gz"
filename = "caddy_2.9.1_linux_amd64.tar.gz"
sha256 = ""
[components.directory]
name = "Zitadel Identity Provider"
url = "https://github.com/zitadel/zitadel/releases/download/v4.11.1/zitadel-linux-amd64.tar.gz"
filename = "zitadel-linux-amd64.tar.gz"
sha256 = ""
[components.alm]
name = "Forgejo Git Server"
url = "https://codeberg.org/forgejo/forgejo/releases/download/v14.0.2/forgejo-14.0.2-linux-amd64"
filename = "forgejo-14.0.2-linux-amd64"
sha256 = ""
[components.alm_ci]
name = "Forgejo Actions Runner"
url = "https://code.forgejo.org/forgejo/runner/releases/download/v6.3.1/forgejo-runner-6.3.1-linux-amd64"
filename = "forgejo-runner-6.3.1-linux-amd64"
sha256 = ""
[components.dns]
name = "CoreDNS Server"
url = "https://github.com/coredns/coredns/releases/download/v1.11.1/coredns_1.11.1_linux_amd64.tgz"
filename = "coredns_1.11.1_linux_amd64.tgz"
sha256 = ""
[components.webmail]
name = "Roundcube Webmail"
url = "https://github.com/roundcube/roundcubemail/releases/download/1.6.6/roundcubemail-1.6.6-complete.tar.gz"
filename = "roundcubemail-1.6.6-complete.tar.gz"
sha256 = ""
[components.meet]
name = "LiveKit Media Server"
url = "https://github.com/livekit/livekit/releases/download/v2.8.2/livekit_2.8.2_linux_amd64.tar.gz"
filename = "livekit_2.8.2_linux_amd64.tar.gz"
sha256 = ""
[components.table_editor]
name = "NocoDB"
url = "http://get.nocodb.com/linux-x64"
filename = "nocodb-linux-x64"
sha256 = ""
[components.vector_db]
name = "Qdrant Vector Database"
url = "https://github.com/qdrant/qdrant/releases/latest/download/qdrant-x86_64-unknown-linux-gnu.tar.gz"
filename = "qdrant-x86_64-unknown-linux-gnu.tar.gz"
sha256 = ""
[components.timeseries_db]
name = "InfluxDB Time Series Database"
url = "https://download.influxdata.com/influxdb/releases/influxdb2-2.7.5-linux-amd64.tar.gz"
filename = "influxdb2-2.7.5-linux-amd64.tar.gz"
sha256 = ""
[components.vault]
name = "HashiCorp Vault"
url = "https://releases.hashicorp.com/vault/1.15.4/vault_1.15.4_linux_amd64.zip"
filename = "vault_1.15.4_linux_amd64.zip"
sha256 = ""
[components.observability]
name = "Vector Log Aggregator"
url = "https://packages.timber.io/vector/0.35.0/vector-0.35.0-x86_64-unknown-linux-gnu.tar.gz"
filename = "vector-0.35.0-x86_64-unknown-linux-gnu.tar.gz"
sha256 = ""
# LLM Models
# ==========
# Large model files for AI/ML functionality
[models.deepseek_small]
name = "DeepSeek R1 Distill Qwen 1.5B (Q3_K_M)"
url = "https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-1.5B-GGUF/resolve/main/DeepSeek-R1-Distill-Qwen-1.5B-Q3_K_M.gguf"
filename = "DeepSeek-R1-Distill-Qwen-1.5B-Q3_K_M.gguf"
sha256 = ""
[models.bge_embedding]
name = "BGE Small EN v1.5 Embedding Model"
url = "https://huggingface.co/CompendiumLabs/bge-small-en-v1.5-gguf/resolve/main/bge-small-en-v1.5-f32.gguf"
filename = "bge-small-en-v1.5-f32.gguf"
sha256 = ""
# Platform-specific llama.cpp variants
# =====================================
# These are alternative builds for different platforms/GPU support
[components.llm_linux_vulkan]
name = "Llama.cpp Server (Linux Vulkan)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-ubuntu-vulkan-x64.zip"
filename = "llama-b7345-bin-ubuntu-vulkan-x64.zip"
sha256 = "03f0b3acbead2ddc23267073a8f8e0207937c849d3704c46c61cf167c1001442"
[components.llm_linux_s390x]
name = "Llama.cpp Server (Linux s390x)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-ubuntu-s390x.zip"
filename = "llama-b7345-bin-ubuntu-s390x.zip"
sha256 = "688ddad6996b1166eaaa76d5025e304c684116efe655e6e881d877505ecffccb"
[components.llm_macos_arm64]
name = "Llama.cpp Server (macOS ARM64)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-macos-arm64.zip"
filename = "llama-b7345-bin-macos-arm64.zip"
sha256 = "72ae9b4a4605aa1223d7aabaa5326c66c268b12d13a449fcc06f61099cd02a52"
[components.llm_macos_x64]
name = "Llama.cpp Server (macOS x64)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-macos-x64.zip"
filename = "llama-b7345-bin-macos-x64.zip"
sha256 = "bec6b805cf7533f66b38f29305429f521dcb2be6b25dbce73a18df448ec55cc5"
[components.llm_win_cpu_x64]
name = "Llama.cpp Server (Windows x64 CPU)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-win-cpu-x64.zip"
filename = "llama-b7345-bin-win-cpu-x64.zip"
sha256 = "ea449082c8e808a289d9a1e8331f90a0379ead4dd288a1b9a2d2c0a7151836cd"
[components.llm_win_cpu_arm64]
name = "Llama.cpp Server (Windows ARM64 CPU)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-win-cpu-arm64.zip"
filename = "llama-b7345-bin-win-cpu-arm64.zip"
sha256 = "91e3ff43c123c7c30decfe5a44c291827c1e47359abaa2fbad1eb5392b3a0d85"
[components.llm_win_cuda12]
name = "Llama.cpp Server (Windows CUDA 12.4)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-win-cuda-12.4-x64.zip"
filename = "llama-b7345-bin-win-cuda-12.4-x64.zip"
sha256 = "7a82aba2662fa7d4477a7a40894de002854bae1ab8b0039888577c9a2ca24cae"
[components.llm_win_cuda13]
name = "Llama.cpp Server (Windows CUDA 13.1)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-win-cuda-13.1-x64.zip"
filename = "llama-b7345-bin-win-cuda-13.1-x64.zip"
sha256 = "06ea715cefb07e9862394e6d1ffa066f4c33add536b1f1aa058723f86ae05572"
[components.llm_win_vulkan]
name = "Llama.cpp Server (Windows Vulkan)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/llama-b7345-bin-win-vulkan-x64.zip"
filename = "llama-b7345-bin-win-vulkan-x64.zip"
sha256 = "3e948bee438f46c8ea0a3faf0416549391ee945ffa624b25bc1f73d60d668679"
# CUDA runtime libraries (required for CUDA builds on Windows)
[components.cudart_win_cuda12]
name = "CUDA Runtime (Windows CUDA 12.4)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/cudart-llama-bin-win-cuda-12.4-x64.zip"
filename = "cudart-llama-bin-win-cuda-12.4-x64.zip"
sha256 = "8c79a9b226de4b3cacfd1f83d24f962d0773be79f1e7b75c6af4ded7e32ae1d6"
[components.cudart_win_cuda13]
name = "CUDA Runtime (Windows CUDA 13.1)"
url = "https://github.com/ggml-org/llama.cpp/releases/download/b7345/cudart-llama-bin-win-cuda-13.1-x64.zip"
filename = "cudart-llama-bin-win-cuda-13.1-x64.zip"
sha256 = "f96935e7e385e3b2d0189239077c10fe8fd7e95690fea4afec455b1b6c7e3f18"
# Optional larger models (uncomment to include)
# [models.gpt_oss_20b]
# name = "GPT-OSS 20B F16 (requires 16GB+ VRAM or MoE)"
# url = "https://huggingface.co/unsloth/gpt-oss-20b-GGUF/resolve/main/gpt-oss-20b-F16.gguf"
# filename = "gpt-oss-20b-F16.gguf"
# sha256 = ""

101
3rdparty/llm_releases.json vendored Normal file
View file

@ -0,0 +1,101 @@
{
"llama_cpp": {
"version": "b7345",
"base_url": "https://github.com/ggml-org/llama.cpp/releases/download",
"binaries": {
"linux": {
"x64": {
"cpu": "llama-{version}-bin-ubuntu-x64.zip",
"cpu_tar": "llama-{version}-bin-ubuntu-x64.tar.gz",
"vulkan": "llama-{version}-bin-ubuntu-vulkan-x64.zip",
"vulkan_tar": "llama-{version}-bin-ubuntu-vulkan-x64.tar.gz"
},
"s390x": {
"cpu": "llama-{version}-bin-ubuntu-s390x.zip",
"cpu_tar": "llama-{version}-bin-ubuntu-s390x.tar.gz"
}
},
"macos": {
"arm64": {
"cpu": "llama-{version}-bin-macos-arm64.zip",
"cpu_tar": "llama-{version}-bin-macos-arm64.tar.gz"
},
"x64": {
"cpu": "llama-{version}-bin-macos-x64.zip",
"cpu_tar": "llama-{version}-bin-macos-x64.tar.gz"
}
},
"windows": {
"x64": {
"cpu": "llama-{version}-bin-win-cpu-x64.zip",
"cuda_12": "llama-{version}-bin-win-cuda-12.4-x64.zip",
"cuda_13": "llama-{version}-bin-win-cuda-13.1-x64.zip",
"vulkan": "llama-{version}-bin-win-vulkan-x64.zip",
"sycl": "llama-{version}-bin-win-sycl-x64.zip",
"hip": "llama-{version}-bin-win-hip-radeon-x64.zip"
},
"arm64": {
"cpu": "llama-{version}-bin-win-cpu-arm64.zip",
"opencl_adreno": "llama-{version}-bin-win-opencl-adreno-arm64.zip"
}
},
"ios": {
"xcframework": "llama-{version}-xcframework.zip",
"xcframework_tar": "llama-{version}-xcframework.tar.gz"
}
},
"cuda_runtime": {
"windows": {
"cuda_12": "cudart-llama-bin-win-cuda-12.4-x64.zip",
"cuda_13": "cudart-llama-bin-win-cuda-13.1-x64.zip"
}
},
"checksums": {
"llama-b7345-bin-ubuntu-x64.zip": "sha256:91b066ecc53c20693a2d39703c12bc7a69c804b0768fee064d47df702f616e52",
"llama-b7345-bin-ubuntu-x64.tar.gz": "sha256:c5f4c8111887072a5687b42e0700116e93eddf14c5401fa7eba3ab0b8481ff4e",
"llama-b7345-bin-ubuntu-vulkan-x64.zip": "sha256:03f0b3acbead2ddc23267073a8f8e0207937c849d3704c46c61cf167c1001442",
"llama-b7345-bin-ubuntu-vulkan-x64.tar.gz": "sha256:9b02b406106cd20ea0568c43c28c587d7e4908b5b649e943adebb0e1ae726076",
"llama-b7345-bin-ubuntu-s390x.zip": "sha256:688ddad6996b1166eaaa76d5025e304c684116efe655e6e881d877505ecffccb",
"llama-b7345-bin-ubuntu-s390x.tar.gz": "sha256:118011b38b02fee21596ab5b1c40b56369da514645394b6528a466e18f4336f5",
"llama-b7345-bin-macos-arm64.zip": "sha256:72ae9b4a4605aa1223d7aabaa5326c66c268b12d13a449fcc06f61099cd02a52",
"llama-b7345-bin-macos-arm64.tar.gz": "sha256:dc7c6b64848180259db19eb5d8ee8424cffcbb053960e5c45d79db6b9ac4f40d",
"llama-b7345-bin-macos-x64.zip": "sha256:bec6b805cf7533f66b38f29305429f521dcb2be6b25dbce73a18df448ec55cc5",
"llama-b7345-bin-macos-x64.tar.gz": "sha256:9267a292f39a86b2ee5eaa553a06f4a2fda2aee35142cde40a9099432b304313",
"llama-b7345-bin-win-cpu-x64.zip": "sha256:ea449082c8e808a289d9a1e8331f90a0379ead4dd288a1b9a2d2c0a7151836cd",
"llama-b7345-bin-win-cpu-arm64.zip": "sha256:91e3ff43c123c7c30decfe5a44c291827c1e47359abaa2fbad1eb5392b3a0d85",
"llama-b7345-bin-win-cuda-12.4-x64.zip": "sha256:7a82aba2662fa7d4477a7a40894de002854bae1ab8b0039888577c9a2ca24cae",
"llama-b7345-bin-win-cuda-13.1-x64.zip": "sha256:06ea715cefb07e9862394e6d1ffa066f4c33add536b1f1aa058723f86ae05572",
"llama-b7345-bin-win-vulkan-x64.zip": "sha256:3e948bee438f46c8ea0a3faf0416549391ee945ffa624b25bc1f73d60d668679",
"llama-b7345-bin-win-sycl-x64.zip": "sha256:708ddb786cdeb43ceadaa57c0ca669ce05b86753bf859f5a95012c2ea481f9da",
"llama-b7345-bin-win-hip-radeon-x64.zip": "sha256:ba1fe643e27bae8dcdf6d7be459a6dc5d8385f179e71e749c53f52083c68e107",
"llama-b7345-bin-win-opencl-adreno-arm64.zip": "sha256:59d625d21fb64294b075c61ec1a5f01d394baf826bee2df847d0ea3ed21fa3f3",
"llama-b7345-xcframework.zip": "sha256:c94e870ba844e4938d6fccf0bfd64c9fe57884a14a3e2a4966e56e35a6cbaef4",
"llama-b7345-xcframework.tar.gz": "sha256:a542ceace2621d9d860f2ec64c1b2294ac71f292106b95dcaf239aec0a06dd55",
"cudart-llama-bin-win-cuda-12.4-x64.zip": "sha256:8c79a9b226de4b3cacfd1f83d24f962d0773be79f1e7b75c6af4ded7e32ae1d6",
"cudart-llama-bin-win-cuda-13.1-x64.zip": "sha256:f96935e7e385e3b2d0189239077c10fe8fd7e95690fea4afec455b1b6c7e3f18"
}
},
"models": {
"default_llm": {
"name": "DeepSeek-R1-Distill-Qwen-1.5B",
"url": "https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-1.5B-GGUF/resolve/main/DeepSeek-R1-Distill-Qwen-1.5B-Q3_K_M.gguf",
"filename": "DeepSeek-R1-Distill-Qwen-1.5B-Q3_K_M.gguf",
"size_mb": 1100,
"description": "Small reasoning model, good for CPU or minimal GPU (4GB VRAM)"
},
"default_embedding": {
"name": "BGE Small EN v1.5",
"url": "https://huggingface.co/CompendiumLabs/bge-small-en-v1.5-gguf/resolve/main/bge-small-en-v1.5-f32.gguf",
"filename": "bge-small-en-v1.5-f32.gguf",
"size_mb": 130,
"description": "Embedding model for vector search"
},
"large_llm": {
"name": "GPT-OSS 20B",
"url": "https://huggingface.co/unsloth/gpt-oss-20b-GGUF/resolve/main/gpt-oss-20b-F16.gguf",
"filename": "gpt-oss-20b-F16.gguf",
"size_mb": 40000,
"description": "Large model for GPU with 16GB+ VRAM"
}
}
}

466
3rdparty/mcp_servers.json vendored Normal file
View file

@ -0,0 +1,466 @@
{
"mcp_servers": [
{
"id": "azure-cosmos-db",
"name": "Azure Cosmos DB",
"description": "Enables Agents to interact with and retrieve data from Azure Cosmos DB accounts.",
"icon": "azure-cosmos-db",
"type": "Local",
"category": "Database",
"provider": "Microsoft"
},
{
"id": "azure-database-postgresql",
"name": "Azure Database for PostgreSQL",
"description": "Enables Agents to interact with and retrieve data from Azure Database for PostgreSQL resources using natural language prompts.",
"icon": "azure-database-postgresql",
"type": "Local",
"category": "Database",
"provider": "Microsoft"
},
{
"id": "azure-databricks-genie",
"name": "Azure Databricks Genie",
"description": "Azure Databricks Genie MCP server lets AI agents connect to Genie spaces so users can ask natural language questions and get specialized answers from their data easily.",
"icon": "azure-databricks-genie",
"type": "Remote",
"category": "Analytics",
"provider": "Microsoft"
},
{
"id": "azure-managed-redis",
"name": "Azure Managed Redis",
"description": "Azure Managed Redis MCP Server provides a natural language interface for agentic apps to interact with Azure Managed Redis—a high-speed, in-memory datastore that is ideal for low-latency use cases like agent memory, vector data store and semantic caching.",
"icon": "azure-managed-redis",
"type": "Local",
"category": "Database",
"provider": "Microsoft"
},
{
"id": "azure-sql",
"name": "Azure SQL MCP Server",
"description": "A secure, self-hosted MCP for interacting with SQL data (Azure SQL, SQL MI, SQL DW, SQL Server).",
"icon": "azure-sql",
"type": "Local",
"category": "Database",
"provider": "Microsoft"
},
{
"id": "elasticsearch",
"name": "Elasticsearch",
"description": "Search, retrieve, and analyze Elasticsearch data in developer and agentic workflows.",
"icon": "elasticsearch",
"type": "Remote",
"category": "Search",
"provider": "Elastic"
},
{
"id": "mongodb",
"name": "MongoDB MCP Server",
"description": "MongoDB MCP Server allows any MCP-aware LLM to connect to MongoDB Atlas for admin tasks and to MongoDB databases for data operations, all through natural language.",
"icon": "mongodb",
"type": "Local",
"category": "Database",
"provider": "MongoDB"
},
{
"id": "pinecone-assistant",
"name": "Pinecone Assistant MCP Server",
"description": "Pinecone Assistant MCP server helps prototype and deploy assistants that retrieve context-aware answers grounded in proprietary data.",
"icon": "pinecone",
"type": "Remote",
"category": "Vector Database",
"provider": "Pinecone"
},
{
"id": "vercel",
"name": "Vercel",
"description": "With Vercel MCP, you can explore projects, inspect failed deployments, fetch logs, and more right from your AI client.",
"icon": "vercel",
"type": "Remote",
"category": "Deployment",
"provider": "Vercel"
},
{
"id": "amplitude",
"name": "Amplitude MCP Server",
"description": "Search, access, and get insights on your Amplitude product analytics data.",
"icon": "amplitude",
"type": "Remote",
"category": "Analytics",
"provider": "Amplitude"
},
{
"id": "atlan",
"name": "Atlan",
"description": "The Atlan MCP server provides a set of tools that enable AI agents to work directly with Atlan metadata. These tools supply real-time context to AI environments, making it easier to search, explore, and update metadata without leaving your workflow.",
"icon": "atlan",
"type": "Remote",
"category": "Data Catalog",
"provider": "Atlan"
},
{
"id": "atlassian",
"name": "Atlassian",
"description": "Connect to Jira and Confluence for issue tracking and documentation.",
"icon": "atlassian",
"type": "Remote",
"category": "Productivity",
"provider": "Atlassian"
},
{
"id": "azure-language-foundry",
"name": "Azure Language in Foundry Tools",
"description": "The MCP server enables AI agents to access Azure Language in Foundry Tools for accurate, explainable and compliant NLP capabilities.",
"icon": "azure-language",
"type": "Remote",
"category": "AI/ML",
"provider": "Microsoft"
},
{
"id": "azure-speech",
"name": "Azure Speech MCP Server",
"description": "A hosted MCP server that exposes Azure Speech capabilities (speech-to-text, text-to-speech and streaming speech I/O) to agents and LLM workflows.",
"icon": "azure-speech",
"type": "Remote",
"category": "AI/ML",
"provider": "Microsoft"
},
{
"id": "box",
"name": "Box MCP Server",
"description": "Access and manage your Box content with AI-powered tools for file operations, collaboration, and metadata extraction.",
"icon": "box",
"type": "Remote",
"category": "Storage",
"provider": "Box"
},
{
"id": "cast-imaging",
"name": "CAST Imaging MCP Server",
"description": "Deterministic mapping of application architecture and code objects to support discovery, impact analysis, and technical debt remediation.",
"icon": "cast-imaging",
"type": "Remote",
"category": "DevOps",
"provider": "CAST"
},
{
"id": "celonis",
"name": "Celonis PI Graph MCP Server",
"description": "Agent toolkit that provides process intelligence context, action triggering, and write-back capabilities into Celonis.",
"icon": "celonis",
"type": "Remote",
"category": "Process Mining",
"provider": "Celonis"
},
{
"id": "exa",
"name": "Exa Web Search",
"description": "Exa MCP is a powerful web search and web crawling MCP. It lets you do real-time web searches, extract content from any URL, and even run deep research for detailed reports.",
"icon": "exa",
"type": "Remote",
"category": "Search",
"provider": "Exa"
},
{
"id": "factory-rca",
"name": "Factory RCA MCP",
"description": "Toolset for manufacturing root-cause analysis, anomaly detection, and telemetry-driven recommendations.",
"icon": "factory",
"type": "Remote",
"category": "Manufacturing",
"provider": "Factory"
},
{
"id": "github",
"name": "GitHub",
"description": "Access GitHub repositories, issues, and pull requests through secure API integration. If you need the GitHub MCP server to access your private repo, make sure you have installed the GitHub app.",
"icon": "github",
"type": "Remote",
"category": "Development",
"provider": "GitHub"
},
{
"id": "huggingface",
"name": "Hugging Face MCP Server",
"description": "Search through millions of Hugging Face models, datasets, applications and research papers, and use the Spaces applications you've selected.",
"icon": "huggingface",
"type": "Remote",
"category": "AI/ML",
"provider": "Hugging Face"
},
{
"id": "infobip-rcs",
"name": "Infobip RCS MCP server",
"description": "Infobip RCS MCP server enables seamless integration with our communication platform that allows you to reach your customers globally through RCS.",
"icon": "infobip",
"type": "Remote",
"category": "Communication",
"provider": "Infobip"
},
{
"id": "infobip-sms",
"name": "Infobip SMS MCP server",
"description": "The Infobip SMS MCP server enables agentic and developer workflows to send and manage SMS messages through Infobip's platform.",
"icon": "infobip",
"type": "Remote",
"category": "Communication",
"provider": "Infobip"
},
{
"id": "infobip-whatsapp",
"name": "Infobip WhatsApp MCP server",
"description": "Infobip WhatsApp MCP server enables seamless integration with our communication platform that allows you to reach your customers globally through WhatsApp.",
"icon": "infobip",
"type": "Remote",
"category": "Communication",
"provider": "Infobip"
},
{
"id": "intercom",
"name": "Intercom MCP Server",
"description": "Secure, read-only access to Intercom conversations and contacts for MCP-compatible AI tools.",
"icon": "intercom",
"type": "Remote",
"category": "Customer Support",
"provider": "Intercom"
},
{
"id": "marketnode",
"name": "Marketnode MCP Server",
"description": "AI-powered document data extraction, workflow automation, transaction management and tokenization for financial institutions and enterprises.",
"icon": "marketnode",
"type": "Remote",
"category": "Finance",
"provider": "Marketnode"
},
{
"id": "foundry",
"name": "Foundry MCP Server (preview)",
"description": "Foundry MCP Server (preview) offers instant access to model exploration, deployment of models and agents, and performance evaluation. This fully cloud-native MCP server is integrated with Visual Studio Code and Foundry agents, and secured by Microsoft Entra ID, RBAC, and tenant-level conditional access with Azure Policy for enterprise control.",
"icon": "foundry",
"type": "Remote",
"category": "AI/ML",
"provider": "Microsoft"
},
{
"id": "microsoft-enterprise",
"name": "Microsoft MCP Server for Enterprise",
"description": "Official Microsoft MCP Server to query Microsoft Entra data using natural language.",
"icon": "microsoft",
"type": "Remote",
"category": "Enterprise",
"provider": "Microsoft"
},
{
"id": "mihcm",
"name": "MiHCM MCP Server",
"description": "Provides secure access to employee and leave management data from the MiHCM HR platform through standardized MCP server.",
"icon": "mihcm",
"type": "Remote",
"category": "HR",
"provider": "MiHCM"
},
{
"id": "morningstar",
"name": "Morningstar MCP Server",
"description": "Access Morningstar data, research, and capabilities through specialized MCP tools for global securities.",
"icon": "morningstar",
"type": "Remote",
"category": "Finance",
"provider": "Morningstar"
},
{
"id": "microsoft-sentinel",
"name": "Microsoft Sentinel Data Exploration",
"description": "The data exploration tool collection in the Microsoft Sentinel MCP server lets you search for relevant tables and retrieve data from Microsoft Sentinel's data lake using natural language.",
"icon": "microsoft-sentinel",
"type": "Remote",
"category": "Security",
"provider": "Microsoft"
},
{
"id": "microsoft-learn",
"name": "Microsoft Learn",
"description": "AI assistant with real-time access to official Microsoft documentation.",
"icon": "microsoft-learn",
"type": "Remote",
"category": "Documentation",
"provider": "Microsoft"
},
{
"id": "neon",
"name": "Neon",
"description": "Manage and query Neon Postgres databases with natural language.",
"icon": "neon",
"type": "Remote",
"category": "Database",
"provider": "Neon"
},
{
"id": "netlify",
"name": "Netlify",
"description": "Deploy, secure, and manage websites with Netlify.",
"icon": "netlify",
"type": "Remote",
"category": "Deployment",
"provider": "Netlify"
},
{
"id": "pipedream",
"name": "Pipedream",
"description": "Securely connect to 10,000+ tools from 3,000+ APIs with Pipedream MCP.",
"icon": "pipedream",
"type": "Remote",
"category": "Integration",
"provider": "Pipedream"
},
{
"id": "postman",
"name": "Postman",
"description": "Postman's remote MCP server connects AI agents, assistants, and chatbots directly to your APIs on Postman.",
"icon": "postman",
"type": "Remote",
"category": "API",
"provider": "Postman"
},
{
"id": "sophos-intelix",
"name": "Sophos Intelix MCP Server",
"description": "Sophos Intelix delivers threat intelligence into analyst workflows, enabling agents to access file, URL, and IP reputation and threat analysis.",
"icon": "sophos",
"type": "Remote",
"category": "Security",
"provider": "Sophos"
},
{
"id": "stripe",
"name": "Stripe",
"description": "Payment processing and financial infrastructure tools.",
"icon": "stripe",
"type": "Remote",
"category": "Payments",
"provider": "Stripe"
},
{
"id": "supabase",
"name": "Supabase",
"description": "Connect your Supabase projects to AI agents: design tables and migrations; create database branches; build custom APIs with Edge Functions; retrieve logs and more.",
"icon": "supabase",
"type": "Remote",
"category": "Database",
"provider": "Supabase"
},
{
"id": "tavily",
"name": "Tavily MCP",
"description": "Real-time web search, extraction, crawling and mapping tools for agentic workflows with source citations.",
"icon": "tavily",
"type": "Remote",
"category": "Search",
"provider": "Tavily"
},
{
"id": "tomtom",
"name": "TomTom Maps",
"description": "Give your application real-time geospatial context from TomTom — including maps, routing, search, geocoding and traffic.",
"icon": "tomtom",
"type": "Remote",
"category": "Maps",
"provider": "TomTom"
},
{
"id": "wix",
"name": "Wix MCP",
"description": "Unified access to Wix's development ecosystem for documentation, implementation, and site management.",
"icon": "wix",
"type": "Remote",
"category": "Web Development",
"provider": "Wix"
},
{
"id": "10to8",
"name": "10to8 Appointment Scheduling",
"description": "10to8 is a powerful appointment management, communications & online booking system.",
"icon": "10to8",
"type": "Custom",
"category": "Scheduling",
"provider": "10to8"
},
{
"id": "1docstop",
"name": "1DocStop",
"description": "The best document management system for your web & mobile apps. Store, Manage, and Access all your documents whenever and wherever you are.",
"icon": "1docstop",
"type": "Custom",
"category": "Document Management",
"provider": "1DocStop"
},
{
"id": "1me-corporate",
"name": "1Me Corporate",
"description": "1Me is the easiest and fastest way to share your contact information. With 1Me, you can have an unlimited number of contact cards.",
"icon": "1me",
"type": "Custom",
"category": "Contact Management",
"provider": "1Me"
},
{
"id": "1pt",
"name": "1pt (Independent Publisher)",
"description": "1pt is a URL shortening service and hosts over 15,000+ redirects with 200,000+ visits.",
"icon": "1pt",
"type": "Custom",
"category": "URL Shortener",
"provider": "1pt"
}
],
"categories": [
"Database",
"Analytics",
"Search",
"Vector Database",
"Deployment",
"Data Catalog",
"Productivity",
"AI/ML",
"Storage",
"DevOps",
"Process Mining",
"Development",
"Communication",
"Customer Support",
"Finance",
"Enterprise",
"HR",
"Security",
"Documentation",
"Integration",
"API",
"Payments",
"Maps",
"Web Development",
"Scheduling",
"Document Management",
"Contact Management",
"URL Shortener",
"Manufacturing"
],
"types": [
{
"id": "Local",
"name": "MCP: Local",
"description": "Runs locally on your machine"
},
{
"id": "Remote",
"name": "MCP: Remote",
"description": "Hosted remote MCP server"
},
{
"id": "Custom",
"name": "Custom",
"description": "Custom integration"
}
]
}

View file

@ -1,184 +0,0 @@
## [1.2.1](https://github.com/pragmatismo-io/BotServer/compare/1.2.0...1.2.1) (2018-12-18)
### Bug Fixes
* **kb:** Fix in Faq and Menu dialogs. ([6ba8c09](https://github.com/pragmatismo-io/BotServer/commit/6ba8c09))
* **startup:** Startup improved and more checks added. ([5d6c60e](https://github.com/pragmatismo-io/BotServer/commit/5d6c60e))
* **webchat:** Sync versions and MSFT strategy. ([238c0bf](https://github.com/pragmatismo-io/BotServer/commit/238c0bf))
# [1.2.0](https://github.com/pragmatismo-io/BotServer/compare/1.1.1...1.2.0) (2018-12-13)
### Features
* **webchat:** Update of webchat to the newer version 4. ([0270a8e](https://github.com/pragmatismo-io/BotServer/commit/0270a8e))
## [1.1.1](https://github.com/pragmatismo-io/BotServer/compare/1.1.0...1.1.1) (2018-12-08)
### Bug Fixes
* **package:** update csv-parse to version 4.1.0 ([a606ef1](https://github.com/pragmatismo-io/BotServer/commit/a606ef1))
# [1.1.0](https://github.com/pragmatismo-io/BotServer/compare/1.0.8...1.1.0) (2018-12-06)
### Bug Fixes
* **CI:** default.gbui compilation issues. ([7a11919](https://github.com/pragmatismo-io/BotServer/commit/7a11919))
* **CI:** Migrating CI logic to package.json. ([8ee048f](https://github.com/pragmatismo-io/BotServer/commit/8ee048f))
* **core:** Bot boot logic being fixed. ([1761e06](https://github.com/pragmatismo-io/BotServer/commit/1761e06))
* **core:** Bot Server is runnable again after refactory. ([9379dec](https://github.com/pragmatismo-io/BotServer/commit/9379dec))
* **core:** Loaded dynamically a .js file containing converted VBA dialogs. ([3f32e48](https://github.com/pragmatismo-io/BotServer/commit/3f32e48))
* **core:** Moved logic from app to core. ([c1db8be](https://github.com/pragmatismo-io/BotServer/commit/c1db8be))
* **default.gbui:** Removing warnings. ([02ed085](https://github.com/pragmatismo-io/BotServer/commit/02ed085))
* **gbdialog:** Renamed alpha command to alpha-VBA added documentation files. ([9cd66b8](https://github.com/pragmatismo-io/BotServer/commit/9cd66b8))
* **gbdialog:** Support for multiples hear blocks. ([3bb9d65](https://github.com/pragmatismo-io/BotServer/commit/3bb9d65))
* **gbdialog:** Trying to save context. ([ce04290](https://github.com/pragmatismo-io/BotServer/commit/ce04290))
* **gbdialog:** Updating packages to latest versions and sync *-lock file. ([dcafb7a](https://github.com/pragmatismo-io/BotServer/commit/dcafb7a))
* **gbdialog:** VBA hear must be a wrapper call. ([6915d58](https://github.com/pragmatismo-io/BotServer/commit/6915d58))
* **gbdialog:** VBA is running financial simulations. ([9fb431c](https://github.com/pragmatismo-io/BotServer/commit/9fb431c))
* **gbdialog:** VBA is running. ([2dd359a](https://github.com/pragmatismo-io/BotServer/commit/2dd359a))
* **gbdialog:** VBA loop done - one thing left to automate: Hear wrapper. ([776fe03](https://github.com/pragmatismo-io/BotServer/commit/776fe03))
* **package:** update azure-arm-resource to version 7.2.1 ([4e72507](https://github.com/pragmatismo-io/BotServer/commit/4e72507))
* **package:** update botlib to version 0.1.7 ([8205599](https://github.com/pragmatismo-io/BotServer/commit/8205599))
* **package:** update csv-parse to version 4.0.0 ([3fb5a9a](https://github.com/pragmatismo-io/BotServer/commit/3fb5a9a))
* **package:** update marked to version 0.5.2 ([405fc96](https://github.com/pragmatismo-io/BotServer/commit/405fc96))
* **package:** update pragmatismo-io-framework to version 1.0.19 ([67c2ce7](https://github.com/pragmatismo-io/BotServer/commit/67c2ce7))
* **tests:** Disabling VM tests tentative for now. ([9d5a9c6](https://github.com/pragmatismo-io/BotServer/commit/9d5a9c6))
### Features
* **gbdialog:** The first VBA code is run. ([f0a0cd3](https://github.com/pragmatismo-io/BotServer/commit/f0a0cd3))
* **scripting:** First code changes to VBA implementation. ([09715bc](https://github.com/pragmatismo-io/BotServer/commit/09715bc))
## [1.0.8](https://github.com/pragmatismo-io/BotServer/compare/1.0.7...1.0.8) (2018-11-18)
### Bug Fixes
* **docs:** Video thumbnail update to raw picture URL. ([564b394](https://github.com/pragmatismo-io/BotServer/commit/564b394))
## [1.0.7](https://github.com/pragmatismo-io/BotServer/compare/1.0.6...1.0.7) (2018-11-18)
### Bug Fixes
* **config:** CHANGELOG generator fixing. ([ac18782](https://github.com/pragmatismo-io/BotServer/commit/ac18782))
## Version 0.1.9 (Before CI with Semantic Release)
* Republishing.
## Version 0.1.8
* Republishing.
## Version 0.1.7
* 100% automated development environement setup.
* Azure Deployer based on ARM done - setup is easy as F5 in Visual Studio.
* Auto-ngrok - No more reverse proxy manual configuration.
* Strategy to replicate itself in several subscriptions done.
## Version 0.1.6
* Updated packages references.
## Version 0.1.5
* Updated packages references.
## Version 0.1.4
* Error handling improved and logging enriched as well.
* Setting DATABASE_ is now STORAGE_.
## Version 0.1.3
* FIX: Admin now is internationalized.
* FIX: Webchat now receives a private token.
* FIX: OAuth2 now has got revised and included state to avoid CSRF attacks.
* FIX: Now server will only start with a secure administration password.
## Version 0.1.2
* NEW: kb.gbapp now has a complete browser of excel articles.
* FIX: Some security improved.
* NEW: Protocol changes for exchanging questions between UI and Bot Server.
## Version 0.1.0
- NEW: Migration to Bot Framework v4.
## Version 0.0.31
- FIX: Updated dependencies versions.
## Version 0.0.30
- FIX: Packages updated.
- NEW: DATABASE_SYNC_ALTER environment parameter.
- NEW: DATABASE_SYNC_FORCE environment parameter.
- NEW: Define constraint names in MSSQL.
## Version 0.0.29
- NEW: Added STT and TTS capabilities to default.gbui.
## Version 0.0.28
- FIX: gbui packages updated.
## Version 0.0.27
- FIX: Packages updated.
## Version 0.0.26
- FIX: Packages updated.
- NEW: If a bot package's name begins with '.', then it is ignored.
- NEW: Created DATABASE_LOGGING environment parameter.
## Version 0.0.25
- FIX: Whastapp line now can be turned off;
- FIX: More error logging on BuildMin.
## Version 0.0.24
- FIX: AskDialog compilation error.
- FIX: More Whatsapp line adjustments: Duplicated 'Hi!' & log enrichment.
## Version 0.0.23
- FIX: Duplicated asking on main loop removed.
- FIX: Whatsapp log phrase correction.
- FIX: Directline can now receive messages sent in not-in-conversation, projector-only fashion.
## Version 0.0.22
- NEW: Auto-dispatch to dialog based on intent name.
## Version 0.0.21
- FIX: Whatsapp directline client improved.
## Version 0.0.20
- NEW: Whatsapp directline client is now working in preview.
## Version 0.0.19
- NEW: Whatsapp directline client started.
- NEW: Console directline client.
- NEW: Now each .gbapp has it own set of syspackages loaded.
- NEW: Added support for Whatsapp external service key on bot instance model.
## Version 0.0.18
- FIX: .gbapp files now correctly loaded before other package types so custom models can be used to sync DB.
- NEW: Removed Boot Package feature. Now every .gbot found on deploy folders are deployed on startup.

View file

@ -1,48 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
* Writing general pieces of code so it can be widely used.
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
* Call a person other name than that declared by the person
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the Pragmatismo.io security team at security@pragmatismo.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View file

@ -1,57 +0,0 @@
# Instructions for Logging Issues
## 1. Search for Duplicates
[Search the existing issues](https://github.com/pragmatismo-io/BotServer/issues) before logging a new one.
## 2. Do you have a question?
Please use the issue tracker for bugs and suggestions.
If you have a *question*, please use [Stack Overflow](https://stackoverflow.com/questions/tagged/botserver)
## 3. Did you find a bug?
We are not surprised, we're still in early preview so there are plenty of them right now.
When logging a bug, please be sure to include the following:
* The platform you were using
* If at all possible, an *isolated* way to reproduce the behavior
* The behavior you expect to see, and the actual behavior
## 4. Do you have a suggestion?
We also accept suggestions in the issue tracker.
In general, things we find useful when reviewing suggestions are:
* A description of the problem you're trying to solve
* An overview of the suggested solution
* Examples of how the suggestion would work in various places
# Instructions for Contributing Code
## Contributing bug fixes
General Bots is current in early preview. We're still accepting contributions in the form of bug fixes.
A bug must have an issue tracking it in the issue tracker that has been approved by the Pragmatismo.io team. Your pull request should include a link to the bug that you are fixing. If you've submitted a PR for a bug, please post a comment in the bug to avoid duplication of effort.
## Contributing features
Please open an issue with the `Schema` label to get a discussion started.
## Legal
We appreciate community contributions to code repositories open sourced by Pragmatismo.io. By signing a contributor license agreement, we ensure that the community is free to use your contributions.
## Housekeeping
Your pull request should:
* Include a description of what your change intends to do
* Be a child commit of a reasonably recent commit in the **master** branch
* Requests need not be a single commit, but should be a linear sequence of commits (i.e. no merge commits in your PR)
* Have clear commit messages
* e.g. "Refactor feature", "Fix issue", "Add tests for issue"
## Running (and adding) the Tests
*Coming soon*

237
Cargo.toml Normal file
View file

@ -0,0 +1,237 @@
[package]
name = "botserver"
version = "6.2.0"
edition = "2021"
resolver = "2"
[dependencies.botlib]
workspace = true
features = ["database", "i18n"]
[features]
# ===== DEFAULT =====
default = ["chat", "people", "automation", "drive", "tasks", "cache", "directory", "llm", "crawler", "browser", "terminal", "editor", "mail", "whatsapp", "designer", "marketing"]
browser = ["automation", "drive", "cache"]
terminal = ["automation", "drive", "cache"]
external_sync = ["automation", "drive", "cache"]
# ===== CORE INFRASTRUCTURE (Can be used standalone) =====
scripting = ["dep:rhai"]
automation = ["scripting", "dep:cron"]
drive = ["dep:aws-config", "dep:aws-sdk-s3", "dep:aws-smithy-async", "dep:pdf-extract", "dep:notify"]
cache = ["dep:redis"]
directory = []
crawler = ["drive", "cache"]
# ===== APPS (Each includes what it needs from core) =====
# Communication
chat = ["automation", "drive", "cache"]
people = ["automation", "drive", "cache"]
mail = ["automation", "drive", "cache", "dep:lettre", "dep:mailparse", "dep:imap"]
meet = ["automation", "drive", "cache"]
social = ["automation", "drive", "cache"]
marketing = ["people", "automation", "drive", "cache"]
# Productivity
calendar = ["automation", "drive", "cache"]
tasks = ["automation", "drive", "cache", "dep:cron"]
project = ["automation", "drive", "cache", "quick-xml"]
goals = ["automation", "drive", "cache"]
workspaces = ["automation", "drive", "cache"]
tickets = ["automation", "drive", "cache"]
billing = ["automation", "drive", "cache"]
# Documents
docs = ["automation", "drive", "cache", "docx-rs", "ooxmlsdk"]
sheet = ["automation", "drive", "cache", "calamine", "dep:rust_xlsxwriter", "dep:umya-spreadsheet"]
slides = ["automation", "drive", "cache", "ooxmlsdk"]
paper = ["automation", "drive", "cache"]
# Media
video = ["automation", "drive", "cache"]
player = ["automation", "drive", "cache"]
canvas = ["automation", "drive", "cache"]
# Learning
learn = ["automation", "drive", "cache", "crawler"]
research = ["automation", "drive", "cache", "llm", "vectordb"]
sources = ["automation", "drive", "cache"]
# Analytics
analytics = ["automation", "drive", "cache"]
dashboards = ["automation", "drive", "cache"]
monitoring = ["automation", "drive", "cache", "dep:sysinfo"]
# Development
designer = ["automation", "drive", "cache"]
editor = ["automation", "drive", "cache"]
# Admin
attendant = ["automation", "drive", "cache"]
security = ["automation", "drive", "cache"]
settings = ["automation", "drive", "cache"]
whatsapp = ["automation", "drive", "cache"]
telegram = ["automation", "drive", "cache"]
instagram = ["automation", "drive", "cache"]
msteams = ["automation", "drive", "cache"]
# Core Tech
llm = ["automation", "drive", "cache"]
vectordb = ["automation", "drive", "cache", "dep:qdrant-client"]
nvidia = ["automation", "drive", "cache"]
compliance = ["automation", "drive", "cache", "dep:csv"]
timeseries = ["automation", "drive", "cache"]
weba = ["automation", "drive", "cache"]
progress-bars = ["automation", "drive", "cache", "dep:indicatif"]
grpc = ["automation", "drive", "cache"]
jemalloc = ["automation", "drive", "cache", "dep:tikv-jemallocator", "dep:tikv-jemalloc-ctl"]
console = ["automation", "drive", "cache", "dep:crossterm", "dep:ratatui"]
# ===== BUNDLES (Optional - for convenience) =====
minimal = ["chat"]
lightweight = ["chat", "tasks", "people"]
full = ["chat", "people", "mail", "tasks", "calendar", "drive", "docs", "llm", "cache", "compliance"]
embed-ui = ["dep:rust-embed"]
[dependencies]
diesel_migrations = { workspace = true }
bigdecimal = { workspace = true }
# === CORE RUNTIME ===
aes-gcm = { workspace = true }
anyhow = { workspace = true }
argon2 = { workspace = true }
async-trait = { workspace = true }
axum = { workspace = true }
axum-server = { workspace = true }
base64 = { workspace = true }
chrono = { workspace = true, features = ["clock", "std"] }
color-eyre = { workspace = true }
diesel = { workspace = true, features = ["postgres", "uuid", "chrono", "serde_json", "r2d2", "numeric", "32-column-tables"] }
dirs = { workspace = true }
dotenvy = { workspace = true }
futures = { workspace = true }
futures-util = { workspace = true }
git2 = "0.19"
hex = { workspace = true }
hmac = { workspace = true }
log = { workspace = true }
num-format = { workspace = true }
once_cell = { workspace = true }
rand = { workspace = true }
regex = { workspace = true }
reqwest = { workspace = true, features = ["rustls-tls", "multipart", "stream", "json"] }
serde = { workspace = true, features = ["derive", "std"] }
serde_json = { workspace = true }
toml = { workspace = true }
sha2 = { workspace = true }
sha1 = { workspace = true }
tokio = { workspace = true, features = ["full", "process"] }
tower-http = { workspace = true, features = ["cors", "fs", "trace"] }
tracing = { workspace = true }
url = { workspace = true }
urlencoding = { workspace = true }
uuid = { workspace = true, features = ["v4", "v5"] }
# === TLS/SECURITY DEPENDENCIES ===
rustls = { workspace = true, features = ["ring", "std", "tls12"] }
tokio-rustls = { workspace = true }
rcgen = { workspace = true, features = ["crypto", "ring", "pem"] }
x509-parser = { workspace = true }
ring = { workspace = true }
ciborium = { workspace = true }
time = { workspace = true, features = ["formatting"] }
jsonwebtoken = { workspace = true }
# === APP-SPECIFIC DEPENDENCIES ===
# mail Integration (mail feature)
imap = { workspace = true, optional = true }
lettre = { workspace = true, optional = true }
mailparse = { workspace = true, optional = true }
# Vector Database (vectordb feature)
qdrant-client = { workspace = true, optional = true }
# Document Processing
docx-rs = { workspace = true, optional = true }
ooxmlsdk = { workspace = true, optional = true, features = ["parts"] }
calamine = { workspace = true, optional = true }
rust_xlsxwriter = { workspace = true, optional = true }
umya-spreadsheet = { workspace = true, optional = true }
# File Storage & Drive (drive feature)
aws-config = { workspace = true, features = ["behavior-version-latest", "rt-tokio", "rustls"], optional = true }
aws-sdk-s3 = { workspace = true, features = ["rt-tokio", "rustls"], optional = true }
aws-smithy-async = { workspace = true, optional = true }
pdf-extract = { workspace = true, optional = true }
quick-xml = { workspace = true, optional = true }
flate2 = { workspace = true }
zip = { workspace = true }
tar = { workspace = true }
# Task Management (tasks feature)
cron = { workspace = true, optional = true }
# Automation & Scripting (automation feature)
rhai = { workspace = true, optional = true }
# Compliance & Reporting (compliance feature)
csv = { workspace = true, optional = true }
# Console/TUI (console feature)
crossterm = { workspace = true, optional = true }
ratatui = { workspace = true, optional = true }
# QR Code Generation
png = { workspace = true }
qrcode = { workspace = true }
# Error handling
thiserror = { workspace = true }
# Caching/Sessions (cache feature)
redis = { workspace = true, features = ["tokio-comp"], optional = true }
# System Monitoring (monitoring feature)
sysinfo = { workspace = true, optional = true }
# UI Enhancement (progress-bars feature)
indicatif = { workspace = true, optional = true }
smartstring = { workspace = true }
# Memory allocator (jemalloc feature)
tikv-jemallocator = { workspace = true, optional = true }
tikv-jemalloc-ctl = { workspace = true, optional = true }
scopeguard = { workspace = true }
# Vault secrets management
vaultrs = { workspace = true }
# Calendar standards (RFC 5545)
icalendar = { workspace = true }
# Rate limiting
governor = { workspace = true }
# RSS feed parsing
rss = { workspace = true }
# HTML parsing/web scraping
scraper = { workspace = true }
walkdir = { workspace = true }
# File system monitoring (for local .gbai monitoring)
notify = { workspace = true, optional = true }
# Embedded static files
rust-embed = { workspace = true, optional = true }
[dev-dependencies]
mockito = { workspace = true }
tempfile = { workspace = true }
bigdecimal = { workspace = true }
[lints]
workspace = true

View file

@ -1,5 +1,5 @@
General Bots is licensed under a dual license. To check which license
edition of General bots you have installed, please ask info@pragmatismo.io
edition of General bots you have installed, please ask info@pragmatismo.com.br
informing your Customer ID.
If you modify this Program, or any covered work, by combining it

View file

@ -1,7 +0,0 @@
# Localization in General Bots
## .gbapp
The localization is done by adding a strings.ts file to the root of the .gbapp package.

575
README.md
View file

@ -1,306 +1,495 @@
| Area | Status |
|------------------------------|----------------------------------------------------------------------------------------------------|
| Community | [![StackExchange](https://img.shields.io/stackexchange/stackoverflow/t/generalbots.svg)](https://stackoverflow.com/questions/tagged/generalbots) [![Gitter](https://img.shields.io/gitter/room/pragmatismo-io/GeneralBots.svg)](https://gitter.im/GeneralBots) [![Open-source](https://badges.frapsoft.com/os/v2/open-source.svg)](https://badges.frapsoft.com) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![License](https://img.shields.io/badge/license-AGPL-blue.svg)](https://github.com/pragmatismo-io/BotServer/blob/master/LICENSE.txt)|
| Management | [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://gitHub.com/pragmatismo-io/BotServer/graphs/commit-activity) [![Waffle.io - Columns and their card count](https://badge.waffle.io/pragmatismo-io/BotServer.svg?columns=all)](https://waffle.io/pragmatismo-io/BotServer) |
| Security | [![Known Vulnerabilities](https://snyk.io/test/github/pragmatismo-io/BotServer/badge.svg)](https://snyk.io/test/github/pragmatismo-io/BotServer) |
| Building & Quality | [![Build Status](https://travis-ci.com/pragmatismo-io/BotServer.svg?branch=master)](https://travis-ci.com/pragmatismo-io/BotServer) [![Coverage Status](https://coveralls.io/repos/github/pragmatismo-io/BotServer/badge.svg)](https://coveralls.io/github/pragmatismo-io/BotServer) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) |
| Packaging | [![forthebadge](https://badge.fury.io/js/botserver.svg)](https://badge.fury.io) [![Dependencies](https://david-dm.org/pragmatismo-io/botserver.svg)](https://david-dm.org) [![Greenkeeper badge](https://badges.greenkeeper.io/pragmatismo-io/BotServer.svg)](https://greenkeeper.io/) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) |
| Releases | [![General Bots](https://img.shields.io/npm/dt/botserver.svg?logo=npm&label=botserver)](https://www.npmjs.com/package/botserver/) [![.gbapp lib](https://img.shields.io/npm/dt/botlib.svg?logo=npm&label=botlib)](https://www.npmjs.com/package/botlib/) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)|
| [Docker Image](https://github.com/lpicanco/docker-botserver) | ![Docker Automated build](https://img.shields.io/docker/automated/lpicanco/botserver.svg) ![Docker Build Status](https://img.shields.io/docker/build/lpicanco/botserver.svg) ![MicroBadger Size](https://img.shields.io/microbadger/image-size/lpicanco/botserver.svg) ![MicroBadger Layers](https://img.shields.io/microbadger/layers/lpicanco/botserver.svg) ![Docker Pulls](https://img.shields.io/docker/pulls/lpicanco/botserver.svg) <br/> *Provided by [@lpicanco](https://github.com/lpicanco/docker-botserver)* |
# General Bots - Enterprise-Grade LLM Orchestrator
#### Watch a video about easeness authoring of bot packages, development environment and self-deployment
**Version:** 6.2.0
**Purpose:** Main API server for General Bots (Axum + Diesel + Rhai BASIC)
* Now with General Bots you can press F5 on Visual Studio to get a bot factory on your environment* published on November 10th, 2018.
---
[![General Bot Video](https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/video-01-thumb.jpg)](https://www.youtube.com/watch?v=AfKTwljoMOs)
![General Bot Logo](https://github.com/GeneralBots/botserver/blob/main/logo.png?raw=true)
## Overview
Welcome to General Bot Community Edition
----------------------------------------
General Bots is a **self-hosted AI automation platform** and strongly-typed LLM conversational platform focused on convention over configuration and code-less approaches. It serves as the core API server handling LLM orchestration, business logic, database operations, and multi-channel communication.
![General Bot Logo](https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/logo.png)
For comprehensive documentation, see **[docs.pragmatismo.com.br](https://docs.pragmatismo.com.br)** or the **[BotBook](../botbook)** for detailed guides, API references, and tutorials.
General Bot is a package based chat bot server focused in convention over configuration and code-less approaches, which brings software packages and application server concepts to help parallel bot development.
---
## 🚀 Quick Start
## Sample Package #1: [default.gbdialog (VBA)](https://github.com/pragmatismo-io/BotServer/tree/master/packages/default.gbdialog)
### Prerequisites
- **Rust** (1.75+) - [Install from rustup.rs](https://rustup.rs/)
- **Git** - [Download from git-scm.com](https://git-scm.com/downloads)
- **Mold** - `sudo apt-get install mold`
* See how easy is to use 'hear' and 'talk' to build Microsoft BOT Framework v4 logic with plain BASIC * published on December 3rd, 2018.
### Installation
[![See how easy is to use 'hear' and 'talk' to build Microsoft BOT Framework v4 logic with plain BASIC](https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/video-02-thumb.jpg)](https://www.youtube.com/watch?v=yX1sF9n9628)
```bash
git clone https://github.com/GeneralBots/botserver
cd botserver
cargo install sccache
sudo apt-get install mold # or build from source
cargo run
```
On first run, botserver automatically:
- Installs required components (PostgreSQL, S3 storage, Redis cache, LLM)
- Sets up database with migrations
- Downloads AI models
- Starts HTTP server at `http://localhost:9000`
## Sample Package #2: [AzureADPasswordReset.gbapp (TypeScript)](https://github.com/pragmatismo-io/AzureADPasswordReset.gbapp)
### Command-Line Options
```bash
cargo run # Default: console UI + web server
cargo run -- --noconsole # Background service mode
cargo run -- --desktop # Desktop application (Tauri)
cargo run -- --tenant <name> # Specify tenant
cargo run -- --container # LXC container mode
```
Custom dialogs for reseting user password in Azure Active Directory, Office 365, Dynamics 365 or any app published through Azure AD. See also [IntranetBotQuickStart.gbai](https://github.com/pragmatismo-io/IntranetBotQuickStart.gbai) and related MSDN article **[Applied AI Using a Bot for Password Reset](https://blogs.msdn.microsoft.com/buckwoody/2018/09/25/applied-ai-using-a-bot-for-password-reset)** by *Rodrigo Souza*.
---
## ✨ Key Features
### Bot Administrator - Setup Security
### Multi-Vendor LLM API
Unified interface for OpenAI, Groq, Claude, Anthropic, and local models.
So the Bot provides an **admin** mode allowing the user having the Directory.AccessAsUser.All permission to be logged on Administrative interface to obtain and save its token into the database.
### MCP + LLM Tools Generation
Instant tool creation from code and functions - no complex configurations.
![General Bot Logo](https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/general-bots-reset-ad-password-admin.gif)
### Semantic Caching
Intelligent response caching achieving **70% cost reduction** on LLM calls.
### Bot User - Reset Password
### Web Automation Engine
Browser automation combined with AI intelligence for complex workflows.
### Enterprise Data Connectors
Native integrations with CRM, ERP, databases, and external services.
With the access token stored in the database, any user can access anonymously the
bot and through a combination of e-mail and mobile received code, the user will be able to reset her or his password.
### Git-like Version Control
Full history with rollback capabilities for all configurations and data.
#### Reset password via Web
---
Any user can use a web address to talk to a reset password bot. Just provide credentials that are confronted with Microsoft Graph to ensure security.
## 🎯 4 Essential Keywords
![General Bot Logo](https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/password.gif)
```basic
USE KB "kb-name" ' Load knowledge base into vector database
CLEAR KB "kb-name" ' Remove KB from session
USE TOOL "tool-name" ' Make tool available to LLM
CLEAR TOOLS ' Remove all tools from session
```
general-bots-reset-ad-password.gif
### Example Bot
#### Reset password via Skype
```basic
' customer-support.bas
USE KB "support-docs"
USE TOOL "create-ticket"
USE TOOL "check-order"
This is the case when user does not have the password to login on Skype for Business or Teams, and they need to reset their password, so the right tool is Skype.
SET CONTEXT "support" AS "You are a helpful customer support agent."
![General Bot Logo](https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/general-bots-reset-ad-password.gif)
TALK "Welcome! How can I help you today?"
```
---
## What is a Bot Server?
## 📁 Project Structure
![General Bots Starting From Scrach](https://github.com/pragmatismo-io/BotServer/blob/master/docs/images/generalbots-open-core-starting-from-scratch.gif)
```
src/
├── core/ # Bootstrap, config, routes
├── basic/ # Rhai BASIC interpreter
│ └── keywords/ # BASIC keyword implementations
├── security/ # Security modules
│ ├── command_guard.rs # Safe command execution
│ ├── error_sanitizer.rs # Error message sanitization
│ └── sql_guard.rs # SQL injection prevention
├── shared/ # Shared types, models
├── tasks/ # AutoTask system (2651 lines - NEEDS REFACTORING)
├── auto_task/ # App generator (2981 lines - NEEDS REFACTORING)
├── drive/ # File operations (1522 lines - NEEDS REFACTORING)
├── learn/ # Learning system (2306 lines - NEEDS REFACTORING)
└── attendance/ # LLM assistance (2053 lines - NEEDS REFACTORING)
Bot Server accelerates the process of developing a bot. It provisions all code
base, resources and deployment to the cloud, and gives you templates you can
choose from whenever you need a new bot. The server has a database and service
backend allowing you to further modify your bot package directly by downloading
a zip file, editing and uploading it back to the server (deploying process) with
no code. The Bot Server also provides a framework to develop bot packages in a more
advanced fashion writing custom code in editors like Visual Studio Code, Atom or Brackets.
migrations/ # Database migrations
botserver-stack/ # Stack deployment files
```
---
## ✅ ZERO TOLERANCE POLICY
**EVERY SINGLE WARNING MUST BE FIXED. NO EXCEPTIONS.**
### Absolute Prohibitions
```
❌ NEVER use #![allow()] or #[allow()] in source code
❌ NEVER use .unwrap() - use ? or proper error handling
❌ NEVER use .expect() - use ? or proper error handling
❌ NEVER use panic!() or unreachable!()
❌ NEVER use todo!() or unimplemented!()
❌ NEVER leave unused imports or dead code
❌ NEVER add comments - code must be self-documenting
❌ NEVER use CDN links - all assets must be local
❌ NEVER build SQL queries with format! - use parameterized queries
❌ NEVER pass user input to Command::new() without validation
❌ NEVER log passwords, tokens, API keys, or PII
```
Everyone can create bots by just copying and pasting some files and using their
favorite tools like Excel (or any text editor) or Photoshop (or any image
editor).
---
Package Quick Reference
------------
|Whatsapp|Web|Core|KB|
|----|-----|----|----|
|[whatsapp.gblib](https://github.com/pragmatismo-io/BotServer/tree/master/packages/whatsapp.gblib)|[default.gbui](https://github.com/pragmatismo-io/BotServer/tree/master/packages/default.gbui)|[core.gbapp](https://github.com/pragmatismo-io/BotServer/tree/master/packages/core.gbapp)|[kb.gbapp](https://github.com/pragmatismo-io/BotServer/tree/master/packages/kb.gbapp)|
## 🔐 Security Requirements
### The bot development stack
### Error Handling - CRITICAL DEBT
![General Bot Logo](https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-stack.png)
**Current Status**: 955 instances of `unwrap()`/`expect()` found in codebase
**Target**: 0 instances in production code (tests excluded)
### The Bot Factory
```rust
// ❌ WRONG - Found 955 times in codebase
let value = something.unwrap();
let value = something.expect("msg");
// ✅ CORRECT - Required replacements
let value = something?;
let value = something.ok_or_else(|| Error::NotFound)?;
let value = something.unwrap_or_default();
let value = something.unwrap_or_else(|e| {
log::error!("Operation failed: {e}");
default_value
});
```
### Performance Issues - CRITICAL DEBT
**Current Status**: 12,973 excessive `clone()`/`to_string()` calls
**Target**: Minimize allocations, use references where possible
```rust
// ❌ WRONG - Excessive allocations
let name = user.name.clone();
let msg = format!("Hello {}", name.to_string());
// ✅ CORRECT - Minimize allocations
let name = &user.name;
let msg = format!("Hello {name}");
// ✅ CORRECT - Use Cow for conditional ownership
use std::borrow::Cow;
fn process_name(name: Cow<str>) -> String {
match name {
Cow::Borrowed(s) => s.to_uppercase(),
Cow::Owned(s) => s.to_uppercase(),
}
}
```
### SQL Injection Prevention
```rust
// ❌ WRONG
let query = format!("SELECT * FROM {}", table_name);
![General Bots Block Architecture](https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-block-architecture.png)
// ✅ CORRECT - whitelist validation
const ALLOWED_TABLES: &[&str] = &["users", "sessions"];
if !ALLOWED_TABLES.contains(&table_name) {
return Err(Error::InvalidTable);
}
```
### Command Injection Prevention
```rust
// ❌ WRONG
Command::new("tool").arg(user_input).output()?;
// ✅ CORRECT - Use SafeCommand
use crate::security::command_guard::SafeCommand;
SafeCommand::new("allowed_command")?
.arg("safe_arg")?
.execute()
```
GeneralBots aims to delivery bots in azure in a very easy and fast fashion. Use Office tools like Word or Excel to edit your Bot - using code (JavaScript or TypeScript) just to empower custom requirements.
### Error Responses - Use ErrorSanitizer
```rust
// ❌ WRONG
Json(json!({ "error": e.to_string() }))
format!("Database error: {}", e)
// ✅ CORRECT
use crate::security::error_sanitizer::log_and_sanitize;
let sanitized = log_and_sanitize(&e, "context", None);
(StatusCode::INTERNAL_SERVER_ERROR, sanitized)
```
---
#### Use Excel for (Hierarchical) Knowledge Base Editing
## ✅ Mandatory Code Patterns
![General Bots Inside Excel can enable bot production the masses](https://github.com/pragmatismo-io/BotServer/blob/master/docs/images/general-bots-composing-subjects-json-and-excel.gif)
### Format Strings - Inline Variables
#### Use Visual Studio for a complete .gbai package building system
```rust
// ❌ WRONG
format!("Hello {}", name)
![General Bots Inside Visual Studio Code provides a complete artificial intelligence based conversational platform](https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-inside-visual-studio-code-provides-a-complete-artificial-intelligence-based-conversational-platform.png)
// ✅ CORRECT
format!("Hello {name}")
```
### Self Usage in Impl Blocks
How To
------
```rust
// ❌ WRONG
impl MyStruct {
fn new() -> MyStruct { MyStruct { } }
}
### Run the server locally
// ✅ CORRECT
impl MyStruct {
fn new() -> Self { Self { } }
}
```
1. Install [Node.js](https://www.npmjs.com/get-npm) the current generation General Bot code execution platform;
2. Open a **Terminal** on Linux and Mac or a **Command Prompt** window on Windows;
3. Type `npm install -g botserver` and press *ENTER*;
4. Type `gbot` to run the server core.
### Derive Eq with PartialEq
Notes:
```rust
// ❌ WRONG
#[derive(PartialEq)]
struct MyStruct { }
* [*nodejs.install* Chocolatey Package](https://chocolatey.org/packages/nodejs.install) is also available.
* The zip source code of General Bot is also available for [Download](https://codeload.github.com/pragmatismo-io/BotServer/zip/master);
// ✅ CORRECT
#[derive(PartialEq, Eq)]
struct MyStruct { }
```
### Configure the server to deploy specific directory
### Option Handling
1. Create/Edit the .env file and add the ADDITIONAL_DEPLOY_PATH key pointing to the .gbai local parent folder of .gbapp, .gbot, .gbtheme, .gbkb package directories.
2. Specify STORAGE_SYNC to TRUE so database sync is run when the server is run.
3. In case of Microsoft SQL Server add the following keys: STORAGE_SERVER, STORAGE_NAME, STORAGE_USERNAME, STORAGE_PASSWORD, STORAGE_DIALECT to `mssql`.
```rust
// ✅ CORRECT
opt.unwrap_or(default)
opt.unwrap_or_else(|| compute_default())
opt.map_or(default, |x| transform(x))
```
Note:
### Chrono DateTime
* You can specify several bots separated by semicolon, the BotServer will serve all of them at once.
```rust
// ❌ WRONG
date.with_hour(9).unwrap().with_minute(0).unwrap()
## Setup development environment (Windows)
// ✅ CORRECT
date.with_hour(9).and_then(|d| d.with_minute(0)).unwrap_or(date)
```
1. [Optional] Install [Chocolatey](https://chocolatey.org/install), a Windows Package Manager;
2. Install [git](`https://git-scm.com/`), a Software Configuration Management (SCM).;
3. Install [Node.js](npmjs.com/get-npm), a [Runtime system](https://en.wikipedia.org/wiki/Runtime_system).
(https://www.npmjs.com/get-npm) (suggested: LTS 8.x.x);
4. Install [Visual Studio Code](https://chocolatey.org/packages/nodejs.install), Brackets or Atom as an editor of your choice;
5. [Fork](https://en.wikipedia.org/wiki/Fork_(software_development)) by visiting https://github.com/pragmatismo-io/BotServer/fork
6. Clone the just forked repository by running `git clone <your-forked-repository-url>/BotServer.git` ;
7. Run `npm install -g typescript`;
8. Run `npm install` on Command Prompt or PowerShell on the General Bot source-code folder;
9. Enter './packages/default.gbui' folder;
10. Run `npm install` folled by `npm run build` (To build default Bot UI);
11. Enter the On the downloaded folder (../..);
12. Compile the bot server by `tsc`.
13. Run the bot server by `npm start`.
---
Note:
## 📏 File Size Limits - MANDATORY
* Whenever you are ready to turn your open-source bot ideas in form of .gbapp (source-code) and artifacts like .gbkb, .gbtheme, .gbot or the .gbai full package read [CONTRIBUTING.md](https://github.com/pragmatismo-io/BotServer/blob/master/CONTRIBUTING.md) about performing Pull Requests (PR) and creating other public custom packages repositories of your own personal or organization General Bot Community Edition powered packages.
### Maximum 450 Lines Per File
### Running unit tests
When a file grows beyond this limit:
1. Enter the BotServer root folder.
2. Run tests by `npm test`.
1. **Identify logical groups** - Find related functions
2. **Create subdirectory module** - e.g., `handlers/`
3. **Split by responsibility:**
- `types.rs` - Structs, enums, type definitions
- `handlers.rs` - HTTP handlers and routes
- `operations.rs` - Core business logic
- `utils.rs` - Helper functions
- `mod.rs` - Re-exports and configuration
4. **Keep files focused** - Single responsibility
5. **Update mod.rs** - Re-export all public items
### Just copy the source code to your machine
**NEVER let a single file exceed 450 lines - split proactively at 350 lines**
1. [Download] the Zip file of (https://codeload.github.com/pragmatismo-io/BotServer/zip/master)
### Files Requiring Immediate Refactoring
### Updating the Bot Knoledge Base (.gbkb folder)
| File | Lines | Target Split |
|------|-------|--------------|
| `auto_task/app_generator.rs` | 2981 | → 7 files |
| `tasks/mod.rs` | 2651 | → 6 files |
| `learn/mod.rs` | 2306 | → 5 files |
| `attendance/llm_assist.rs` | 2053 | → 5 files |
| `drive/mod.rs` | 1522 | → 4 files |
The subjects.json file contains all information related to the subject tree and can be used to build the menu carrousel as well give a set of words to be used as subject catcher in the conversation. A hierarchy can be specified.
### Creating a new Theme folder (.gbtheme folder)
A theme is composed of some CSS files and images. That set of files can change
everything in the General Bot UI. Use them extensively before going to change
the UI application itself (HTML & JS).
---
Package Types
-------------
## 🗄️ Database Standards
### .gbai
- **TABLES AND INDEXES ONLY** (no stored procedures, nothing, no views, no triggers, no functions)
- **JSON columns:** use TEXT with `_json` suffix
- **ORM:** Use diesel - no sqlx
- **Migrations:** Located in `botserver/migrations/`
Embraces all packages types (content, logic & conversation) into a pluggable bot
directory. [A sample .gbai is available](https://github.com/pragmatismo-io/IntranetBotQuickStart.gbai).
---
### .gbapp
## 🎨 Frontend Rules
The artificial intelligence extensions in form of pluggable apps. Dialogs,
Services and all model related to data. A set of interactions, use cases,
integrations in form of conversationals dialogs.
The .gbapp adds the General Bot base library (botlib) for building Node.js TypeScript Apps packages.
- **Use HTMX** - minimize JavaScript
- **NO external CDN** - all assets local
- **Server-side rendering** with Askama templates
---
Four components builds up a General Bot App:
## 📦 Key Dependencies
* dialogs
* models
* services
* tests
| Library | Version | Purpose |
|---------|---------|---------|
| axum | 0.7.5 | Web framework |
| diesel | 2.1 | PostgreSQL ORM |
| tokio | 1.41 | Async runtime |
| rhai | git | BASIC scripting |
| reqwest | 0.12 | HTTP client |
| serde | 1.0 | Serialization |
| askama | 0.12 | HTML Templates |
#### Dialogs
---
All code contained in a dialog builds the flow to custom conversations in
built-in and additional packages .
## 🚀 CI/CD Workflow
When configuring CI/CD pipelines (e.g., Forgejo Actions):
#### Models
- **Minimal Checkout**: Clone only the root `gb` and the `botlib` submodule. Do NOT recursively clone everything.
- **BotServer Context**: Replace the empty `botserver` directory with the current set of files being tested.
Models builds the foundation of data relationships in form of entities.
**Example Step:**
```yaml
- name: Setup Workspace
run: |
# 1. Clone only the root workspace configuration
git clone --depth 1 <your-git-repo-url> workspace
# 2. Setup only the necessary dependencies (botlib)
cd workspace
git submodule update --init --depth 1 botlib
cd ..
# 3. Inject current BotServer code
rm -rf workspace/botserver
mv botserver workspace/botserver
```
#### Services
---
Services are a façade for bot back-end logic and other custom processing.
## 📚 Documentation
#### Tests
### Documentation Structure
Tests try to automate code execution validation before crashing in production.
```
docs/
├── api/ # API documentation
│ ├── README.md # API overview
│ ├── rest-endpoints.md # HTTP endpoints
│ └── websocket.md # Real-time communication
├── guides/ # How-to guides
│ ├── getting-started.md # Quick start
│ ├── deployment.md # Production setup
│ └── templates.md # Using templates
└── reference/ # Technical reference
├── basic-language.md # BASIC keywords
├── configuration.md # Config options
└── architecture.md # System design
```
### Additional Resources
### .gbot
- **[docs.pragmatismo.com.br](https://docs.pragmatismo.com.br)** - Full online documentation
- **[BotBook](../botbook)** - Local comprehensive guide with tutorials and examples
- **[API Reference](docs/api/README.md)** - REST and WebSocket endpoints
- **[BASIC Language](docs/reference/basic-language.md)** - Dialog scripting reference
An expression of an artificial inteligence entity. A .gbot file defines
all bots dependencies related to services and other resources.
---
### .gbtheme
## 🔗 Related Projects
A theme of a bot at a given time. CSS files & images that can compose all UI
presentation and using it a branding can be done. [A sample .gbtheme is available](https://github.com/pragmatismo-io/Office365.gbtheme)
| Project | Description |
|---------|-------------|
| [botui](https://github.com/GeneralBots/botui) | Pure web UI (HTMX-based) |
| [botapp](https://github.com/GeneralBots/botapp) | Tauri desktop wrapper |
| [botlib](https://github.com/GeneralBots/botlib) | Shared Rust library |
| [botbook](https://github.com/GeneralBots/botbook) | Documentation |
| [bottemplates](https://github.com/GeneralBots/bottemplates) | Templates and examples |
### .gbkb
---
A set of subjects that bot knows in a form of hierarchical menu-based QnA. [A sample .gbkb is available](https://github.com/pragmatismo-io/ProjectOnline.gbkb).
## 🛡️ Security
### .gblib
- **AGPL-3.0 License** - True open source with contribution requirements
- **Self-hosted** - Your data stays on your infrastructure
- **Enterprise-grade** - 5+ years of stability
- **No vendor lock-in** - Open protocols and standards
Shared code that can be used across bot apps.
Report security issues to: **security@pragmatismo.com.br**
Reference
---------
---
### GeneralBots admin commands
## 🤝 Contributing
General Bot can be controlled by the same chat window people talk to, so
here is a list of admin commands related to deploying .gb* files.
We welcome contributions! Please read our contributing guidelines before submitting PRs.
| Command | Description |
|-----------------|-----------------------------------------------------------------------------------------------------------------|
| deployPackage | Deploy a KB package. Usage **deployPackage** [package-name]. Then, you need to run rebuildIndex. |
| undeployPackage | Undeploy a KB. Usage **undeployPackage** [package-name]. |
| redeployPackage | Undeploy and then deploys the KB. Usage **redeployPackage** [package-name]. Then, you need to run rebuildIndex. |
| setupSecurity | Setup connection to user directories. |
### Contributors
Discontinued commands:
<a href="https://github.com/generalbots/botserver/graphs/contributors">
<img src="https://contrib.rocks/image?repo=generalbots/botserver" />
</a>
| Command | Description |Reason |
|-----------------| -----------------------------------------------------------------------------------------------------------------|------|
| rebuildIndex | Rebuild Azure Search indexes, must be run after **deployPackage** or **redeployPackage**. | Now it is called automatically |
---
### Credits & Inspiration
## 🔑 Remember
* Rodrigo Rodriguez (me@rodrigorodriguez.com) - Coding, Docs & Architecture.
* David Lerner (david.lerner@hotmail.com) - UI, UX & Theming.
* Eduardo Romeiro (eromeirosp@outlook.com) - Content & UX.
* Jorge Ramos (jramos@pobox.com) - Coding, Docs & Architecture.
* PH Nascimento (ph.an@outlook.com) - Product Manager
- **ZERO WARNINGS** - Fix every clippy warning
- **ZERO COMMENTS** - No comments, no doc comments
- **NO ALLOW IN CODE** - Configure exceptions in Cargo.toml only
- **NO DEAD CODE** - Delete unused code
- **NO UNWRAP/EXPECT** - Use ? or combinators (955 instances to fix)
- **MINIMIZE CLONES** - Avoid excessive allocations (12,973 instances to optimize)
- **PARAMETERIZED SQL** - Never format! for queries
- **VALIDATE COMMANDS** - Never pass raw user input
- **INLINE FORMAT ARGS** - `format!("{name}")` not `format!("{}", name)`
- **USE SELF** - In impl blocks, use Self not type name
- **FILE SIZE LIMIT** - Max 450 lines per file, refactor at 350 lines
- **Version 6.2.0** - Do not change without approval
- **GIT WORKFLOW** - ALWAYS push to ALL repositories (github, pragmatismo)
Powered by Microsoft [BOT Framework](https://dev.botframework.com/) and [Azure](http://www.azure.com).
---
General Bot Code Name is [Guaribas](https://en.wikipedia.org/wiki/Guaribas), the name of a city in Brasil, state of Piaui.
[Roberto Mangabeira Unger](http://www.robertounger.com/en/): "No one should have to do work that can be done by a machine".
## 🚨 Immediate Action Required
## Contributing
1. **Replace 955 unwrap()/expect() calls** with proper error handling
2. **Optimize 12,973 clone()/to_string() calls** for performance
3. **Refactor 5 large files** following refactoring plan
4. **Add missing error handling** in critical paths
5. **Implement proper logging** instead of panicking
This project welcomes contributions and suggestions.
See our [Contribution Guidelines](https://github.com/pragmatismo-io/BotServer/blob/master/CONTRIBUTING.md) for more details.
---
## Reporting Security Issues
## 📄 License
Security issues and bugs should be reported privately, via email, to the Pragmatismo.io Security
team at [security@pragmatismo.io](mailto:security@pragmatismo.io). You should
receive a response within 24 hours. If for some reason you do not, please follow up via
email to ensure we received your original message.
General Bot Copyright (c) pragmatismo.com.br. All rights reserved.
Licensed under the **AGPL-3.0**.
## License & Warranty
According to our dual licensing model, this program can be used either under the terms of the GNU Affero General Public License, version 3, or under a proprietary license.
General Bot Copyright (c) Pragmatismo.io. All rights reserved.
Licensed under the AGPL-3.0.
According to our dual licensing model, this program can be used either
under the terms of the GNU Affero General Public License, version 3,
or under a proprietary license.
The texts of the GNU Affero General Public License with an additional
permission and of our proprietary license can be found at and
in the LICENSE file you have received along with this program.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
"General Bot" is a registered trademark of Pragmatismo.io.
The licensing of the program under the AGPLv3 does not imply a
trademark license. Therefore any rights, title and interest in
our trademarks remain entirely with us.
---
## 🔗 Links
<a href="https://stackoverflow.com/questions/ask?tags=generalbots">:speech_balloon: Ask a question</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/docs">:book: Read the Docs</a>
</h2>
- **Website:** [pragmatismo.com.br](https://pragmatismo.com.br)
- **Documentation:** [docs.pragmatismo.com.br](https://docs.pragmatismo.com.br)
- **GitHub:** [github.com/GeneralBots/botserver](https://github.com/GeneralBots/botserver)
- **Stack Overflow:** Tag questions with `generalbots`
- **Video Tutorial:** [7 AI General Bots LLM Templates](https://www.youtube.com/watch?v=KJgvUPXi3Fw)
---
**General Bots Code Name:** [Guaribas](https://en.wikipedia.org/wiki/Guaribas)
> "No one should have to do work that can be done by a machine." - Roberto Mangabeira Unger

View file

@ -1,7 +0,0 @@
# General Bots Server Samples
| Sample | Description |
|--------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| [IntranetBotQuickStart-gbai](https://github.com/pragmatismo-io/IntranetBotQuickStart.gbai) | Free modules from General Bots Intranet based bot. |
| [AzureADPasswordReset-gbapp](https://github.com/pragmatismo-io/AzureADPasswordReset.gbapp) | Custom General Bot App (gbapp) for resetting an user password in Azure Active Directory, Office 365, Dynamics 365 or any app published through Azure AD. |
| [ProjectOnline.gbkb](https://github.com/pragmatismo-io/ProjectOnline.gbkb) | The .gbkb file demonstring a Knowledge Base for Pragmatismo.io KBot for Microsoft Project. |

89
add-req.sh Executable file
View file

@ -0,0 +1,89 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$SCRIPT_DIR"
OUTPUT_FILE="/tmp/prompt.out"
echo "Consolidated LLM Context" > "$OUTPUT_FILE"
prompts=(
"./prompts/dev/platform/shared.md"
"./prompts/dev/platform/cli.md"
"./prompts/dev/platform/ide.md"
"./Cargo.toml"
)
for file in "${prompts[@]}"; do
if [ -f "$file" ]; then
cat "$file" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
fi
done
dirs=(
"auth"
#"automation"
#"basic"
#"bootstrap"
"bot"
#"channels"
#"config"
#"context"
#"drive_monitor"
"email"
"file"
#"kb"
"llm"
#"llm_models"
"meet"
#"org"
#"package_manager"
#"riot_compiler"
"session"
"shared"
#"tests"
#"tools"
#"ui"
#"ui_tree"
#"web_server"
#"web_automation"
)
for dir in "${dirs[@]}"; do
find "$PROJECT_ROOT/src/$dir" -name "*.rs" | while read -r file; do
echo "$file" >> "$OUTPUT_FILE"
cat "$file" >> "$OUTPUT_FILE"
done
done
# Additional specific files
files=(
"$PROJECT_ROOT/src/main.rs"
#"$PROJECT_ROOT/src/basic/keywords/mod.rs"
)
for file in "${files[@]}"; do
echo "$file" >> "$OUTPUT_FILE"
cat "$file" >> "$OUTPUT_FILE"
done
# Remove all blank lines and reduce whitespace greater than 1 space
sed -i 's/[[:space:]]*$//' "$OUTPUT_FILE"
sed -i '/^$/d' "$OUTPUT_FILE"
sed -i 's/ \+/ /g' "$OUTPUT_FILE"
# Calculate and display token count (approximation: words * 1.3)
WORD_COUNT=$(wc -w < "$OUTPUT_FILE")
TOKEN_COUNT=$(echo "$WORD_COUNT * 1.3 / 1" | bc)
FILE_SIZE=$(wc -c < "$OUTPUT_FILE")
echo "" >> "$OUTPUT_FILE"
echo "Approximate token count: $TOKEN_COUNT"
echo "Context size: $FILE_SIZE bytes"
cat "$OUTPUT_FILE" | xclip -selection clipboard
echo "Content copied to clipboard (xclip)"
rm -f "$OUTPUT_FILE"

7
build.rs Normal file
View file

@ -0,0 +1,7 @@
fn main() {
if std::path::Path::new("../botui/ui/suite/").exists() {
println!("cargo:rerun-if-changed=../botui/ui/suite/");
}
println!("cargo:rerun-if-changed=3rdparty.toml");
println!("cargo:rerun-if-changed=.env.embedded");
}

View file

@ -1,148 +0,0 @@
@if "%SCM_TRACE_LEVEL%" NEQ "4" @echo off
:: ----------------------
:: General Bots deployment.
:: -------------
:: Verify node.js installed
where node 2>nul >nul
IF %ERRORLEVEL% NEQ 0 (
echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment.
goto error
)
:: Setup
:: -----
setlocal enabledelayedexpansion
SET ARTIFACTS=%~dp0%..\artifacts
IF NOT DEFINED DEPLOYMENT_SOURCE (
SET DEPLOYMENT_SOURCE=%~dp0%.
)
IF NOT DEFINED DEPLOYMENT_TARGET (
SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot
)
IF NOT DEFINED NEXT_MANIFEST_PATH (
SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest
IF NOT DEFINED PREVIOUS_MANIFEST_PATH (
SET PREVIOUS_MANIFEST_PATH=%ARTIFACTS%\manifest
)
)
IF NOT DEFINED KUDU_SYNC_CMD (
:: Install kudu sync
echo Installing Kudu Sync
call npm install kudusync -g --silent
IF !ERRORLEVEL! NEQ 0 goto error
:: Locally just running "kuduSync" would also work
SET KUDU_SYNC_CMD=%appdata%\npm\kuduSync.cmd
)
goto Deployment
:: Utility Functions
:: -----------------
:SelectNodeVersion
IF DEFINED KUDU_SELECT_NODE_VERSION_CMD (
:: The following are done only on Windows Azure Websites environment
call %KUDU_SELECT_NODE_VERSION_CMD% "%DEPLOYMENT_SOURCE%" "%DEPLOYMENT_TARGET%" "%DEPLOYMENT_TEMP%"
IF !ERRORLEVEL! NEQ 0 goto error
IF EXIST "%DEPLOYMENT_TEMP%\__nodeVersion.tmp" (
SET /p NODE_EXE=<"%DEPLOYMENT_TEMP%\__nodeVersion.tmp"
IF !ERRORLEVEL! NEQ 0 goto error
)
IF EXIST "%DEPLOYMENT_TEMP%\__npmVersion.tmp" (
SET /p NPM_JS_PATH=<"%DEPLOYMENT_TEMP%\__npmVersion.tmp"
IF !ERRORLEVEL! NEQ 0 goto error
)
IF NOT DEFINED NODE_EXE (
SET NODE_EXE=node
)
SET NPM_CMD="!NODE_EXE!" "!NPM_JS_PATH!"
) ELSE (
SET NPM_CMD=npm
SET NODE_EXE=node
)
goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Deployment
:: ----------
:Deployment
echo Handling node.js deployment.
:: 1. KuduSync
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
IF !ERRORLEVEL! NEQ 0 goto error
)
:: 2. Select node version
call :SelectNodeVersion
:: 3. Install npm packages
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
pushd "%DEPLOYMENT_TARGET%"
echo [GUARIBASDEPLOYER] Installing packages for server.
call :ExecuteCmd !NPM_CMD! install --production
IF !ERRORLEVEL! NEQ 0 goto error
popd
)
:: 3.1 Install npm packages on UI
IF EXIST "%DEPLOYMENT_TARGET%\deploy\default.gbui\package.json" (
call :ExecuteCmd !NPM_CMD! config set scripts-prepend-node-path true
pushd "%DEPLOYMENT_TARGET%\deploy\default.gbui"
echo [GUARIBASDEPLOYER] Installing packages for default.gbui.
call :ExecuteCmd !NPM_CMD! install
echo [GUARIBASDEPLOYER] Building default.gbui.
call :ExecuteCmd !NPM_CMD! run build
IF !ERRORLEVEL! NEQ 0 goto error
popd
)
:: 4. Install typescript
echo [GUARIBASDEPLOYER] Transpiling...
call :ExecuteCmd node %DEPLOYMENT_TARGET%\node_modules\typescript\bin\tsc -v
call :ExecuteCmd node %DEPLOYMENT_TARGET%\node_modules\typescript\bin\tsc -p "%DEPLOYMENT_TARGET%"
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
goto end
:: Execute command routine that will echo out when error
:ExecuteCmd
setlocal
set _CMD_=%*
call %_CMD_%
if "%ERRORLEVEL%" NEQ "0" echo Failed exitCode=%ERRORLEVEL%, command=%_CMD_%
exit /b %ERRORLEVEL%
:error
endlocal
echo An error has occurred during web site deployment.
call :exitSetErrorLevel
call :exitFromFunction 2>nul
:exitSetErrorLevel
exit /b 1
:exitFromFunction
()
:end
endlocal
echo Finished successfully.

5
diesel.toml Normal file
View file

@ -0,0 +1,5 @@
[migrations_directory]
dir = "migrations"
[print_schema]
file = "src/shared/schema.rs"

View file

@ -1 +0,0 @@
theme: jekyll-theme-minimal

View file

@ -0,0 +1,57 @@
# Multi-Agent Workflows Guide
## Creating Workflows
### Basic Workflow Structure
```basic
ORCHESTRATE WORKFLOW "workflow-name"
STEP 1: BOT "analyzer" "process input"
STEP 2: BOT "validator" "check results"
END WORKFLOW
```
### Human Approval Integration
```basic
STEP 3: HUMAN APPROVAL FROM "manager@company.com"
TIMEOUT 1800 ' 30 minutes
ON TIMEOUT: ESCALATE TO "director@company.com"
```
### Parallel Processing
```basic
STEP 4: PARALLEL
BRANCH A: BOT "processor-1" "handle batch-a"
BRANCH B: BOT "processor-2" "handle batch-b"
END PARALLEL
```
### Event-Driven Coordination
```basic
ON EVENT "data-ready" DO
CONTINUE WORKFLOW AT STEP 5
END ON
PUBLISH EVENT "processing-complete"
```
### Cross-Bot Memory Sharing
```basic
BOT SHARE MEMORY "successful-patterns" WITH "learning-bot"
BOT SYNC MEMORY FROM "master-knowledge-bot"
```
## Best Practices
1. **Keep workflows focused** - Max 10 steps per workflow
2. **Use meaningful names** - Clear bot and step names
3. **Add timeouts** - Always set timeouts for human approvals
4. **Share knowledge** - Use memory sharing for bot learning
5. **Handle events** - Use event system for loose coupling
## Workflow Persistence
Workflows automatically survive server restarts. State is stored in PostgreSQL and recovered on startup.
## Visual Designer
Use the drag-and-drop designer at `/designer/workflow` to create workflows visually. The designer generates BASIC code automatically.

View file

@ -0,0 +1,308 @@
# Tools vs Bots: When to Use Each
**Chapter 4: Understanding the Difference Between Function Calls and AI Agents**
---
## Overview
General Bots provides two ways to extend your bot's capabilities:
- **TOOLs** - Simple functions with input/output
- **BOTs** - Intelligent AI agents that can reason and remember
Understanding when to use each is crucial for building efficient, cost-effective automation.
## Quick Comparison
| Feature | TOOL | BOT |
|---------|------|-----|
| **Purpose** | Data operations | Decision making |
| **Intelligence** | None (function) | Full LLM reasoning |
| **Speed** | Fast (10-100ms) | Slower (1-5 seconds) |
| **Cost** | Free | LLM tokens ($0.001-0.01) |
| **Input** | Structured data | Natural language |
| **Output** | Structured data | Conversational response |
| **Memory** | Stateless | Remembers context |
## Tools: The Function Approach
### What Are Tools?
Tools are **stateless functions** that perform specific operations:
```basic
' Tool usage - direct function call
USE TOOL "check-order"
result = CALL TOOL "check-order" WITH order_id="12345"
' Returns: {"status": "delivered", "amount": 899}
```
### When to Use Tools
✅ **Perfect for:**
- Database queries
- API calls
- Calculations
- Data transformations
- Real-time operations
```basic
' Examples of good tool usage
USE TOOL "get-weather"
weather = CALL TOOL "get-weather" WITH city="São Paulo"
USE TOOL "calculate-tax"
tax = CALL TOOL "calculate-tax" WITH amount=100, region="BR"
USE TOOL "send-email"
CALL TOOL "send-email" WITH to="user@example.com", subject="Order Confirmed"
```
### Tool Limitations
❌ **Cannot:**
- Make decisions
- Understand context
- Remember previous calls
- Handle ambiguous input
- Provide explanations
## Bots: The AI Agent Approach
### What Are Bots?
Bots are **intelligent agents** that can reason, remember, and make decisions:
```basic
' Bot usage - conversational interaction
ADD BOT "order-specialist"
response = ASK BOT "order-specialist" ABOUT "Customer says order 12345 arrived damaged. What should we do?"
' Returns: Detailed analysis with reasoning and recommendation
```
### When to Use Bots
✅ **Perfect for:**
- Complex decision making
- Natural language understanding
- Multi-step reasoning
- Context-aware responses
- Customer service scenarios
```basic
' Examples of good bot usage
ADD BOT "financial-advisor"
advice = ASK BOT "financial-advisor" ABOUT "Customer wants refund after 60 days but threatens legal action"
ADD BOT "technical-support"
solution = ASK BOT "technical-support" ABOUT "User can't login, tried password reset twice"
ADD BOT "content-moderator"
decision = ASK BOT "content-moderator" ABOUT "Review this user comment for policy violations"
```
### Bot Capabilities
✅ **Can:**
- Analyze complex situations
- Remember conversation history
- Use multiple tools internally
- Provide detailed explanations
- Handle edge cases
## Real-World Example: Order Processing
### Scenario
Customer contacts support: *"My laptop order #12345 arrived broken. I need this fixed immediately as I have a presentation tomorrow."*
### Tool-Only Approach (Limited)
```basic
' Simple but inflexible
USE TOOL "check-order"
order = CALL TOOL "check-order" WITH order_id="12345"
USE TOOL "check-warranty"
warranty = CALL TOOL "check-warranty" WITH order_id="12345"
IF order.status = "delivered" AND warranty.valid = true THEN
TALK "You're eligible for replacement"
ELSE
TALK "Please contact manager"
END IF
```
**Problems:**
- No understanding of urgency ("presentation tomorrow")
- No consideration of customer history
- Rigid, rule-based responses
- Cannot handle edge cases
### Bot Approach (Intelligent)
```basic
' Intelligent and flexible
ADD BOT "support-specialist"
response = ASK BOT "support-specialist" ABOUT "Customer says laptop order #12345 arrived broken. They have presentation tomorrow and need immediate help."
```
**Bot's internal reasoning:**
1. Uses `check-order` tool → Order delivered 2 days ago, $1,299 laptop
2. Uses `check-warranty` tool → Premium warranty valid
3. Uses `customer-history` tool → VIP customer, 8 previous orders
4. **Analyzes urgency** → Presentation tomorrow = time-sensitive
5. **Considers options** → Replacement (2-day shipping) vs immediate refund for local purchase
6. **Makes recommendation** → "Given urgency and VIP status, authorize immediate refund so customer can buy locally, plus expedited replacement as backup"
## Hybrid Approach: Best of Both Worlds
**Recommended pattern: Bots use Tools internally**
```basic
' support-specialist.bas - Bot implementation
USE TOOL "check-order"
USE TOOL "check-warranty"
USE TOOL "customer-history"
USE TOOL "inventory-check"
USE KB "support-policies"
WHEN ASKED ABOUT order_issue DO
' Gather data using tools (fast, cheap)
order = CALL TOOL "check-order" WITH order_id
warranty = CALL TOOL "check-warranty" WITH order_id
customer = CALL TOOL "customer-history" WITH customer_id
' Apply AI reasoning (intelligent, contextual)
urgency = ANALYZE urgency FROM user_message
customer_value = CALCULATE value FROM customer.total_orders
IF urgency = "high" AND customer_value = "vip" THEN
recommendation = "Expedited resolution with manager approval"
ELSE IF warranty.type = "premium" THEN
recommendation = "Standard replacement process"
ELSE
recommendation = "Store credit or repair option"
END IF
RETURN detailed_response WITH reasoning AND next_steps
END WHEN
```
## Performance Guidelines
### Tool Performance
- **Latency:** 10-100ms
- **Cost:** $0 (no LLM calls)
- **Throughput:** 1000+ operations/second
- **Use for:** High-frequency, simple operations
### Bot Performance
- **Latency:** 1-5 seconds
- **Cost:** $0.001-0.01 per interaction
- **Throughput:** 10-100 interactions/second
- **Use for:** Complex, high-value decisions
## Decision Framework
### Use TOOL when:
1. **Operation is deterministic** - Same input always produces same output
2. **Speed is critical** - Real-time responses needed
3. **Cost matters** - High-frequency operations
4. **Data is structured** - Clear input/output format
### Use BOT when:
1. **Context matters** - Previous conversation affects response
2. **Reasoning required** - Multiple factors to consider
3. **Natural language input** - Ambiguous or conversational requests
4. **Edge cases exist** - Situations requiring judgment
### Use HYBRID when:
1. **Complex workflows** - Multiple steps with decision points
2. **Data + Intelligence** - Need both fast data access and smart reasoning
3. **Scalability important** - Balance cost and capability
## Common Patterns
### Pattern 1: Data Retrieval
```basic
' TOOL: Simple lookup
price = CALL TOOL "get-price" WITH product_id="laptop-123"
' BOT: Contextual pricing
ADD BOT "pricing-advisor"
quote = ASK BOT "pricing-advisor" ABOUT "Customer wants bulk discount for 50 laptops, they're a returning enterprise client"
```
### Pattern 2: Validation
```basic
' TOOL: Rule-based validation
valid = CALL TOOL "validate-email" WITH email="user@domain.com"
' BOT: Contextual validation
ADD BOT "content-reviewer"
assessment = ASK BOT "content-reviewer" ABOUT "Is this product review appropriate for our family-friendly site?"
```
### Pattern 3: Workflow Orchestration
```basic
' Hybrid: Bot coordinates, tools execute
ORCHESTRATE WORKFLOW "order-processing"
STEP 1: CALL TOOL "validate-payment" WITH payment_info
STEP 2: BOT "fraud-detector" ANALYZES transaction_pattern
STEP 3: CALL TOOL "reserve-inventory" WITH product_id
STEP 4: BOT "shipping-optimizer" SELECTS best_carrier
STEP 5: CALL TOOL "send-confirmation" WITH order_details
END WORKFLOW
```
## Best Practices
### 1. Start Simple, Add Intelligence
```basic
' Phase 1: Tool-based (fast to implement)
result = CALL TOOL "process-refund" WITH order_id, amount
' Phase 2: Add bot intelligence (when complexity grows)
ADD BOT "refund-specialist"
decision = ASK BOT "refund-specialist" ABOUT "Customer wants refund but policy expired, they're threatening bad review"
```
### 2. Cache Bot Responses
```basic
' Expensive bot call
ADD BOT "product-recommender"
recommendations = ASK BOT "product-recommender" ABOUT "Best laptop for gaming under $1000"
' Cache result for similar queries
REMEMBER "gaming-laptop-under-1000" AS recommendations
```
### 3. Fallback Patterns
```basic
' Try bot first, fallback to tool
TRY
response = ASK BOT "smart-assistant" ABOUT user_query
CATCH bot_error
' Fallback to simple tool
response = CALL TOOL "keyword-search" WITH query=user_query
END TRY
```
## Summary
**Tools** are your **workhorses** - fast, reliable, cost-effective for data operations.
**Bots** are your **brain trust** - intelligent, contextual, perfect for complex decisions.
**Hybrid approach** gives you the best of both: use tools for speed and bots for intelligence.
Choose based on your specific needs:
- Need speed? → Tool
- Need intelligence? → Bot
- Need both? → Bot that uses tools
The key is understanding that **tools and bots complement each other** - they're not competing solutions, but different tools for different jobs in your AI automation toolkit.
---
**Next:** [Chapter 5: Building Multi-Agent Workflows](workflows.md)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

View file

@ -1,865 +0,0 @@
/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
/* ========================================================================== HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
/** Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }
/** Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. Known issue: no IE 6 support. */
[hidden] { display: none; }
/* ========================================================================== Base ========================================================================== */
/** 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using `em` units. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html { font-size: 100%; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ font-family: sans-serif; }
/** Address `font-family` inconsistency between `textarea` and other form elements. */
button, input, select, textarea { font-family: sans-serif; }
/** Address margins handled incorrectly in IE 6/7. */
body { margin: 0; }
/* ========================================================================== Links ========================================================================== */
/** Address `outline` inconsistency between Chrome and other browsers. */
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }
/** Improve readability when focused and also mouse hovered in all browsers. */
/* ========================================================================== Typography ========================================================================== */
/** Address font sizes and margins set differently in IE 6/7. Address font sizes within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */
h1 { font-size: 2em; margin: 0.67em 0; }
h2 { font-size: 1.5em; margin: 0.83em 0; }
h3 { font-size: 1.17em; margin: 1em 0; }
h4, .tsd-index-panel h3 { font-size: 1em; margin: 1.33em 0; }
h5 { font-size: 0.83em; margin: 1.67em 0; }
h6 { font-size: 0.67em; margin: 2.33em 0; }
/** Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }
/** Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
/** Address styling not present in Safari 5 and Chrome. */
dfn { font-style: italic; }
/** Address differences between Firefox and other browsers. Known issue: no IE 6/7 normalization. */
hr { box-sizing: content-box; height: 0; }
/** Address styling not present in IE 6/7/8/9. */
mark { background: #ff0; color: #000; }
/** Address margins set differently in IE 6/7. */
p, pre { margin: 1em 0; }
/** Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
code, kbd, pre, samp { font-family: monospace, serif; _font-family: "courier new", monospace; font-size: 1em; }
/** Improve readability of pre-formatted text in all browsers. */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
/** Address CSS quotes not supported in IE 6/7. */
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
/** Address `quotes` property not supported in Safari 4. */
/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }
/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; top: -0.5em; }
sub { bottom: -0.25em; }
/* ========================================================================== Lists ========================================================================== */
/** Address margins set differently in IE 6/7. */
dl, menu, ol, ul { margin: 1em 0; }
dd { margin: 0 0 0 40px; }
/** Address paddings set differently in IE 6/7. */
menu, ol, ul { padding: 0 0 0 40px; }
/** Correct list images handled incorrectly in IE 7. */
nav ul, nav ol { list-style: none; list-style-image: none; }
/* ========================================================================== Embedded content ========================================================================== */
/** 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. 2. Improve image quality when scaled in IE 7. */
img { border: 0; /* 1 */ -ms-interpolation-mode: bicubic; }
/* 2 */
/** Correct overflow displayed oddly in IE 9. */
svg:not(:root) { overflow: hidden; }
/* ========================================================================== Figures ========================================================================== */
/** Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
figure, form { margin: 0; }
/* ========================================================================== Forms ========================================================================== */
/** Correct margin displayed oddly in IE 6/7. */
/** Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
/** 1. Correct color not being inherited in IE 6/7/8/9. 2. Correct text not wrapping in Firefox 3. 3. Correct alignment displayed oddly in IE 6/7. */
legend { border: 0; /* 1 */ padding: 0; white-space: normal; /* 2 */ *margin-left: -7px; }
/* 3 */
/** 1. Correct font size not being inherited in all browsers. 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, and Chrome. 3. Improve appearance and consistency in all browsers. */
button, input, select, textarea { font-size: 100%; /* 1 */ margin: 0; /* 2 */ vertical-align: baseline; /* 3 */ *vertical-align: middle; }
/* 3 */
/** Address Firefox 3+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
button, input { line-height: normal; }
/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. Correct `select` style inheritance in Firefox 4+ and Opera. */
button, select { text-transform: none; }
/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. 4. Remove inner spacing in IE 7 without affecting normal text inputs. Known issue: inner spacing remains in IE 6. */
button, html input[type="button"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ *overflow: visible; }
/* 4 */
input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ *overflow: visible; }
/* 4 */
/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: default; }
/** 1. Address box sizing set to content-box in IE 8/9. 2. Remove excess padding in IE 8/9. 3. Remove excess padding in IE 7. Known issue: excess padding remains in IE 6. */
input { /* 3 */ }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ *height: 13px; /* 3 */ *width: 13px; }
input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
/** Remove inner padding and border in Firefox 3+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
/** 1. Remove default vertical scrollbar in IE 6/7/8/9. 2. Improve readability and alignment in all browsers. */
textarea { overflow: auto; /* 1 */ vertical-align: top; }
/* 2 */
/* ========================================================================== Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }
/* Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
.hljs { display: inline-block; padding: 0.5em; background: white; color: black; }
.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket { color: #008000; }
.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title { color: #00f; }
.xml .hljs-tag { color: #00f; }
.xml .hljs-tag .hljs-value { color: #00f; }
.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value { color: #a31515; }
.ruby .hljs-symbol { color: #a31515; }
.ruby .hljs-symbol .hljs-string { color: #a31515; }
.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute { color: #a31515; }
.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt { color: #2b91af; }
.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag { color: #808080; }
.vhdl .hljs-typename { font-weight: bold; }
.vhdl .hljs-string { color: #666666; }
.vhdl .hljs-literal { color: #a31515; }
.vhdl .hljs-attribute { color: #00b0e8; }
.xml .hljs-attribute { color: #f00; }
.col > :first-child, .col-1 > :first-child, .col-2 > :first-child, .col-3 > :first-child, .col-4 > :first-child, .col-5 > :first-child, .col-6 > :first-child, .col-7 > :first-child, .col-8 > :first-child, .col-9 > :first-child, .col-10 > :first-child, .col-11 > :first-child, .tsd-panel > :first-child, ul.tsd-descriptions > li > :first-child, .col > :first-child > :first-child, .col-1 > :first-child > :first-child, .col-2 > :first-child > :first-child, .col-3 > :first-child > :first-child, .col-4 > :first-child > :first-child, .col-5 > :first-child > :first-child, .col-6 > :first-child > :first-child, .col-7 > :first-child > :first-child, .col-8 > :first-child > :first-child, .col-9 > :first-child > :first-child, .col-10 > :first-child > :first-child, .col-11 > :first-child > :first-child, .tsd-panel > :first-child > :first-child, ul.tsd-descriptions > li > :first-child > :first-child, .col > :first-child > :first-child > :first-child, .col-1 > :first-child > :first-child > :first-child, .col-2 > :first-child > :first-child > :first-child, .col-3 > :first-child > :first-child > :first-child, .col-4 > :first-child > :first-child > :first-child, .col-5 > :first-child > :first-child > :first-child, .col-6 > :first-child > :first-child > :first-child, .col-7 > :first-child > :first-child > :first-child, .col-8 > :first-child > :first-child > :first-child, .col-9 > :first-child > :first-child > :first-child, .col-10 > :first-child > :first-child > :first-child, .col-11 > :first-child > :first-child > :first-child, .tsd-panel > :first-child > :first-child > :first-child, ul.tsd-descriptions > li > :first-child > :first-child > :first-child { margin-top: 0; }
.col > :last-child, .col-1 > :last-child, .col-2 > :last-child, .col-3 > :last-child, .col-4 > :last-child, .col-5 > :last-child, .col-6 > :last-child, .col-7 > :last-child, .col-8 > :last-child, .col-9 > :last-child, .col-10 > :last-child, .col-11 > :last-child, .tsd-panel > :last-child, ul.tsd-descriptions > li > :last-child, .col > :last-child > :last-child, .col-1 > :last-child > :last-child, .col-2 > :last-child > :last-child, .col-3 > :last-child > :last-child, .col-4 > :last-child > :last-child, .col-5 > :last-child > :last-child, .col-6 > :last-child > :last-child, .col-7 > :last-child > :last-child, .col-8 > :last-child > :last-child, .col-9 > :last-child > :last-child, .col-10 > :last-child > :last-child, .col-11 > :last-child > :last-child, .tsd-panel > :last-child > :last-child, ul.tsd-descriptions > li > :last-child > :last-child, .col > :last-child > :last-child > :last-child, .col-1 > :last-child > :last-child > :last-child, .col-2 > :last-child > :last-child > :last-child, .col-3 > :last-child > :last-child > :last-child, .col-4 > :last-child > :last-child > :last-child, .col-5 > :last-child > :last-child > :last-child, .col-6 > :last-child > :last-child > :last-child, .col-7 > :last-child > :last-child > :last-child, .col-8 > :last-child > :last-child > :last-child, .col-9 > :last-child > :last-child > :last-child, .col-10 > :last-child > :last-child > :last-child, .col-11 > :last-child > :last-child > :last-child, .tsd-panel > :last-child > :last-child > :last-child, ul.tsd-descriptions > li > :last-child > :last-child > :last-child { margin-bottom: 0; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
@media (max-width: 640px) { .container { padding: 0 20px; } }
.container-main { padding-bottom: 200px; }
.row { position: relative; margin: 0 -10px; }
.row:after { visibility: hidden; display: block; content: ""; clear: both; height: 0; }
.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11 { box-sizing: border-box; float: left; padding: 0 10px; }
.col-1 { width: 8.33333%; }
.offset-1 { margin-left: 8.33333%; }
.col-2 { width: 16.66667%; }
.offset-2 { margin-left: 16.66667%; }
.col-3 { width: 25%; }
.offset-3 { margin-left: 25%; }
.col-4 { width: 33.33333%; }
.offset-4 { margin-left: 33.33333%; }
.col-5 { width: 41.66667%; }
.offset-5 { margin-left: 41.66667%; }
.col-6 { width: 50%; }
.offset-6 { margin-left: 50%; }
.col-7 { width: 58.33333%; }
.offset-7 { margin-left: 58.33333%; }
.col-8 { width: 66.66667%; }
.offset-8 { margin-left: 66.66667%; }
.col-9 { width: 75%; }
.offset-9 { margin-left: 75%; }
.col-10 { width: 83.33333%; }
.offset-10 { margin-left: 83.33333%; }
.col-11 { width: 91.66667%; }
.offset-11 { margin-left: 91.66667%; }
.tsd-kind-icon { display: block; position: relative; padding-left: 20px; text-indent: -20px; }
.tsd-kind-icon:before { content: ''; display: inline-block; vertical-align: middle; width: 17px; height: 17px; margin: 0 3px 2px 0; background-image: url(../images/icons.png); }
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-kind-icon:before { background-image: url(../images/icons@2x.png); background-size: 238px 204px; } }
.tsd-signature.tsd-kind-icon:before { background-position: 0 -153px; }
.tsd-kind-object-literal > .tsd-kind-icon:before { background-position: 0px -17px; }
.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -17px; }
.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -17px; }
.tsd-kind-class > .tsd-kind-icon:before { background-position: 0px -34px; }
.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -34px; }
.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -34px; }
.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: 0px -51px; }
.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -51px; }
.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -51px; }
.tsd-kind-interface > .tsd-kind-icon:before { background-position: 0px -68px; }
.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -68px; }
.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -68px; }
.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: 0px -85px; }
.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -85px; }
.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -85px; }
.tsd-kind-module > .tsd-kind-icon:before { background-position: 0px -102px; }
.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -102px; }
.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -102px; }
.tsd-kind-external-module > .tsd-kind-icon:before { background-position: 0px -102px; }
.tsd-kind-external-module.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -102px; }
.tsd-kind-external-module.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -102px; }
.tsd-kind-enum > .tsd-kind-icon:before { background-position: 0px -119px; }
.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -119px; }
.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -119px; }
.tsd-kind-enum-member > .tsd-kind-icon:before { background-position: 0px -136px; }
.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -136px; }
.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -136px; }
.tsd-kind-signature > .tsd-kind-icon:before { background-position: 0px -153px; }
.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -153px; }
.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -153px; }
.tsd-kind-type-alias > .tsd-kind-icon:before { background-position: 0px -170px; }
.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { background-position: -17px -170px; }
.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { background-position: -34px -170px; }
.tsd-kind-variable > .tsd-kind-icon:before { background-position: -136px -0px; }
.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -0px; }
.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; }
.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -0px; }
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -0px; }
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -0px; }
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -0px; }
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; }
.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -0px; }
.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -0px; }
.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; }
.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -0px; }
.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -0px; }
.tsd-kind-property > .tsd-kind-icon:before { background-position: -136px -0px; }
.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -0px; }
.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; }
.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -0px; }
.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -0px; }
.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -0px; }
.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -0px; }
.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; }
.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -0px; }
.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -0px; }
.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -0px; }
.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -0px; }
.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -0px; }
.tsd-kind-get-signature > .tsd-kind-icon:before { background-position: -136px -17px; }
.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -17px; }
.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -17px; }
.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -17px; }
.tsd-kind-set-signature > .tsd-kind-icon:before { background-position: -136px -34px; }
.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -34px; }
.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -34px; }
.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -34px; }
.tsd-kind-accessor > .tsd-kind-icon:before { background-position: -136px -51px; }
.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -51px; }
.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -51px; }
.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -51px; }
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -51px; }
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -51px; }
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -51px; }
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -51px; }
.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -51px; }
.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -51px; }
.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -51px; }
.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -51px; }
.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -51px; }
.tsd-kind-function > .tsd-kind-icon:before { background-position: -136px -68px; }
.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -68px; }
.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -68px; }
.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -68px; }
.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -68px; }
.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -68px; }
.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -68px; }
.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -68px; }
.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -68px; }
.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -68px; }
.tsd-kind-method > .tsd-kind-icon:before { background-position: -136px -68px; }
.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -68px; }
.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -68px; }
.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -68px; }
.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -68px; }
.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -68px; }
.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -68px; }
.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -68px; }
.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -68px; }
.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -68px; }
.tsd-kind-call-signature > .tsd-kind-icon:before { background-position: -136px -68px; }
.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -68px; }
.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -68px; }
.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -68px; }
.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: -136px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -85px; }
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -85px; }
.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { background-position: -136px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -85px; }
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -85px; }
.tsd-kind-constructor > .tsd-kind-icon:before { background-position: -136px -102px; }
.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -102px; }
.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; }
.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -102px; }
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -102px; }
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -102px; }
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -102px; }
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; }
.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -102px; }
.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -102px; }
.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; }
.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -102px; }
.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -102px; }
.tsd-kind-constructor-signature > .tsd-kind-icon:before { background-position: -136px -102px; }
.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -102px; }
.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -102px; }
.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -102px; }
.tsd-kind-index-signature > .tsd-kind-icon:before { background-position: -136px -119px; }
.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -119px; }
.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -119px; }
.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -119px; }
.tsd-kind-event > .tsd-kind-icon:before { background-position: -136px -136px; }
.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -136px; }
.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -136px; }
.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -136px; }
.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -136px; }
.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -136px; }
.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -136px; }
.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -136px; }
.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -136px; }
.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -136px; }
.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -136px; }
.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -136px; }
.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -136px; }
.tsd-is-static > .tsd-kind-icon:before { background-position: -136px -153px; }
.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -153px; }
.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -153px; }
.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -153px; }
.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -153px; }
.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -153px; }
.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -153px; }
.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -153px; }
.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -153px; }
.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -153px; }
.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -153px; }
.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -153px; }
.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -153px; }
.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { background-position: -136px -170px; }
.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -170px; }
.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -170px; }
.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -170px; }
.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { background-position: -136px -170px; }
.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -170px; }
.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -170px; }
.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -170px; }
.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { background-position: -136px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -170px; }
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -170px; }
.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { background-position: -136px -187px; }
.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { background-position: -153px -187px; }
.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { background-position: -51px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { background-position: -68px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { background-position: -85px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { background-position: -102px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { background-position: -170px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { background-position: -187px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { background-position: -119px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { background-position: -204px -187px; }
.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { background-position: -221px -187px; }
.no-transition { transition: none !important; }
@-webkit-keyframes fade-in { from { opacity: 0; }
to { opacity: 1; } }
@keyframes fade-in { from { opacity: 0; }
to { opacity: 1; } }
@-webkit-keyframes fade-out { from { opacity: 1; visibility: visible; }
to { opacity: 0; } }
@keyframes fade-out { from { opacity: 1; visibility: visible; }
to { opacity: 0; } }
@-webkit-keyframes fade-in-delayed { 0% { opacity: 0; }
33% { opacity: 0; }
100% { opacity: 1; } }
@keyframes fade-in-delayed { 0% { opacity: 0; }
33% { opacity: 0; }
100% { opacity: 1; } }
@-webkit-keyframes fade-out-delayed { 0% { opacity: 1; visibility: visible; }
66% { opacity: 0; }
100% { opacity: 0; } }
@keyframes fade-out-delayed { 0% { opacity: 1; visibility: visible; }
66% { opacity: 0; }
100% { opacity: 0; } }
@-webkit-keyframes shift-to-left { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
to { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); } }
@keyframes shift-to-left { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
to { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); } }
@-webkit-keyframes unshift-to-left { from { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); }
to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } }
@keyframes unshift-to-left { from { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); }
to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } }
@-webkit-keyframes pop-in-from-right { from { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); }
to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } }
@keyframes pop-in-from-right { from { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); }
to { -webkit-transform: translate(0, 0); transform: translate(0, 0); } }
@-webkit-keyframes pop-out-to-right { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); visibility: visible; }
to { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); } }
@keyframes pop-out-to-right { from { -webkit-transform: translate(0, 0); transform: translate(0, 0); visibility: visible; }
to { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); } }
body { background: #fdfdfd; font-family: "Segoe UI", sans-serif; font-size: 16px; color: #222; }
a { color: #4da6ff; text-decoration: none; }
a:hover { text-decoration: underline; }
code, pre { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; padding: 0.2em; margin: 0; font-size: 14px; background-color: rgba(0, 0, 0, 0.04); }
pre { padding: 10px; }
pre code { padding: 0; font-size: 100%; background-color: transparent; }
.tsd-typography { line-height: 1.333em; }
.tsd-typography ul { list-style: square; padding: 0 0 0 20px; margin: 0; }
.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { font-size: 1em; margin: 0; }
.tsd-typography h5, .tsd-typography h6 { font-weight: normal; }
.tsd-typography p, .tsd-typography ul, .tsd-typography ol { margin: 1em 0; }
@media (min-width: 901px) and (max-width: 1024px) { html.default .col-content { width: 72%; }
html.default .col-menu { width: 28%; }
html.default .tsd-navigation { padding-left: 10px; } }
@media (max-width: 900px) { html.default .col-content { float: none; width: 100%; }
html.default .col-menu { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; z-index: 1024; top: 0 !important; bottom: 0 !important; left: auto !important; right: 0 !important; width: 100%; padding: 20px 20px 0 0; max-width: 450px; visibility: hidden; background-color: #fff; -webkit-transform: translate(100%, 0); transform: translate(100%, 0); }
html.default .col-menu > *:last-child { padding-bottom: 20px; }
html.default .overlay { content: ""; display: block; position: fixed; z-index: 1023; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.75); visibility: hidden; }
html.default.to-has-menu .overlay { -webkit-animation: fade-in 0.4s; animation: fade-in 0.4s; }
html.default.to-has-menu header, html.default.to-has-menu footer, html.default.to-has-menu .col-content { -webkit-animation: shift-to-left 0.4s; animation: shift-to-left 0.4s; }
html.default.to-has-menu .col-menu { -webkit-animation: pop-in-from-right 0.4s; animation: pop-in-from-right 0.4s; }
html.default.from-has-menu .overlay { -webkit-animation: fade-out 0.4s; animation: fade-out 0.4s; }
html.default.from-has-menu header, html.default.from-has-menu footer, html.default.from-has-menu .col-content { -webkit-animation: unshift-to-left 0.4s; animation: unshift-to-left 0.4s; }
html.default.from-has-menu .col-menu { -webkit-animation: pop-out-to-right 0.4s; animation: pop-out-to-right 0.4s; }
html.default.has-menu body { overflow: hidden; }
html.default.has-menu .overlay { visibility: visible; }
html.default.has-menu header, html.default.has-menu footer, html.default.has-menu .col-content { -webkit-transform: translate(-25%, 0); transform: translate(-25%, 0); }
html.default.has-menu .col-menu { visibility: visible; -webkit-transform: translate(0, 0); transform: translate(0, 0); } }
.tsd-page-title { padding: 70px 0 20px 0; margin: 0 0 40px 0; background: #fff; box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); }
.tsd-page-title h1 { margin: 0; }
.tsd-breadcrumb { margin: 0; padding: 0; color: #808080; }
.tsd-breadcrumb a { color: #808080; text-decoration: none; }
.tsd-breadcrumb a:hover { text-decoration: underline; }
.tsd-breadcrumb li { display: inline; }
.tsd-breadcrumb li:after { content: " / "; }
html.minimal .container { margin: 0; }
html.minimal .container-main { padding-top: 50px; padding-bottom: 0; }
html.minimal .content-wrap { padding-left: 300px; }
html.minimal .tsd-navigation { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; box-sizing: border-box; z-index: 1; left: 0; top: 40px; bottom: 0; width: 300px; padding: 20px; margin: 0; }
html.minimal .tsd-member .tsd-member { margin-left: 0; }
html.minimal .tsd-page-toolbar { position: fixed; z-index: 2; }
html.minimal #tsd-filter .tsd-filter-group { right: 0; -webkit-transform: none; transform: none; }
html.minimal footer { background-color: transparent; }
html.minimal footer .container { padding: 0; }
html.minimal .tsd-generator { padding: 0; }
@media (max-width: 900px) { html.minimal .tsd-navigation { display: none; }
html.minimal .content-wrap { padding-left: 0; } }
dl.tsd-comment-tags { overflow: hidden; }
dl.tsd-comment-tags dt { clear: both; float: left; padding: 1px 5px; margin: 0 10px 0 0; border-radius: 4px; border: 1px solid #808080; color: #808080; font-size: 0.8em; font-weight: normal; }
dl.tsd-comment-tags dd { margin: 0 0 10px 0; }
dl.tsd-comment-tags p { margin: 0; }
.tsd-panel.tsd-comment .lead { font-size: 1.1em; line-height: 1.333em; margin-bottom: 2em; }
.tsd-panel.tsd-comment .lead:last-child { margin-bottom: 0; }
.toggle-protected .tsd-is-private { display: none; }
.toggle-public .tsd-is-private, .toggle-public .tsd-is-protected, .toggle-public .tsd-is-private-protected { display: none; }
.toggle-inherited .tsd-is-inherited { display: none; }
.toggle-only-exported .tsd-is-not-exported { display: none; }
.toggle-externals .tsd-is-external { display: none; }
#tsd-filter { position: relative; display: inline-block; height: 40px; vertical-align: bottom; }
.no-filter #tsd-filter { display: none; }
#tsd-filter .tsd-filter-group { display: inline-block; height: 40px; vertical-align: bottom; white-space: nowrap; }
#tsd-filter input { display: none; }
@media (max-width: 900px) { #tsd-filter .tsd-filter-group { display: block; position: absolute; top: 40px; right: 20px; height: auto; background-color: #fff; visibility: hidden; -webkit-transform: translate(50%, 0); transform: translate(50%, 0); box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); }
.has-options #tsd-filter .tsd-filter-group { visibility: visible; }
.to-has-options #tsd-filter .tsd-filter-group { -webkit-animation: fade-in 0.2s; animation: fade-in 0.2s; }
.from-has-options #tsd-filter .tsd-filter-group { -webkit-animation: fade-out 0.2s; animation: fade-out 0.2s; }
#tsd-filter label, #tsd-filter .tsd-select { display: block; padding-right: 20px; } }
footer { border-top: 1px solid #eee; background-color: #fff; }
footer.with-border-bottom { border-bottom: 1px solid #eee; }
footer .tsd-legend-group { font-size: 0; }
footer .tsd-legend { display: inline-block; width: 25%; padding: 0; font-size: 16px; list-style: none; line-height: 1.333em; vertical-align: top; }
@media (max-width: 900px) { footer .tsd-legend { width: 50%; } }
.tsd-hierarchy { list-style: square; padding: 0 0 0 20px; margin: 0; }
.tsd-hierarchy .target { font-weight: bold; }
.tsd-index-panel .tsd-index-content { margin-bottom: -30px !important; }
.tsd-index-panel .tsd-index-section { margin-bottom: 30px !important; }
.tsd-index-panel h3 { margin: 0 -20px 10px -20px; padding: 0 20px 10px 20px; border-bottom: 1px solid #eee; }
.tsd-index-panel ul.tsd-index-list { -webkit-column-count: 3; -moz-column-count: 3; -ms-column-count: 3; -o-column-count: 3; column-count: 3; -webkit-column-gap: 20px; -moz-column-gap: 20px; -ms-column-gap: 20px; -o-column-gap: 20px; column-gap: 20px; padding: 0; list-style: none; line-height: 1.333em; }
@media (max-width: 900px) { .tsd-index-panel ul.tsd-index-list { -webkit-column-count: 1; -moz-column-count: 1; -ms-column-count: 1; -o-column-count: 1; column-count: 1; } }
@media (min-width: 901px) and (max-width: 1024px) { .tsd-index-panel ul.tsd-index-list { -webkit-column-count: 2; -moz-column-count: 2; -ms-column-count: 2; -o-column-count: 2; column-count: 2; } }
.tsd-index-panel ul.tsd-index-list li { -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; -ms-column-break-inside: avoid; -o-column-break-inside: avoid; column-break-inside: avoid; -webkit-page-break-inside: avoid; -moz-page-break-inside: avoid; -ms-page-break-inside: avoid; -o-page-break-inside: avoid; page-break-inside: avoid; }
.tsd-index-panel a, .tsd-index-panel .tsd-parent-kind-module a { color: #9600ff; }
.tsd-index-panel .tsd-parent-kind-interface a { color: #7da01f; }
.tsd-index-panel .tsd-parent-kind-enum a { color: #cc9900; }
.tsd-index-panel .tsd-parent-kind-class a { color: #4da6ff; }
.tsd-index-panel .tsd-kind-module a { color: #9600ff; }
.tsd-index-panel .tsd-kind-interface a { color: #7da01f; }
.tsd-index-panel .tsd-kind-enum a { color: #cc9900; }
.tsd-index-panel .tsd-kind-class a { color: #4da6ff; }
.tsd-index-panel .tsd-is-private a { color: #808080; }
.tsd-flag { display: inline-block; padding: 1px 5px; border-radius: 4px; color: #fff; background-color: #808080; text-indent: 0; font-size: 14px; font-weight: normal; }
.tsd-anchor { position: absolute; top: -100px; }
.tsd-member { position: relative; }
.tsd-member .tsd-anchor + h3 { margin-top: 0; margin-bottom: 0; border-bottom: none; }
.tsd-navigation { padding: 0 0 0 40px; }
.tsd-navigation a { display: block; padding-top: 2px; padding-bottom: 2px; border-left: 2px solid transparent; color: #222; text-decoration: none; transition: border-left-color 0.1s; }
.tsd-navigation a:hover { text-decoration: underline; }
.tsd-navigation ul { margin: 0; padding: 0; list-style: none; }
.tsd-navigation li { padding: 0; }
.tsd-navigation.primary { padding-bottom: 40px; }
.tsd-navigation.primary a { display: block; padding-top: 6px; padding-bottom: 6px; }
.tsd-navigation.primary ul li a { padding-left: 5px; }
.tsd-navigation.primary ul li li a { padding-left: 25px; }
.tsd-navigation.primary ul li li li a { padding-left: 45px; }
.tsd-navigation.primary ul li li li li a { padding-left: 65px; }
.tsd-navigation.primary ul li li li li li a { padding-left: 85px; }
.tsd-navigation.primary ul li li li li li li a { padding-left: 105px; }
.tsd-navigation.primary > ul { border-bottom: 1px solid #eee; }
.tsd-navigation.primary li { border-top: 1px solid #eee; }
.tsd-navigation.primary li.current > a { font-weight: bold; }
.tsd-navigation.primary li.label span { display: block; padding: 20px 0 6px 5px; color: #808080; }
.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { padding-top: 20px; }
.tsd-navigation.secondary ul { transition: opacity 0.2s; }
.tsd-navigation.secondary ul li a { padding-left: 25px; }
.tsd-navigation.secondary ul li li a { padding-left: 45px; }
.tsd-navigation.secondary ul li li li a { padding-left: 65px; }
.tsd-navigation.secondary ul li li li li a { padding-left: 85px; }
.tsd-navigation.secondary ul li li li li li a { padding-left: 105px; }
.tsd-navigation.secondary ul li li li li li li a { padding-left: 125px; }
.tsd-navigation.secondary ul.current a { border-left-color: #eee; }
.tsd-navigation.secondary li.focus > a, .tsd-navigation.secondary ul.current li.focus > a { border-left-color: #000; }
.tsd-navigation.secondary li.current { margin-top: 20px; margin-bottom: 20px; border-left-color: #eee; }
.tsd-navigation.secondary li.current > a { font-weight: bold; }
@media (min-width: 901px) { .menu-sticky-wrap { position: static; }
.no-csspositionsticky .menu-sticky-wrap.sticky { position: fixed; }
.no-csspositionsticky .menu-sticky-wrap.sticky-current { position: fixed; }
.no-csspositionsticky .menu-sticky-wrap.sticky-current ul.before-current, .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.after-current { opacity: 0; }
.no-csspositionsticky .menu-sticky-wrap.sticky-bottom { position: absolute; top: auto !important; left: auto !important; bottom: 0; right: 0; }
.csspositionsticky .menu-sticky-wrap.sticky { position: -webkit-sticky; position: sticky; }
.csspositionsticky .menu-sticky-wrap.sticky-current { position: -webkit-sticky; position: sticky; } }
.tsd-panel { margin: 20px 0; padding: 20px; background-color: #fff; box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); }
.tsd-panel:empty { display: none; }
.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { margin: 1.5em -20px 10px -20px; padding: 0 20px 10px 20px; border-bottom: 1px solid #eee; }
.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { margin-bottom: 0; border-bottom: 0; }
.tsd-panel table { display: block; width: 100%; overflow: auto; margin-top: 10px; word-break: normal; word-break: keep-all; }
.tsd-panel table th { font-weight: bold; }
.tsd-panel table th, .tsd-panel table td { padding: 6px 13px; border: 1px solid #ddd; }
.tsd-panel table tr { background-color: #fff; border-top: 1px solid #ccc; }
.tsd-panel table tr:nth-child(2n) { background-color: #f8f8f8; }
.tsd-panel-group { margin: 60px 0; }
.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { padding-left: 20px; padding-right: 20px; }
#tsd-search { transition: background-color 0.2s; }
#tsd-search .title { position: relative; z-index: 2; }
#tsd-search .field { position: absolute; left: 0; top: 0; right: 40px; height: 40px; }
#tsd-search .field input { box-sizing: border-box; position: relative; top: -50px; z-index: 1; width: 100%; padding: 0 10px; opacity: 0; outline: 0; border: 0; background: transparent; color: #222; }
#tsd-search .field label { position: absolute; overflow: hidden; right: -40px; }
#tsd-search .field input, #tsd-search .title { transition: opacity 0.2s; }
#tsd-search .results { position: absolute; visibility: hidden; top: 40px; width: 100%; margin: 0; padding: 0; list-style: none; box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); }
#tsd-search .results li { padding: 0 10px; background-color: #fdfdfd; }
#tsd-search .results li:nth-child(even) { background-color: #fff; }
#tsd-search .results li.state { display: none; }
#tsd-search .results li.current, #tsd-search .results li:hover { background-color: #eee; }
#tsd-search .results a { display: block; }
#tsd-search .results a:before { top: 10px; }
#tsd-search .results span.parent { color: #808080; font-weight: normal; }
#tsd-search.has-focus { background-color: #eee; }
#tsd-search.has-focus .field input { top: 0; opacity: 1; }
#tsd-search.has-focus .title { z-index: 0; opacity: 0; }
#tsd-search.has-focus .results { visibility: visible; }
#tsd-search.loading .results li.state.loading { display: block; }
#tsd-search.failure .results li.state.failure { display: block; }
.tsd-signature { margin: 0 0 1em 0; padding: 10px; border: 1px solid #eee; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; }
.tsd-signature.tsd-kind-icon { padding-left: 30px; }
.tsd-signature.tsd-kind-icon:before { top: 10px; left: 10px; }
.tsd-panel > .tsd-signature { margin-left: -20px; margin-right: -20px; border-width: 1px 0; }
.tsd-panel > .tsd-signature.tsd-kind-icon { padding-left: 40px; }
.tsd-panel > .tsd-signature.tsd-kind-icon:before { left: 20px; }
.tsd-signature-symbol { color: #808080; font-weight: normal; }
.tsd-signature-type { font-style: italic; font-weight: normal; }
.tsd-signatures { padding: 0; margin: 0 0 1em 0; border: 1px solid #eee; }
.tsd-signatures .tsd-signature { margin: 0; border-width: 1px 0 0 0; transition: background-color 0.1s; }
.tsd-signatures .tsd-signature:first-child { border-top-width: 0; }
.tsd-signatures .tsd-signature.current { background-color: #eee; }
.tsd-signatures.active > .tsd-signature { cursor: pointer; }
.tsd-panel > .tsd-signatures { margin-left: -20px; margin-right: -20px; border-width: 1px 0; }
.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { padding-left: 40px; }
.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { left: 20px; }
.tsd-panel > a.anchor + .tsd-signatures { border-top-width: 0; margin-top: -20px; }
ul.tsd-descriptions { position: relative; overflow: hidden; transition: height 0.3s; padding: 0; list-style: none; }
ul.tsd-descriptions.active > .tsd-description { display: none; }
ul.tsd-descriptions.active > .tsd-description.current { display: block; }
ul.tsd-descriptions.active > .tsd-description.fade-in { -webkit-animation: fade-in-delayed 0.3s; animation: fade-in-delayed 0.3s; }
ul.tsd-descriptions.active > .tsd-description.fade-out { -webkit-animation: fade-out-delayed 0.3s; animation: fade-out-delayed 0.3s; position: absolute; display: block; top: 0; left: 0; right: 0; opacity: 0; visibility: hidden; }
ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { font-size: 16px; margin: 1em 0 0.5em 0; }
ul.tsd-parameters, ul.tsd-type-parameters { list-style: square; margin: 0; padding-left: 20px; }
ul.tsd-parameters > li.tsd-parameter-siganture, ul.tsd-type-parameters > li.tsd-parameter-siganture { list-style: none; margin-left: -20px; }
ul.tsd-parameters h5, ul.tsd-type-parameters h5 { font-size: 16px; margin: 1em 0 0.5em 0; }
ul.tsd-parameters .tsd-comment, ul.tsd-type-parameters .tsd-comment { margin-top: -0.5em; }
.tsd-sources { font-size: 14px; color: #808080; margin: 0 0 1em 0; }
.tsd-sources a { color: #808080; text-decoration: underline; }
.tsd-sources ul, .tsd-sources p { margin: 0 !important; }
.tsd-sources ul { list-style: none; padding: 0; }
.tsd-page-toolbar { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 40px; color: #333; background: #fff; border-bottom: 1px solid #eee; }
.tsd-page-toolbar a { color: #333; text-decoration: none; }
.tsd-page-toolbar a.title { font-weight: bold; }
.tsd-page-toolbar a.title:hover { text-decoration: underline; }
.tsd-page-toolbar .table-wrap { display: table; width: 100%; height: 40px; }
.tsd-page-toolbar .table-cell { display: table-cell; position: relative; white-space: nowrap; line-height: 40px; }
.tsd-page-toolbar .table-cell:first-child { width: 100%; }
.tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { content: ""; display: inline-block; width: 40px; height: 40px; margin: 0 -8px 0 0; background-image: url(../images/widgets.png); background-repeat: no-repeat; text-indent: -1024px; vertical-align: bottom; }
@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { background-image: url(../images/widgets@2x.png); background-size: 320px 40px; } }
.tsd-widget { display: inline-block; overflow: hidden; opacity: 0.6; height: 40px; transition: opacity 0.1s, background-color 0.2s; vertical-align: bottom; cursor: pointer; }
.tsd-widget:hover { opacity: 0.8; }
.tsd-widget.active { opacity: 1; background-color: #eee; }
.tsd-widget.no-caption { width: 40px; }
.tsd-widget.no-caption:before { margin: 0; }
.tsd-widget.search:before { background-position: 0 0; }
.tsd-widget.menu:before { background-position: -40px 0; }
.tsd-widget.options:before { background-position: -80px 0; }
.tsd-widget.options, .tsd-widget.menu { display: none; }
@media (max-width: 900px) { .tsd-widget.options, .tsd-widget.menu { display: inline-block; } }
input[type=checkbox] + .tsd-widget:before { background-position: -120px 0; }
input[type=checkbox]:checked + .tsd-widget:before { background-position: -160px 0; }
.tsd-select { position: relative; display: inline-block; height: 40px; transition: opacity 0.1s, background-color 0.2s; vertical-align: bottom; cursor: pointer; }
.tsd-select .tsd-select-label { opacity: 0.6; transition: opacity 0.2s; }
.tsd-select .tsd-select-label:before { background-position: -240px 0; }
.tsd-select.active .tsd-select-label { opacity: 0.8; }
.tsd-select.active .tsd-select-list { visibility: visible; opacity: 1; transition-delay: 0s; }
.tsd-select .tsd-select-list { position: absolute; visibility: hidden; top: 40px; left: 0; margin: 0; padding: 0; opacity: 0; list-style: none; box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); transition: visibility 0s 0.2s, opacity 0.2s; }
.tsd-select .tsd-select-list li { padding: 0 20px 0 0; background-color: #fdfdfd; }
.tsd-select .tsd-select-list li:before { background-position: 40px 0; }
.tsd-select .tsd-select-list li:nth-child(even) { background-color: #fff; }
.tsd-select .tsd-select-list li:hover { background-color: #eee; }
.tsd-select .tsd-select-list li.selected:before { background-position: -200px 0; }
@media (max-width: 900px) { .tsd-select .tsd-select-list { top: 0; left: auto; right: 100%; margin-right: -5px; }
.tsd-select .tsd-select-label:before { background-position: -280px 0; } }
img { max-width: 100%; }

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 855 B

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,74 @@
# BASIC Language Reference - Version 6.2.0
## New Workflow Orchestration Keywords
### ORCHESTRATE WORKFLOW
Creates multi-step workflows with bot coordination.
**Syntax:**
```basic
ORCHESTRATE WORKFLOW "workflow-name"
STEP 1: BOT "bot-name" "action"
STEP 2: HUMAN APPROVAL FROM "email@domain.com" TIMEOUT 1800
STEP 3: PARALLEL
BRANCH A: BOT "bot-a" "process"
BRANCH B: BOT "bot-b" "process"
END PARALLEL
END WORKFLOW
```
**Features:**
- Workflow state persists through server restarts
- Variables automatically passed between steps
- Human approval integration with timeouts
- Parallel processing support
### Event System
**ON EVENT**
```basic
ON EVENT "event-name" DO
TALK "Event received"
END ON
```
**PUBLISH EVENT**
```basic
PUBLISH EVENT "event-name"
```
**WAIT FOR EVENT**
```basic
WAIT FOR EVENT "approval-received" TIMEOUT 3600
```
### Enhanced Memory
**BOT SHARE MEMORY**
```basic
BOT SHARE MEMORY "key" WITH "target-bot"
```
**BOT SYNC MEMORY**
```basic
BOT SYNC MEMORY FROM "source-bot"
```
### Enhanced LLM (Feature-gated)
**Optimized LLM Calls**
```basic
result = LLM "Analyze data" WITH OPTIMIZE FOR "speed"
result = LLM "Complex task" WITH MAX_COST 0.05 MAX_LATENCY 2000
```
## File Type Detection
The designer automatically detects:
- **Tools**: Simple input/output functions
- **Workflows**: Multi-step orchestration
- **Regular Bots**: Conversational interfaces
## Backward Compatibility
All existing BASIC keywords continue to work unchanged. New keywords extend functionality without breaking existing `.gbai` packages.

View file

@ -1,234 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>GBServer | General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="../modules/_src_app_.html">&quot;src/app&quot;</a>
</li>
<li>
<a href="_src_app_.gbserver.html">GBServer</a>
</li>
</ul>
<h1>Class GBServer</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>General Bots open-core entry point.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">GBServer</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="_src_app_.gbserver.html#run" class="tsd-kind-icon">run</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a name="run" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagStatic">Static</span> run</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
<li class="tsd-signature tsd-kind-icon">run<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L65">src/app.ts:65</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p> Program entry-point.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
<li class="current tsd-kind-external-module">
<a href="../modules/_src_app_.html">"src/app"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-external-module">
<a href="_src_app_.gbserver.html" class="tsd-kind-icon">GBServer</a>
<ul>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
<a href="_src_app_.gbserver.html#run" class="tsd-kind-icon">run</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_src_app_.html#apppackages" class="tsd-kind-icon">app<wbr>Packages</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_src_app_.html#bodyparser" class="tsd-kind-icon">body<wbr>Parser</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_src_app_.html#express" class="tsd-kind-icon">express</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_src_app_.html#logger" class="tsd-kind-icon">logger</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View file

@ -1,334 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.js" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="globals.html">Globals</a>
</li>
</ul>
<h1> General Bots Open Core</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>External modules</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html" class="tsd-kind-icon">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_index_.html" class="tsd-kind-icon">"packages/admin.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_models_adminmodel_.html" class="tsd-kind-icon">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_services_gbadminservice_.html" class="tsd-kind-icon">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_admin_gbapp_strings_.html" class="tsd-kind-icon">"packages/admin.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_analytics_gblib_index_.html" class="tsd-kind-icon">"packages/analytics.gblib/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_analytics_gblib_models_index_.html" class="tsd-kind-icon">"packages/analytics.gblib/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html" class="tsd-kind-icon">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html" class="tsd-kind-icon">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html" class="tsd-kind-icon">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_index_.html" class="tsd-kind-icon">"packages/core.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_models_gbmodel_.html" class="tsd-kind-icon">"packages/core.gbapp/models/GBModel"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbapiservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBAPIService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbconfigservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBConfig<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBConversational<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbcoreservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBCore<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbdeployer_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBDeployer"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbimporterservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBImporter<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbminservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBMin<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_gbvmservice_.html" class="tsd-kind-icon">"packages/core.gbapp/services/GBVMService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_services_tscompiler_.html" class="tsd-kind-icon">"packages/core.gbapp/services/TSCompiler"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_core_gbapp_strings_.html" class="tsd-kind-icon">"packages/core.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_index_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_customer_satisfaction_gbapp_strings_.html" class="tsd-kind-icon">"packages/customer-<wbr>satisfaction.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html" class="tsd-kind-icon">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_index_.html" class="tsd-kind-icon">"packages/kb.gbapp/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_models_index_.html" class="tsd-kind-icon">"packages/kb.gbapp/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_services_kbservice_.html" class="tsd-kind-icon">"packages/kb.gbapp/services/KBService"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_kb_gbapp_strings_.html" class="tsd-kind-icon">"packages/kb.gbapp/strings"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_security_gblib_index_.html" class="tsd-kind-icon">"packages/security.gblib/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_security_gblib_models_index_.html" class="tsd-kind-icon">"packages/security.gblib/models/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_security_gblib_services_secservice_.html" class="tsd-kind-icon">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_whatsapp_gblib_index_.html" class="tsd-kind-icon">"packages/whatsapp.gblib/index"</a></li>
<li class="tsd-kind-external-module tsd-is-external"><a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html" class="tsd-kind-icon">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_src_app_.html" class="tsd-kind-icon">"src/app"</a></li>
<li class="tsd-kind-external-module"><a href="modules/_src_logger_.html" class="tsd-kind-icon">"src/logger"</a></li>
</ul>
</section>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals current ">
<a href="globals.html"><em>Globals</em></a>
</li>
<li class="label tsd-is-external">
<span>Internals</span>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_src_app_.html">"src/app"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_src_logger_.html">"src/logger"</a>
</li>
<li class="label tsd-is-external">
<span>Externals</span>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_index_.html">"packages/admin.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_models_adminmodel_.html">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_services_gbadminservice_.html">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_strings_.html">"packages/admin.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_index_.html">"packages/analytics.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_models_index_.html">"packages/analytics.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_index_.html">"packages/core.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_models_gbmodel_.html">"packages/core.gbapp/models/GBModel"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbapiservice_.html">"packages/core.gbapp/services/GBAPIService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconfigservice_.html">"packages/core.gbapp/services/GBConfig<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html">"packages/core.gbapp/services/GBConversational<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbcoreservice_.html">"packages/core.gbapp/services/GBCore<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbdeployer_.html">"packages/core.gbapp/services/GBDeployer"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbimporterservice_.html">"packages/core.gbapp/services/GBImporter<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbminservice_.html">"packages/core.gbapp/services/GBMin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbvmservice_.html">"packages/core.gbapp/services/GBVMService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_tscompiler_.html">"packages/core.gbapp/services/TSCompiler"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_strings_.html">"packages/core.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_index_.html">"packages/customer-<wbr>satisfaction.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_strings_.html">"packages/customer-<wbr>satisfaction.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_index_.html">"packages/kb.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_models_index_.html">"packages/kb.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_services_kbservice_.html">"packages/kb.gbapp/services/KBService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_strings_.html">"packages/kb.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_index_.html">"packages/security.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_models_index_.html">"packages/security.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_services_secservice_.html">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_index_.html">"packages/whatsapp.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View file

@ -1,559 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.js" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="globals.html">Globals</a>
</li>
</ul>
<h1> General Bots Open Core</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<div class="tsd-panel tsd-typography">
<table>
<thead>
<tr>
<th>Area</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>Community</td>
<td><a href="https://stackoverflow.com/questions/tagged/generalbots"><img src="https://img.shields.io/stackexchange/stackoverflow/t/generalbots.svg" alt="StackExchange"></a> <a href="https://gitter.im/GeneralBots"><img src="https://img.shields.io/gitter/room/pragmatismo-io/GeneralBots.svg" alt="Gitter"></a> <a href="https://badges.frapsoft.com"><img src="https://badges.frapsoft.com/os/v2/open-source.svg" alt="Open-source"></a> <a href="http://makeapullrequest.com"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome"></a> <a href="https://github.com/pragmatismo-io/BotServer/blob/master/LICENSE.txt"><img src="https://img.shields.io/badge/license-AGPL-blue.svg" alt="License"></a></td>
</tr>
<tr>
<td>Management</td>
<td><a href="https://gitHub.com/pragmatismo-io/BotServer/graphs/commit-activity"><img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" alt="Maintenance"></a> <a href="https://waffle.io/pragmatismo-io/BotServer"><img src="https://badge.waffle.io/pragmatismo-io/BotServer.svg?columns=all" alt="Waffle.io - Columns and their card count"></a></td>
</tr>
<tr>
<td>Security</td>
<td><a href="https://snyk.io/test/github/pragmatismo-io/BotServer"><img src="https://snyk.io/test/github/pragmatismo-io/BotServer/badge.svg" alt="Known Vulnerabilities"></a></td>
</tr>
<tr>
<td>Building &amp; Quality</td>
<td><a href="https://travis-ci.com/pragmatismo-io/BotServer"><img src="https://travis-ci.com/pragmatismo-io/BotServer.svg?branch=master" alt="Build Status"></a> <a href="https://coveralls.io/github/pragmatismo-io/BotServer"><img src="https://coveralls.io/repos/github/pragmatismo-io/BotServer/badge.svg" alt="Coverage Status"></a> <a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square" alt="code style: prettier"></a></td>
</tr>
<tr>
<td>Packaging</td>
<td><a href="https://badge.fury.io"><img src="https://badge.fury.io/js/botserver.svg" alt="forthebadge"></a> <a href="https://david-dm.org"><img src="https://david-dm.org/pragmatismo-io/botserver.svg" alt="Dependencies"></a> <a href="https://greenkeeper.io/"><img src="https://badges.greenkeeper.io/pragmatismo-io/BotServer.svg" alt="Greenkeeper badge"></a> <a href="http://commitizen.github.io/cz-cli/"><img src="https://img.shields.io/badge/commitizen-friendly-brightgreen.svg" alt="Commitizen friendly"></a></td>
</tr>
<tr>
<td>Releases</td>
<td><a href="https://www.npmjs.com/package/botserver/"><img src="https://img.shields.io/npm/dt/botserver.svg?logo=npm&label=botserver" alt="General Bots"></a> <a href="https://www.npmjs.com/package/botlib/"><img src="https://img.shields.io/npm/dt/botlib.svg?logo=npm&label=botlib" alt=".gbapp lib"></a> <a href="https://github.com/semantic-release/semantic-release"><img src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg" alt="semantic-release"></a></td>
</tr>
<tr>
<td><a href="https://github.com/lpicanco/docker-botserver">Docker Image</a></td>
<td><img src="https://img.shields.io/docker/automated/lpicanco/botserver.svg" alt="Docker Automated build"> <img src="https://img.shields.io/docker/build/lpicanco/botserver.svg" alt="Docker Build Status"> <img src="https://img.shields.io/microbadger/image-size/lpicanco/botserver.svg" alt="MicroBadger Size"> <img src="https://img.shields.io/microbadger/layers/lpicanco/botserver.svg" alt="MicroBadger Layers"> <img src="https://img.shields.io/docker/pulls/lpicanco/botserver.svg" alt="Docker Pulls"> <br/> <em>Provided by <a href="https://github.com/lpicanco/docker-botserver">@lpicanco</a></em></td>
</tr>
</tbody></table>
<h4 id="watch-a-video-about-easeness-authoring-of-bot-packages-development-environment-and-self-deployment">Watch a video about easeness authoring of bot packages, development environment and self-deployment</h4>
<ul>
<li>Now with General Bots you can press F5 on Visual Studio to get a bot factory on your environment* published on November 10th, 2018.</li>
</ul>
<p><a href="https://www.youtube.com/watch?v=AfKTwljoMOs"><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/video-01-thumb.jpg" alt="General Bot Video"></a></p>
<h2 id="welcome-to-general-bot-community-edition">Welcome to General Bot Community Edition</h2>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/logo.png" alt="General Bot Logo"></p>
<p>General Bot is a package based chat bot server focused in convention over configuration and code-less approaches, which brings software packages and application server concepts to help parallel bot development.</p>
<h2 id="sample-package-1-default-gbdialog-vba-">Sample Package #1: <a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/default.gbdialog">default.gbdialog (VBA)</a></h2>
<ul>
<li>See how easy is to use &#39;hear&#39; and &#39;talk&#39; to build Microsoft BOT Framework v4 logic with plain BASIC * published on December 3rd, 2018.</li>
</ul>
<p><a href="https://www.youtube.com/watch?v=yX1sF9n9628"><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/video-02-thumb.jpg" alt="See how easy is to use &#39;hear&#39; and &#39;talk&#39; to build Microsoft BOT Framework v4 logic with plain BASIC"></a></p>
<h2 id="sample-package-2-azureadpasswordreset-gbapp-typescript-">Sample Package #2: <a href="https://github.com/pragmatismo-io/AzureADPasswordReset.gbapp">AzureADPasswordReset.gbapp (TypeScript)</a></h2>
<p>Custom dialogs for reseting user password in Azure Active Directory, Office 365, Dynamics 365 or any app published through Azure AD. See also <a href="https://github.com/pragmatismo-io/IntranetBotQuickStart.gbai">IntranetBotQuickStart.gbai</a> and related MSDN article <strong><a href="https://blogs.msdn.microsoft.com/buckwoody/2018/09/25/applied-ai-using-a-bot-for-password-reset">Applied AI Using a Bot for Password Reset</a></strong> by <em>Rodrigo Souza</em>.</p>
<h3 id="bot-administrator-setup-security">Bot Administrator - Setup Security</h3>
<p>So the Bot provides an <strong>admin</strong> mode allowing the user having the Directory.AccessAsUser.All permission to be logged on Administrative interface to obtain and save its token into the database.</p>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/general-bots-reset-ad-password-admin.gif" alt="General Bot Logo"></p>
<h3 id="bot-user-reset-password">Bot User - Reset Password</h3>
<p>With the access token stored in the database, any user can access anonymously the
bot and through a combination of e-mail and mobile received code, the user will be able to reset her or his password.</p>
<h4 id="reset-password-via-web">Reset password via Web</h4>
<p>Any user can use a web address to talk to a reset password bot. Just provide credentials that are confronted with Microsoft Graph to ensure security.</p>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/password.gif" alt="General Bot Logo"></p>
<p>general-bots-reset-ad-password.gif </p>
<h4 id="reset-password-via-skype">Reset password via Skype</h4>
<p>This is the case when user does not have the password to login on Skype for Business or Teams, and they need to reset their password, so the right tool is Skype.</p>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/AzureADPasswordReset.gbapp/master/docs/general-bots-reset-ad-password.gif" alt="General Bot Logo"></p>
<h2 id="what-is-a-bot-server-">What is a Bot Server?</h2>
<p><img src="https://github.com/pragmatismo-io/BotServer/blob/master/docs/images/generalbots-open-core-starting-from-scratch.gif" alt="General Bots Starting From Scrach"></p>
<p>Bot Server accelerates the process of developing a bot. It provisions all code
base, resources and deployment to the cloud, and gives you templates you can
choose from whenever you need a new bot. The server has a database and service
backend allowing you to further modify your bot package directly by downloading
a zip file, editing and uploading it back to the server (deploying process) with
no code. The Bot Server also provides a framework to develop bot packages in a more
advanced fashion writing custom code in editors like Visual Studio Code, Atom or Brackets.</p>
<p>Everyone can create bots by just copying and pasting some files and using their
favorite tools like Excel (or any text editor) or Photoshop (or any image
editor).</p>
<h2 id="package-quick-reference">Package Quick Reference</h2>
<table>
<thead>
<tr>
<th>Whatsapp</th>
<th>Web</th>
<th>Core</th>
<th>KB</th>
</tr>
</thead>
<tbody><tr>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/whatsapp.gblib">whatsapp.gblib</a></td>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/default.gbui">default.gbui</a></td>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/core.gbapp">core.gbapp</a></td>
<td><a href="https://github.com/pragmatismo-io/BotServer/tree/master/packages/kb.gbapp">kb.gbapp</a></td>
</tr>
</tbody></table>
<h3 id="the-bot-development-stack">The bot development stack</h3>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-stack.png" alt="General Bot Logo"></p>
<h3 id="the-bot-factory">The Bot Factory</h3>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-block-architecture.png" alt="General Bots Block Architecture"></p>
<p>GeneralBots aims to delivery bots in azure in a very easy and fast fashion. Use Office tools like Word or Excel to edit your Bot - using code (JavaScript or TypeScript) just to empower custom requirements.</p>
<h4 id="use-excel-for-hierarchical-knowledge-base-editing">Use Excel for (Hierarchical) Knowledge Base Editing</h4>
<p><img src="https://github.com/pragmatismo-io/BotServer/blob/master/docs/images/general-bots-composing-subjects-json-and-excel.gif" alt="General Bots Inside Excel can enable bot production the masses"></p>
<h4 id="use-visual-studio-for-a-complete-gbai-package-building-system">Use Visual Studio for a complete .gbai package building system</h4>
<p><img src="https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-inside-visual-studio-code-provides-a-complete-artificial-intelligence-based-conversational-platform.png" alt="General Bots Inside Visual Studio Code provides a complete artificial intelligence based conversational platform"></p>
<h2 id="how-to">How To</h2>
<h3 id="run-the-server-locally">Run the server locally</h3>
<ol>
<li>Install <a href="https://www.npmjs.com/get-npm">Node.js</a> the current generation General Bot code execution platform;</li>
<li>Open a <strong>Terminal</strong> on Linux and Mac or a <strong>Command Prompt</strong> window on Windows;</li>
<li>Type <code>npm install -g botserver</code> and press <em>ENTER</em>;</li>
<li>Type <code>gbot</code> to run the server core.</li>
</ol>
<p>Notes:</p>
<ul>
<li><a href="https://chocolatey.org/packages/nodejs.install"><em>nodejs.install</em> Chocolatey Package</a> is also available.</li>
<li>The zip source code of General Bot is also available for <a href="https://codeload.github.com/pragmatismo-io/BotServer/zip/master">Download</a>;</li>
</ul>
<h3 id="configure-the-server-to-deploy-specific-directory">Configure the server to deploy specific directory</h3>
<ol>
<li>Create/Edit the .env file and add the ADDITIONAL_DEPLOY_PATH key pointing to the .gbai local parent folder of .gbapp, .gbot, .gbtheme, .gbkb package directories.</li>
<li>Specify STORAGE_SYNC to TRUE so database sync is run when the server is run.</li>
<li>In case of Microsoft SQL Server add the following keys: STORAGE_SERVER, STORAGE_NAME, STORAGE_USERNAME, STORAGE_PASSWORD, STORAGE_DIALECT to <code>mssql</code>.</li>
</ol>
<p>Note:</p>
<ul>
<li>You can specify several bots separated by semicolon, the BotServer will serve all of them at once.</li>
</ul>
<h2 id="setup-development-environment-windows-">Setup development environment (Windows)</h2>
<ol>
<li>[Optional] Install <a href="https://chocolatey.org/install">Chocolatey</a>, a Windows Package Manager;</li>
<li>Install <a href="%60https://git-scm.com/%60">git</a>, a Software Configuration Management (SCM).;</li>
<li>Install <a href="npmjs.com/get-npm">Node.js</a>, a <a href="https://en.wikipedia.org/wiki/Runtime_system">Runtime system</a>.
(<a href="https://www.npmjs.com/get-npm">https://www.npmjs.com/get-npm</a>) (suggested: LTS 8.x.x);</li>
<li>Install <a href="https://chocolatey.org/packages/nodejs.install">Visual Studio Code</a>, Brackets or Atom as an editor of your choice;</li>
<li><a href="https://en.wikipedia.org/wiki/Fork_(software_development)">Fork</a> by visiting <a href="https://github.com/pragmatismo-io/BotServer/fork">https://github.com/pragmatismo-io/BotServer/fork</a></li>
<li>Clone the just forked repository by running <code>git clone &lt;your-forked-repository-url&gt;/BotServer.git</code> ;</li>
<li>Run <code>npm install -g typescript</code>;</li>
<li>Run <code>npm install</code> on Command Prompt or PowerShell on the General Bot source-code folder;</li>
<li>Enter &#39;./packages/default.gbui&#39; folder;</li>
<li>Run <code>npm install</code> folled by <code>npm run build</code> (To build default Bot UI);</li>
<li>Enter the On the downloaded folder (../..);</li>
<li>Compile the bot server by <code>tsc</code>.</li>
<li>Run the bot server by <code>npm start</code>.</li>
</ol>
<p>Note:</p>
<ul>
<li>Whenever you are ready to turn your open-source bot ideas in form of .gbapp (source-code) and artifacts like .gbkb, .gbtheme, .gbot or the .gbai full package read <a href="https://github.com/pragmatismo-io/BotServer/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a> about performing Pull Requests (PR) and creating other public custom packages repositories of your own personal or organization General Bot Community Edition powered packages.</li>
</ul>
<h3 id="running-unit-tests">Running unit tests</h3>
<ol>
<li>Enter the BotServer root folder.</li>
<li>Run tests by <code>npm test</code>.</li>
</ol>
<h3 id="just-copy-the-source-code-to-your-machine">Just copy the source code to your machine</h3>
<ol>
<li>[Download] the Zip file of (<a href="https://codeload.github.com/pragmatismo-io/BotServer/zip/master">https://codeload.github.com/pragmatismo-io/BotServer/zip/master</a>)</li>
</ol>
<h3 id="updating-the-bot-knoledge-base-gbkb-folder-">Updating the Bot Knoledge Base (.gbkb folder)</h3>
<p>The subjects.json file contains all information related to the subject tree and can be used to build the menu carrousel as well give a set of words to be used as subject catcher in the conversation. A hierarchy can be specified.</p>
<h3 id="creating-a-new-theme-folder-gbtheme-folder-">Creating a new Theme folder (.gbtheme folder)</h3>
<p>A theme is composed of some CSS files and images. That set of files can change
everything in the General Bot UI. Use them extensively before going to change
the UI application itself (HTML &amp; JS).</p>
<h2 id="package-types">Package Types</h2>
<h3 id="-gbai">.gbai</h3>
<p>Embraces all packages types (content, logic &amp; conversation) into a pluggable bot
directory. <a href="https://github.com/pragmatismo-io/IntranetBotQuickStart.gbai">A sample .gbai is available</a>.</p>
<h3 id="-gbapp">.gbapp</h3>
<p>The artificial intelligence extensions in form of pluggable apps. Dialogs,
Services and all model related to data. A set of interactions, use cases,
integrations in form of conversationals dialogs.
The .gbapp adds the General Bot base library (botlib) for building Node.js TypeScript Apps packages.</p>
<p>Four components builds up a General Bot App:</p>
<ul>
<li>dialogs</li>
<li>models</li>
<li>services</li>
<li>tests</li>
</ul>
<h4 id="dialogs">Dialogs</h4>
<p>All code contained in a dialog builds the flow to custom conversations in
built-in and additional packages .</p>
<h4 id="models">Models</h4>
<p>Models builds the foundation of data relationships in form of entities.</p>
<h4 id="services">Services</h4>
<p>Services are a façade for bot back-end logic and other custom processing.</p>
<h4 id="tests">Tests</h4>
<p>Tests try to automate code execution validation before crashing in production.</p>
<h3 id="-gbot">.gbot</h3>
<p>An expression of an artificial inteligence entity. A .gbot file defines
all bots dependencies related to services and other resources.</p>
<h3 id="-gbtheme">.gbtheme</h3>
<p>A theme of a bot at a given time. CSS files &amp; images that can compose all UI
presentation and using it a branding can be done. <a href="https://github.com/pragmatismo-io/Office365.gbtheme">A sample .gbtheme is available</a></p>
<h3 id="-gbkb">.gbkb</h3>
<p>A set of subjects that bot knows in a form of hierarchical menu-based QnA. <a href="https://github.com/pragmatismo-io/ProjectOnline.gbkb">A sample .gbkb is available</a>.</p>
<h3 id="-gblib">.gblib</h3>
<p>Shared code that can be used across bot apps.</p>
<h2 id="reference">Reference</h2>
<h3 id="generalbots-admin-commands">GeneralBots admin commands</h3>
<p>General Bot can be controlled by the same chat window people talk to, so
here is a list of admin commands related to deploying .gb* files.</p>
<table>
<thead>
<tr>
<th>Command</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td>deployPackage</td>
<td>Deploy a KB package. Usage <strong>deployPackage</strong> [package-name]. Then, you need to run rebuildIndex.</td>
</tr>
<tr>
<td>undeployPackage</td>
<td>Undeploy a KB. Usage <strong>undeployPackage</strong> [package-name].</td>
</tr>
<tr>
<td>redeployPackage</td>
<td>Undeploy and then deploys the KB. Usage <strong>redeployPackage</strong> [package-name]. Then, you need to run rebuildIndex.</td>
</tr>
<tr>
<td>setupSecurity</td>
<td>Setup connection to user directories.</td>
</tr>
</tbody></table>
<p>Discontinued commands:</p>
<table>
<thead>
<tr>
<th>Command</th>
<th>Description</th>
<th>Reason</th>
</tr>
</thead>
<tbody><tr>
<td>rebuildIndex</td>
<td>Rebuild Azure Search indexes, must be run after <strong>deployPackage</strong> or <strong>redeployPackage</strong>.</td>
<td>Now it is called automatically</td>
</tr>
</tbody></table>
<h3 id="credits-inspiration">Credits &amp; Inspiration</h3>
<ul>
<li>Rodrigo Rodriguez (<a href="mailto:me@rodrigorodriguez.com">me@rodrigorodriguez.com</a>) - Coding, Docs &amp; Architecture.</li>
<li>David Lerner (<a href="mailto:david.lerner@hotmail.com">david.lerner@hotmail.com</a>) - UI, UX &amp; Theming.</li>
<li>Eduardo Romeiro (<a href="mailto:eromeirosp@outlook.com">eromeirosp@outlook.com</a>) - Content &amp; UX.</li>
<li>Jorge Ramos (<a href="mailto:jramos@pobox.com">jramos@pobox.com</a>) - Coding, Docs &amp; Architecture.</li>
<li>PH Nascimento (<a href="mailto:ph.an@outlook.com">ph.an@outlook.com</a>) - Product Manager</li>
</ul>
<p>Powered by Microsoft <a href="https://dev.botframework.com/">BOT Framework</a> and <a href="http://www.azure.com">Azure</a>.</p>
<p>General Bot Code Name is <a href="https://en.wikipedia.org/wiki/Guaribas">Guaribas</a>, the name of a city in Brasil, state of Piaui.
<a href="http://www.robertounger.com/en/">Roberto Mangabeira Unger</a>: &quot;No one should have to do work that can be done by a machine&quot;.</p>
<h2 id="contributing">Contributing</h2>
<p>This project welcomes contributions and suggestions.
See our <a href="https://github.com/pragmatismo-io/BotServer/blob/master/CONTRIBUTING.md">Contribution Guidelines</a> for more details.</p>
<h2 id="reporting-security-issues">Reporting Security Issues</h2>
<p>Security issues and bugs should be reported privately, via email, to the Pragmatismo.io Security
team at <a href="mailto:security@pragmatismo.io">security@pragmatismo.io</a>. You should
receive a response within 24 hours. If for some reason you do not, please follow up via
email to ensure we received your original message. </p>
<h2 id="license-warranty">License &amp; Warranty</h2>
<p>General Bot Copyright (c) Pragmatismo.io. All rights reserved.
Licensed under the AGPL-3.0. </p>
<p>According to our dual licensing model, this program can be used either
under the terms of the GNU Affero General Public License, version 3,
or under a proprietary license. </p>
<p>The texts of the GNU Affero General Public License with an additional
permission and of our proprietary license can be found at and
in the LICENSE file you have received along with this program.</p>
<p>This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.</p>
<p>&quot;General Bot&quot; is a registered trademark of Pragmatismo.io.
The licensing of the program under the AGPLv3 does not imply a
trademark license. Therefore any rights, title and interest in
our trademarks remain entirely with us.</p>
<p><a href="https://stackoverflow.com/questions/ask?tags=generalbots">:speech_balloon: Ask a question</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/docs">:book: Read the Docs</a></p>
</h2>
</div>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="globals.html"><em>Globals</em></a>
</li>
<li class="label tsd-is-external">
<span>Internals</span>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_src_app_.html">"src/app"</a>
</li>
<li class=" tsd-kind-external-module">
<a href="modules/_src_logger_.html">"src/logger"</a>
</li>
<li class="label tsd-is-external">
<span>Externals</span>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_dialogs_admindialog_.html">"packages/admin.gbapp/dialogs/<wbr>Admin<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_index_.html">"packages/admin.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_models_adminmodel_.html">"packages/admin.gbapp/models/<wbr>Admin<wbr>Model"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_services_gbadminservice_.html">"packages/admin.gbapp/services/GBAdmin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_admin_gbapp_strings_.html">"packages/admin.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_index_.html">"packages/analytics.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_analytics_gblib_models_index_.html">"packages/analytics.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_azuredeployer_gbapp_services_azuredeployerservice_.html">"packages/azuredeployer.gbapp/services/<wbr>Azure<wbr>Deployer<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_welcomedialog_.html">"packages/core.gbapp/dialogs/<wbr>Welcome<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_dialogs_whoamidialog_.html">"packages/core.gbapp/dialogs/<wbr>Who<wbr>AmIDialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_index_.html">"packages/core.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_models_gbmodel_.html">"packages/core.gbapp/models/GBModel"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbapiservice_.html">"packages/core.gbapp/services/GBAPIService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconfigservice_.html">"packages/core.gbapp/services/GBConfig<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbconversationalservice_.html">"packages/core.gbapp/services/GBConversational<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbcoreservice_.html">"packages/core.gbapp/services/GBCore<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbdeployer_.html">"packages/core.gbapp/services/GBDeployer"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbimporterservice_.html">"packages/core.gbapp/services/GBImporter<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbminservice_.html">"packages/core.gbapp/services/GBMin<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_gbvmservice_.html">"packages/core.gbapp/services/GBVMService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_services_tscompiler_.html">"packages/core.gbapp/services/TSCompiler"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_core_gbapp_strings_.html">"packages/core.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_feedbackdialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Feedback<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_dialogs_qualitydialog_.html">"packages/customer-<wbr>satisfaction.gbapp/dialogs/<wbr>Quality<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_index_.html">"packages/customer-<wbr>satisfaction.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_models_index_.html">"packages/customer-<wbr>satisfaction.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_services_csservice_.html">"packages/customer-<wbr>satisfaction.gbapp/services/CSService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_customer_satisfaction_gbapp_strings_.html">"packages/customer-<wbr>satisfaction.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_askdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Ask<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_faqdialog_.html">"packages/kb.gbapp/dialogs/<wbr>Faq<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_dialogs_menudialog_.html">"packages/kb.gbapp/dialogs/<wbr>Menu<wbr>Dialog"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_index_.html">"packages/kb.gbapp/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_models_index_.html">"packages/kb.gbapp/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_services_kbservice_.html">"packages/kb.gbapp/services/KBService"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_kb_gbapp_strings_.html">"packages/kb.gbapp/strings"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_index_.html">"packages/security.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_models_index_.html">"packages/security.gblib/models/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_security_gblib_services_secservice_.html">"packages/security.gblib/services/<wbr>Sec<wbr>Service"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_index_.html">"packages/whatsapp.gblib/index"</a>
</li>
<li class=" tsd-kind-external-module tsd-is-external">
<a href="modules/_packages_whatsapp_gblib_services_whatsappdirectline_.html">"packages/whatsapp.gblib/services/<wbr>Whatsapp<wbr>Direct<wbr>Line"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View file

@ -1,234 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>&quot;src/app&quot; | General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="_src_app_.html">&quot;src/app&quot;</a>
</li>
</ul>
<h1>External module &quot;src/app&quot;</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Classes</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-class tsd-parent-kind-external-module"><a href="../classes/_src_app_.gbserver.html" class="tsd-kind-icon">GBServer</a></li>
</ul>
</section>
<section class="tsd-index-section tsd-is-not-exported">
<h3>Variables</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#apppackages" class="tsd-kind-icon">app<wbr>Packages</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#bodyparser" class="tsd-kind-icon">body<wbr>Parser</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#express" class="tsd-kind-icon">express</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_app_.html#logger" class="tsd-kind-icon">logger</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
<h2>Variables</h2>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="apppackages" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> app<wbr>Packages</h3>
<div class="tsd-signature tsd-kind-icon">app<wbr>Packages<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> =&nbsp;new Array&lt;IGBPackage&gt;()</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L55">src/app.ts:55</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="bodyparser" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> body<wbr>Parser</h3>
<div class="tsd-signature tsd-kind-icon">body<wbr>Parser<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&#x27;body-parser&#x27;)</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L42">src/app.ts:42</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="express" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> express</h3>
<div class="tsd-signature tsd-kind-icon">express<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&#x27;express&#x27;)</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L41">src/app.ts:41</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="logger" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> logger</h3>
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;require(&#x27;./logger&#x27;)</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/app.ts#L40">src/app.ts:40</a></li>
</ul>
</aside>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
<li class="current tsd-kind-external-module">
<a href="_src_app_.html">"src/app"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-class tsd-parent-kind-external-module">
<a href="../classes/_src_app_.gbserver.html" class="tsd-kind-icon">GBServer</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_app_.html#apppackages" class="tsd-kind-icon">app<wbr>Packages</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_app_.html#bodyparser" class="tsd-kind-icon">body<wbr>Parser</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_app_.html#express" class="tsd-kind-icon">express</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_app_.html#logger" class="tsd-kind-icon">logger</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

View file

@ -1,464 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>&quot;src/logger&quot; | General Bots Open Core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">General Bots Open Core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="_src_logger_.html">&quot;src/logger&quot;</a>
</li>
</ul>
<h1>External module &quot;src/logger&quot;</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>\
| ( )_ _ |
| _ _ _ <em>_ _ _ __ <strong>_ _</strong> _ _ | ,</em>)(<em>) <strong>_ _</strong> _ |
| ( &#39;</em><code>\ ( &#39;__)/&#39;_</code> ) /&#39;_ <code>\/&#39; _</code> _ <code>\ /&#39;_</code> )| | | |/&#39;,<strong>)/&#39; _ <code>\ /&#39;_</code>\ |
| | (<em>) )| | ( (</em>| |( (<em>) || ( ) ( ) |( (</em>| || |_ | |\</strong>, | ( ) |( (<em>) ) |
| | ,__/&#39;(</em>) <code>\__,_)</code>__ |(<em>) (</em>) (<em>)`__,</em>)<code>\__)(_)(____/(_) (_)</code>_<strong>/&#39; |
| | | ( )<em>) | |
| (</em>) _</strong>/&#39; |
| |
| General Bots Copyright (c) Pragmatismo.io. All rights reserved. |
| Licensed under the AGPL-3.0. |
| |
| According to our dual licensing model, this program can be used either |
| under the terms of the GNU Affero General Public License, version 3, |
| or under a proprietary license. |
| |
| The texts of the GNU Affero General Public License with an additional |
| permission and of our proprietary license can be found at and |
| in the LICENSE file you have received along with this program. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY, without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU Affero General Public License for more details. |
| |
| &quot;General Bots&quot; is a registered trademark of Pragmatismo.io. |
| The licensing of the program under the AGPLv3 does not imply a |
| trademark license. Therefore any rights, title and interest in |
| our trademarks remain entirely with us. |
| |
\</p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section tsd-is-not-exported">
<h3>Variables</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_logger_.html#createlogger" class="tsd-kind-icon">create<wbr>Logger</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_logger_.html#format" class="tsd-kind-icon">format</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_logger_.html#logger" class="tsd-kind-icon">logger</a></li>
<li class="tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_logger_.html#transports" class="tsd-kind-icon">transports</a></li>
</ul>
</section>
<section class="tsd-index-section tsd-is-not-exported">
<h3>Object literals</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-object-literal tsd-parent-kind-external-module tsd-is-not-exported"><a href="_src_logger_.html#config" class="tsd-kind-icon">config</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
<h2>Variables</h2>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="createlogger" class="tsd-anchor"></a>
<h3>create<wbr>Logger</h3>
<div class="tsd-signature tsd-kind-icon">create<wbr>Logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L37">src/logger.ts:37</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="format" class="tsd-anchor"></a>
<h3>format</h3>
<div class="tsd-signature tsd-kind-icon">format<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L37">src/logger.ts:37</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="logger" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> logger</h3>
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;createLogger({format: format.combine(format.colorize(),format.simple(),format.label({ label: &#x27;GeneralBots&#x27; }),format.timestamp(),format.printf(nfo &#x3D;&gt; {return &#x60;${nfo.timestamp} [${nfo.label}] ${nfo.level}: ${nfo.message}&#x60;;})),levels: config.levels,transports: [new transports.Console()]})</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L62">src/logger.ts:62</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a name="transports" class="tsd-anchor"></a>
<h3>transports</h3>
<div class="tsd-signature tsd-kind-icon">transports<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L37">src/logger.ts:37</a></li>
</ul>
</aside>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
<h2>Object literals</h2>
<section class="tsd-panel tsd-member tsd-kind-object-literal tsd-parent-kind-external-module tsd-is-not-exported">
<a name="config" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> config</h3>
<div class="tsd-signature tsd-kind-icon">config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L39">src/logger.ts:39</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-object-literal tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors" class="tsd-anchor"></a>
<h3>colors</h3>
<div class="tsd-signature tsd-kind-icon">colors<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L50">src/logger.ts:50</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.custom" class="tsd-anchor"></a>
<h3>custom</h3>
<div class="tsd-signature tsd-kind-icon">custom<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;yellow&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L58">src/logger.ts:58</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.data" class="tsd-anchor"></a>
<h3>data</h3>
<div class="tsd-signature tsd-kind-icon">data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;grey&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L54">src/logger.ts:54</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.debug" class="tsd-anchor"></a>
<h3>debug</h3>
<div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;blue&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L52">src/logger.ts:52</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.error" class="tsd-anchor"></a>
<h3>error</h3>
<div class="tsd-signature tsd-kind-icon">error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;red&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L51">src/logger.ts:51</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.info" class="tsd-anchor"></a>
<h3>info</h3>
<div class="tsd-signature tsd-kind-icon">info<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;green&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L55">src/logger.ts:55</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.silly" class="tsd-anchor"></a>
<h3>silly</h3>
<div class="tsd-signature tsd-kind-icon">silly<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;magenta&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L57">src/logger.ts:57</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.verbose" class="tsd-anchor"></a>
<h3>verbose</h3>
<div class="tsd-signature tsd-kind-icon">verbose<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;cyan&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L56">src/logger.ts:56</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.colors.warn" class="tsd-anchor"></a>
<h3>warn</h3>
<div class="tsd-signature tsd-kind-icon">warn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> =&nbsp;&quot;yellow&quot;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L53">src/logger.ts:53</a></li>
</ul>
</aside>
</section>
</section>
<section class="tsd-panel tsd-member tsd-kind-object-literal tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels" class="tsd-anchor"></a>
<h3>levels</h3>
<div class="tsd-signature tsd-kind-icon">levels<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L40">src/logger.ts:40</a></li>
</ul>
</aside>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.custom-1" class="tsd-anchor"></a>
<h3>custom</h3>
<div class="tsd-signature tsd-kind-icon">custom<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;7</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L48">src/logger.ts:48</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.data-1" class="tsd-anchor"></a>
<h3>data</h3>
<div class="tsd-signature tsd-kind-icon">data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;3</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L44">src/logger.ts:44</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.debug-1" class="tsd-anchor"></a>
<h3>debug</h3>
<div class="tsd-signature tsd-kind-icon">debug<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;1</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L42">src/logger.ts:42</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.error-1" class="tsd-anchor"></a>
<h3>error</h3>
<div class="tsd-signature tsd-kind-icon">error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;0</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L41">src/logger.ts:41</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.info-1" class="tsd-anchor"></a>
<h3>info</h3>
<div class="tsd-signature tsd-kind-icon">info<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;4</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L45">src/logger.ts:45</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.silly-1" class="tsd-anchor"></a>
<h3>silly</h3>
<div class="tsd-signature tsd-kind-icon">silly<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;6</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L47">src/logger.ts:47</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.verbose-1" class="tsd-anchor"></a>
<h3>verbose</h3>
<div class="tsd-signature tsd-kind-icon">verbose<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;5</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L46">src/logger.ts:46</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
<a name="config.levels.warn-1" class="tsd-anchor"></a>
<h3>warn</h3>
<div class="tsd-signature tsd-kind-icon">warn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> =&nbsp;2</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/rodrigorodriguez/BotServer/blob/8490f5e/src/logger.ts#L43">src/logger.ts:43</a></li>
</ul>
</aside>
</section>
</section>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
<li class="current tsd-kind-external-module">
<a href="_src_logger_.html">"src/logger"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_logger_.html#createlogger" class="tsd-kind-icon">create<wbr>Logger</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_logger_.html#format" class="tsd-kind-icon">format</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_logger_.html#logger" class="tsd-kind-icon">logger</a>
</li>
<li class=" tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_logger_.html#transports" class="tsd-kind-icon">transports</a>
</li>
<li class=" tsd-kind-object-literal tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_src_logger_.html#config" class="tsd-kind-icon">config</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>

99
fix-errors.sh Executable file
View file

@ -0,0 +1,99 @@
#!/bin/bash
set -e # Exit on error
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$SCRIPT_DIR"
OUTPUT_FILE="/tmp/prompt.out"
# Check required commands
command -v cargo >/dev/null 2>&1 || { echo "cargo is required but not installed" >&2; exit 1; }
command -v xclip >/dev/null 2>&1 || { echo "xclip is required but not installed" >&2; exit 1; }
echo "Please, fix this consolidated LLM Context" > "$OUTPUT_FILE"
prompts=(
"./PROMPT.md"
"./Cargo.toml"
)
# Validate files exist
for file in "${prompts[@]}"; do
if [ ! -f "$file" ]; then
echo "Required file not found: $file" >&2
exit 1
fi
done
for file in "${prompts[@]}"; do
cat "$file" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
done
dirs=(
)
for dir in "${dirs[@]}"; do
if [ -d "$PROJECT_ROOT/src/$dir" ]; then
find "$PROJECT_ROOT/src/$dir" -name "*.rs" | while read -r file; do
if [ -f "$file" ]; then
echo "$file" >> "$OUTPUT_FILE"
cat "$file" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
fi
done
fi
done
# Also append the specific files you mentioned
echo "$PROJECT_ROOT/src/main.rs" >> "$OUTPUT_FILE"
cat "$PROJECT_ROOT/src/main.rs" >> "$OUTPUT_FILE"
# Files with config import errors
error_files=(
"src/main.rs"
"src/basic/keywords/kb_statistics.rs"
"src/core/bootstrap/mod.rs"
"src/core/kb/kb_indexer.rs"
"src/core/kb/website_crawler_service.rs"
"src/core/shared/utils.rs"
"src/multimodal/mod.rs"
"src/console/status_panel.rs"
"src/drive/drive_monitor/mod.rs"
"src/email/mod.rs"
"src/llm/cache.rs"
"src/llm/local.rs"
"src/llm/episodic_memory.rs"
"src/basic/keywords/create_site.rs"
"src/basic/keywords/save_from_unstructured.rs"
)
for file in "${error_files[@]}"; do
echo "$PROJECT_ROOT/$file" >> "$OUTPUT_FILE"
cat "$PROJECT_ROOT/$file" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "---" >> "$OUTPUT_FILE"
done
echo "" >> "$OUTPUT_FILE"
echo "Compiling..."
cargo build --message-format=short 2>&1 | grep -E 'error' >> "$OUTPUT_FILE"
# Calculate and display token count (approximation: words * 1.3)
WORD_COUNT=$(wc -w < "$OUTPUT_FILE") || { echo "Error counting words" >&2; exit 1; }
TOKEN_COUNT=$(echo "$WORD_COUNT * 1.3 / 1" | bc) || { echo "Error calculating tokens" >&2; exit 1; }
FILE_SIZE=$(wc -c < "$OUTPUT_FILE") || { echo "Error getting file size" >&2; exit 1; }
echo "" >> "$OUTPUT_FILE"
echo "Approximate token count: $TOKEN_COUNT"
echo "Context size: $FILE_SIZE bytes"
if ! cat "$OUTPUT_FILE" | xclip -selection clipboard; then
echo "Error copying to clipboard" >&2
exit 1
fi
echo "Content copied to clipboard (xclip)"
rm -f "$OUTPUT_FILE"

View file

@ -1,2 +0,0 @@
@echo off
node dist/src/app.js

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
{}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,11 +0,0 @@
{
"groups": {
"default": {
"packages": [
"package.json",
"packages/default.gbtheme/package.json",
"packages/default.gbui/package.json"
]
}
}
}

BIN
logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,9 @@
DROP TABLE IF EXISTS email_offline_queue CASCADE;
DROP TABLE IF EXISTS email_campaign_links CASCADE;
DROP TABLE IF EXISTS email_crm_links CASCADE;
DROP TABLE IF EXISTS feature_flags CASCADE;
DROP TABLE IF EXISTS email_nudges CASCADE;
DROP TABLE IF EXISTS email_flags CASCADE;
DROP TABLE IF EXISTS email_snooze CASCADE;
DROP TABLE IF EXISTS email_accounts CASCADE;
DROP TABLE IF EXISTS emails CASCADE;

View file

@ -0,0 +1,114 @@
-- Email tables
CREATE TABLE IF NOT EXISTS emails (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID NOT NULL,
account_id UUID,
folder VARCHAR(50) NOT NULL DEFAULT 'inbox',
from_address VARCHAR(255) NOT NULL,
to_address TEXT NOT NULL,
cc_address TEXT,
bcc_address TEXT,
subject TEXT,
body TEXT,
html_body TEXT,
is_read BOOLEAN DEFAULT FALSE,
is_starred BOOLEAN DEFAULT FALSE,
is_flagged BOOLEAN DEFAULT FALSE,
thread_id UUID,
in_reply_to UUID,
message_id VARCHAR(255),
ai_category VARCHAR(50),
ai_confidence FLOAT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX idx_emails_user_folder ON emails(user_id, folder);
CREATE INDEX idx_emails_thread ON emails(thread_id);
CREATE INDEX idx_emails_from ON emails(from_address);
-- Email accounts
CREATE TABLE IF NOT EXISTS email_accounts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
imap_server VARCHAR(255),
imap_port INTEGER DEFAULT 993,
smtp_server VARCHAR(255),
smtp_port INTEGER DEFAULT 587,
username VARCHAR(255),
password_encrypted TEXT,
use_ssl BOOLEAN DEFAULT TRUE,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW()
);
-- Email snooze
CREATE TABLE IF NOT EXISTS email_snooze (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email_id UUID NOT NULL REFERENCES emails(id) ON DELETE CASCADE,
snooze_until TIMESTAMP NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX idx_email_snooze_until ON email_snooze(snooze_until);
-- Email flags (follow-up)
CREATE TABLE IF NOT EXISTS email_flags (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email_id UUID NOT NULL REFERENCES emails(id) ON DELETE CASCADE,
follow_up_date DATE,
flag_type VARCHAR(50),
completed BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT NOW()
);
-- Email nudges
CREATE TABLE IF NOT EXISTS email_nudges (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email_id UUID NOT NULL REFERENCES emails(id) ON DELETE CASCADE,
last_sent TIMESTAMP,
dismissed BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT NOW()
);
-- Feature flags
CREATE TABLE IF NOT EXISTS feature_flags (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
feature VARCHAR(50) NOT NULL,
enabled BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT NOW(),
UNIQUE(org_id, feature)
);
-- Email-CRM links
CREATE TABLE IF NOT EXISTS email_crm_links (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email_id UUID NOT NULL REFERENCES emails(id) ON DELETE CASCADE,
contact_id UUID,
opportunity_id UUID,
logged_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX idx_email_crm_contact ON email_crm_links(contact_id);
CREATE INDEX idx_email_crm_opportunity ON email_crm_links(opportunity_id);
-- Email-Campaign links
CREATE TABLE IF NOT EXISTS email_campaign_links (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email_id UUID NOT NULL REFERENCES emails(id) ON DELETE CASCADE,
campaign_id UUID,
list_id UUID,
sent_at TIMESTAMP DEFAULT NOW()
);
-- Offline queue
CREATE TABLE IF NOT EXISTS email_offline_queue (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID NOT NULL,
action VARCHAR(50) NOT NULL,
data JSONB NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);

View file

@ -0,0 +1,483 @@
DROP TABLE public.usage_analytics;
DROP TABLE public.message_history;
DROP TABLE public.context_injections;
DROP TABLE public.whatsapp_numbers;
DROP TABLE public.user_sessions;
DROP TABLE public.bot_channels;
DROP TABLE public.users;
DROP TABLE public.tools;
DROP TABLE public.system_automations;
DROP TABLE public.organizations;
DROP TABLE public.clicks;
DROP TABLE public.bots;
DROP INDEX idx_bot_memories_key;
DROP INDEX idx_bot_memories_bot_id;
DROP TABLE bot_memories;
-- Drop triggers
DROP TRIGGER IF EXISTS update_basic_tools_updated_at ON basic_tools;
DROP TRIGGER IF EXISTS update_kb_collections_updated_at ON kb_collections;
DROP TRIGGER IF EXISTS update_kb_documents_updated_at ON kb_documents;
-- Drop function
DROP FUNCTION IF EXISTS update_updated_at_column;
-- Drop indexes
DROP INDEX IF EXISTS idx_basic_tools_active;
DROP INDEX IF EXISTS idx_basic_tools_name;
DROP INDEX IF EXISTS idx_basic_tools_bot_id;
DROP INDEX IF EXISTS idx_kb_collections_name;
DROP INDEX IF EXISTS idx_kb_collections_bot_id;
DROP INDEX IF EXISTS idx_kb_documents_indexed_at;
DROP INDEX IF EXISTS idx_kb_documents_hash;
DROP INDEX IF EXISTS idx_kb_documents_collection;
DROP INDEX IF EXISTS idx_kb_documents_bot_id;
-- Drop tables
DROP TABLE IF EXISTS basic_tools;
DROP TABLE IF EXISTS kb_collections;
DROP TABLE IF EXISTS kb_documents;
-- Drop indexes
DROP INDEX IF EXISTS idx_session_tool_name;
DROP INDEX IF EXISTS idx_session_tool_session;
DROP INDEX IF EXISTS idx_user_kb_website;
DROP INDEX IF EXISTS idx_user_kb_name;
DROP INDEX IF EXISTS idx_user_kb_bot_id;
DROP INDEX IF EXISTS idx_user_kb_user_id;
-- Drop tables
DROP TABLE IF EXISTS session_tool_associations;
DROP TABLE IF EXISTS user_kb_associations;
-- Drop indexes first
DROP INDEX IF EXISTS idx_gbot_sync_bot;
DROP INDEX IF EXISTS idx_component_logs_created;
DROP INDEX IF EXISTS idx_component_logs_level;
DROP INDEX IF EXISTS idx_component_logs_component;
DROP INDEX IF EXISTS idx_component_status;
DROP INDEX IF EXISTS idx_component_name;
DROP INDEX IF EXISTS idx_connection_config_active;
DROP INDEX IF EXISTS idx_connection_config_name;
DROP INDEX IF EXISTS idx_connection_config_bot;
DROP INDEX IF EXISTS idx_model_config_default;
DROP INDEX IF EXISTS idx_model_config_active;
DROP INDEX IF EXISTS idx_model_config_type;
DROP INDEX IF EXISTS idx_bot_config_key;
DROP INDEX IF EXISTS idx_bot_config_bot;
DROP INDEX IF EXISTS idx_tenant_config_key;
DROP INDEX IF EXISTS idx_tenant_config_tenant;
DROP INDEX IF EXISTS idx_server_config_type;
DROP INDEX IF EXISTS idx_server_config_key;
-- Drop tables
DROP TABLE IF EXISTS gbot_config_sync;
DROP TABLE IF EXISTS component_logs;
DROP TABLE IF EXISTS component_installations;
DROP TABLE IF EXISTS connection_configurations;
DROP TABLE IF EXISTS model_configurations;
DROP TABLE IF EXISTS bot_configuration;
DROP TABLE IF EXISTS tenant_configuration;
DROP TABLE IF EXISTS server_configuration;
-- Remove added columns if they exist
DO $$
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'user_sessions' AND column_name = 'tenant_id'
) THEN
ALTER TABLE user_sessions DROP COLUMN tenant_id;
END IF;
IF EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'bots' AND column_name = 'tenant_id'
) THEN
ALTER TABLE bots DROP COLUMN tenant_id;
END IF;
END $$;
-- Drop tenant indexes if they exist
DROP INDEX IF EXISTS idx_user_sessions_tenant;
DROP INDEX IF EXISTS idx_bots_tenant;
-- Remove default tenant
DELETE FROM tenants WHERE slug = 'default';
-- Revert clicks table changes
CREATE TABLE IF NOT EXISTS public.old_clicks (
campaign_id text NOT NULL,
email text NOT NULL,
updated_at timestamptz DEFAULT now() NULL,
CONSTRAINT clicks_campaign_id_email_key UNIQUE (campaign_id, email)
);
INSERT INTO public.old_clicks (campaign_id, email, updated_at)
SELECT campaign_id, email, updated_at FROM public.clicks;
DROP TABLE public.clicks;
ALTER TABLE public.old_clicks RENAME TO clicks;
-- Remove system_automations constraints and indexes
DROP INDEX IF EXISTS idx_system_automations_bot_kind_param;
ALTER TABLE public.system_automations DROP CONSTRAINT IF EXISTS system_automations_bot_kind_param_unique;
DROP INDEX IF EXISTS idx_system_automations_bot_id;
ALTER TABLE public.system_automations DROP COLUMN IF EXISTS bot_id;
DROP INDEX IF EXISTS idx_system_automations_name;
ALTER TABLE public.system_automations DROP COLUMN IF EXISTS name;
-- Remove bot_configuration constraint
ALTER TABLE bot_configuration DROP CONSTRAINT IF EXISTS bot_configuration_config_key_unique;
-- Drop login tokens table
DROP TABLE IF EXISTS public.user_login_tokens;
-- Drop user preferences table
DROP TABLE IF EXISTS public.user_preferences;
-- Remove session enhancement
ALTER TABLE public.user_sessions
DROP CONSTRAINT IF EXISTS user_sessions_email_account_id_fkey,
DROP COLUMN IF EXISTS active_email_account_id;
-- Drop email folders table
DROP TABLE IF EXISTS public.email_folders;
-- Drop email drafts table
DROP TABLE IF EXISTS public.email_drafts;
-- Drop user email accounts table
DROP TABLE IF EXISTS public.user_email_accounts;
-- Drop triggers
DROP TRIGGER IF EXISTS update_directory_users_updated_at ON public.directory_users;
DROP TRIGGER IF EXISTS update_oauth_applications_updated_at ON public.oauth_applications;
-- Drop function if no other triggers use it
DROP FUNCTION IF EXISTS update_updated_at_column() CASCADE;
-- Drop tables in reverse order of dependencies
DROP TABLE IF EXISTS public.bot_access CASCADE;
DROP TABLE IF EXISTS public.oauth_applications CASCADE;
DROP TABLE IF EXISTS public.directory_users CASCADE;
-- Drop indexes
DROP INDEX IF EXISTS idx_bots_org_id;
-- Remove columns from bots table
ALTER TABLE public.bots
DROP CONSTRAINT IF EXISTS bots_org_id_fkey,
DROP COLUMN IF EXISTS org_id,
DROP COLUMN IF EXISTS is_default;
-- Note: We don't delete the default organization or bot data as they may have other relationships
-- The application should handle orphaned data appropriately
-- Drop session_website_associations table and related indexes
DROP TABLE IF EXISTS session_website_associations;
-- Drop website_crawls table and related objects
DROP TRIGGER IF EXISTS website_crawls_updated_at_trigger ON website_crawls;
DROP FUNCTION IF EXISTS update_website_crawls_updated_at();
DROP TABLE IF EXISTS website_crawls;
-- Rollback Migration: 6.1.0 Enterprise Features
-- WARNING: This will delete all enterprise feature data!
-- NOTE: TABLES AND INDEXES ONLY - No views, triggers, or functions per project standards
-- Includes rollback for: config ID fixes, connected accounts, bot hierarchy, monitors
-- ============================================================================
-- ROLLBACK: Bot Hierarchy and Monitors (from 6.1.3)
-- ============================================================================
-- Drop comments first
COMMENT ON TABLE public.user_organizations IS NULL;
COMMENT ON TABLE public.email_received_events IS NULL;
COMMENT ON TABLE public.folder_change_events IS NULL;
COMMENT ON TABLE public.folder_monitors IS NULL;
COMMENT ON TABLE public.email_monitors IS NULL;
COMMENT ON COLUMN public.bots.inherit_parent_config IS NULL;
COMMENT ON COLUMN public.bots.enabled_tabs_json IS NULL;
COMMENT ON COLUMN public.bots.parent_bot_id IS NULL;
COMMENT ON TABLE public.system_automations IS NULL;
-- Drop user organizations table
DROP INDEX IF EXISTS idx_user_orgs_default;
DROP INDEX IF EXISTS idx_user_orgs_org;
DROP INDEX IF EXISTS idx_user_orgs_user;
DROP TABLE IF EXISTS public.user_organizations;
-- Drop email received events table
DROP INDEX IF EXISTS idx_email_events_received;
DROP INDEX IF EXISTS idx_email_events_processed;
DROP INDEX IF EXISTS idx_email_events_monitor;
DROP TABLE IF EXISTS public.email_received_events;
-- Drop folder change events table
DROP INDEX IF EXISTS idx_folder_events_created;
DROP INDEX IF EXISTS idx_folder_events_processed;
DROP INDEX IF EXISTS idx_folder_events_monitor;
DROP TABLE IF EXISTS public.folder_change_events;
-- Drop folder monitors table
DROP INDEX IF EXISTS idx_folder_monitors_account_email;
DROP INDEX IF EXISTS idx_folder_monitors_active;
DROP INDEX IF EXISTS idx_folder_monitors_provider;
DROP INDEX IF EXISTS idx_folder_monitors_bot_id;
DROP TABLE IF EXISTS public.folder_monitors;
-- Drop email monitors table
DROP INDEX IF EXISTS idx_email_monitors_active;
DROP INDEX IF EXISTS idx_email_monitors_email;
DROP INDEX IF EXISTS idx_email_monitors_bot_id;
DROP TABLE IF EXISTS public.email_monitors;
-- Remove bot hierarchy columns
DROP INDEX IF EXISTS idx_bots_parent_bot_id;
ALTER TABLE public.bots DROP COLUMN IF EXISTS inherit_parent_config;
ALTER TABLE public.bots DROP COLUMN IF EXISTS enabled_tabs_json;
ALTER TABLE public.bots DROP COLUMN IF EXISTS parent_bot_id;
-- ============================================================================
-- ROLLBACK: Connected Accounts (from 6.1.2)
-- ============================================================================
DROP INDEX IF EXISTS idx_account_sync_items_unique;
DROP INDEX IF EXISTS idx_account_sync_items_embedding;
DROP INDEX IF EXISTS idx_account_sync_items_date;
DROP INDEX IF EXISTS idx_account_sync_items_type;
DROP INDEX IF EXISTS idx_account_sync_items_account;
DROP TABLE IF EXISTS account_sync_items;
DROP INDEX IF EXISTS idx_session_account_assoc_unique;
DROP INDEX IF EXISTS idx_session_account_assoc_active;
DROP INDEX IF EXISTS idx_session_account_assoc_account;
DROP INDEX IF EXISTS idx_session_account_assoc_session;
DROP TABLE IF EXISTS session_account_associations;
DROP INDEX IF EXISTS idx_connected_accounts_bot_email;
DROP INDEX IF EXISTS idx_connected_accounts_status;
DROP INDEX IF EXISTS idx_connected_accounts_provider;
DROP INDEX IF EXISTS idx_connected_accounts_email;
DROP INDEX IF EXISTS idx_connected_accounts_user_id;
DROP INDEX IF EXISTS idx_connected_accounts_bot_id;
DROP TABLE IF EXISTS connected_accounts;
-- ============================================================================
-- ROLLBACK: Config ID Type Fixes (from 6.1.1)
-- Revert UUID columns back to TEXT
-- ============================================================================
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'bot_configuration'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE bot_configuration
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'server_configuration'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE server_configuration
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'tenant_configuration'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE tenant_configuration
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'model_configurations'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE model_configurations
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'connection_configurations'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE connection_configurations
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'component_installations'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE component_installations
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'component_logs'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE component_logs
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'gbot_config_sync'
AND column_name = 'id'
AND data_type = 'uuid') THEN
ALTER TABLE gbot_config_sync
ALTER COLUMN id TYPE TEXT USING id::text;
END IF;
END $$;
-- ============================================================================
-- FEATURE TABLES MOVED TO DEDICATED MIGRATIONS
-- ============================================================================
-- Drop triggers and functions
DROP TRIGGER IF EXISTS external_connections_updated_at_trigger ON external_connections;
DROP FUNCTION IF EXISTS update_external_connections_updated_at();
DROP TRIGGER IF EXISTS dynamic_table_definitions_updated_at_trigger ON dynamic_table_definitions;
DROP FUNCTION IF EXISTS update_dynamic_table_definitions_updated_at();
-- Drop indexes
DROP INDEX IF EXISTS idx_external_connections_name;
DROP INDEX IF EXISTS idx_external_connections_bot_id;
DROP INDEX IF EXISTS idx_dynamic_table_fields_name;
DROP INDEX IF EXISTS idx_dynamic_table_fields_table_id;
DROP INDEX IF EXISTS idx_dynamic_table_definitions_connection;
DROP INDEX IF EXISTS idx_dynamic_table_definitions_name;
DROP INDEX IF EXISTS idx_dynamic_table_definitions_bot_id;
-- Drop tables (order matters due to foreign keys)
DROP TABLE IF EXISTS external_connections;
DROP TABLE IF EXISTS dynamic_table_fields;
DROP TABLE IF EXISTS dynamic_table_definitions;
-- Rollback Migration: 6.1.1 AutoTask System
-- Description: Drop tables for the AutoTask system
-- Drop indexes first (automatically dropped with tables, but explicit for clarity)
-- Drop designer_pending_changes
DROP INDEX IF EXISTS idx_designer_pending_changes_expires_at;
DROP INDEX IF EXISTS idx_designer_pending_changes_bot_id;
DROP TABLE IF EXISTS designer_pending_changes;
-- Drop designer_changes
DROP INDEX IF EXISTS idx_designer_changes_created_at;
DROP INDEX IF EXISTS idx_designer_changes_bot_id;
DROP TABLE IF EXISTS designer_changes;
-- Drop intent_classifications
DROP INDEX IF EXISTS idx_intent_classifications_created_at;
DROP INDEX IF EXISTS idx_intent_classifications_intent_type;
DROP INDEX IF EXISTS idx_intent_classifications_bot_id;
DROP TABLE IF EXISTS intent_classifications;
-- Drop generated_apps
DROP INDEX IF EXISTS idx_generated_apps_is_active;
DROP INDEX IF EXISTS idx_generated_apps_name;
DROP INDEX IF EXISTS idx_generated_apps_bot_id;
DROP TABLE IF EXISTS generated_apps;
-- Drop safety_audit_log
DROP INDEX IF EXISTS idx_safety_audit_log_created_at;
DROP INDEX IF EXISTS idx_safety_audit_log_outcome;
DROP INDEX IF EXISTS idx_safety_audit_log_task_id;
DROP INDEX IF EXISTS idx_safety_audit_log_bot_id;
DROP TABLE IF EXISTS safety_audit_log;
-- Drop task_decisions
DROP INDEX IF EXISTS idx_task_decisions_status;
DROP INDEX IF EXISTS idx_task_decisions_task_id;
DROP INDEX IF EXISTS idx_task_decisions_bot_id;
DROP TABLE IF EXISTS task_decisions;
-- Drop task_approvals
DROP INDEX IF EXISTS idx_task_approvals_expires_at;
DROP INDEX IF EXISTS idx_task_approvals_status;
DROP INDEX IF EXISTS idx_task_approvals_task_id;
DROP INDEX IF EXISTS idx_task_approvals_bot_id;
DROP TABLE IF EXISTS task_approvals;
-- Drop execution_plans
DROP INDEX IF EXISTS idx_execution_plans_intent_type;
DROP INDEX IF EXISTS idx_execution_plans_status;
DROP INDEX IF EXISTS idx_execution_plans_task_id;
DROP INDEX IF EXISTS idx_execution_plans_bot_id;
DROP TABLE IF EXISTS execution_plans;
-- Drop auto_tasks
DROP INDEX IF EXISTS idx_auto_tasks_created_at;
DROP INDEX IF EXISTS idx_auto_tasks_priority;
DROP INDEX IF EXISTS idx_auto_tasks_status;
DROP INDEX IF EXISTS idx_auto_tasks_session_id;
DROP INDEX IF EXISTS idx_auto_tasks_bot_id;
DROP TABLE IF EXISTS auto_tasks;
-- Drop pending_info
DROP INDEX IF EXISTS idx_pending_info_is_filled;
DROP INDEX IF EXISTS idx_pending_info_config_key;
DROP INDEX IF EXISTS idx_pending_info_bot_id;
DROP TABLE IF EXISTS pending_info;
-- Rollback: Remove role-based access control columns from dynamic tables
-- Migration: 6.1.2_table_role_access
-- Remove columns from dynamic_table_definitions
ALTER TABLE dynamic_table_definitions
DROP COLUMN IF EXISTS read_roles,
DROP COLUMN IF EXISTS write_roles;
-- Remove columns from dynamic_table_fields
ALTER TABLE dynamic_table_fields
DROP COLUMN IF EXISTS read_roles,
DROP COLUMN IF EXISTS write_roles;
-- Rollback Migration: Knowledge Base Sources
-- Drop triggers first
DROP TRIGGER IF EXISTS update_knowledge_sources_updated_at ON knowledge_sources;
-- Drop indexes
DROP INDEX IF EXISTS idx_knowledge_sources_bot_id;
DROP INDEX IF EXISTS idx_knowledge_sources_status;
DROP INDEX IF EXISTS idx_knowledge_sources_collection;
DROP INDEX IF EXISTS idx_knowledge_sources_content_hash;
DROP INDEX IF EXISTS idx_knowledge_sources_created_at;
DROP INDEX IF EXISTS idx_knowledge_chunks_source_id;
DROP INDEX IF EXISTS idx_knowledge_chunks_chunk_index;
DROP INDEX IF EXISTS idx_knowledge_chunks_content_fts;
DROP INDEX IF EXISTS idx_knowledge_chunks_embedding;
DROP INDEX IF EXISTS idx_research_search_history_bot_id;
DROP INDEX IF EXISTS idx_research_search_history_user_id;
DROP INDEX IF EXISTS idx_research_search_history_created_at;
-- Drop tables (order matters due to foreign key constraints)
DROP TABLE IF EXISTS research_search_history;
DROP TABLE IF EXISTS knowledge_chunks;
DROP TABLE IF EXISTS knowledge_sources;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
DROP INDEX IF EXISTS idx_bots_tenant_id;
DROP INDEX IF EXISTS idx_bots_database_name;
ALTER TABLE bots DROP COLUMN IF EXISTS tenant_id;
ALTER TABLE bots DROP COLUMN IF EXISTS database_name;

View file

@ -0,0 +1,8 @@
ALTER TABLE bots ADD COLUMN IF NOT EXISTS database_name VARCHAR(255) NULL;
ALTER TABLE bots ADD COLUMN IF NOT EXISTS tenant_id UUID NULL;
CREATE INDEX IF NOT EXISTS idx_bots_database_name ON bots(database_name);
CREATE INDEX IF NOT EXISTS idx_bots_tenant_id ON bots(tenant_id);
COMMENT ON COLUMN bots.database_name IS 'Name of the PostgreSQL database for this bot (bot_{name})';
COMMENT ON COLUMN bots.tenant_id IS 'Tenant/organization ID for multi-tenant isolation';

View file

@ -0,0 +1,36 @@
DROP INDEX IF EXISTS idx_product_variants_sku;
DROP INDEX IF EXISTS idx_product_variants_product;
DROP INDEX IF EXISTS idx_inventory_movements_created;
DROP INDEX IF EXISTS idx_inventory_movements_product;
DROP INDEX IF EXISTS idx_inventory_movements_org_bot;
DROP INDEX IF EXISTS idx_price_list_items_service;
DROP INDEX IF EXISTS idx_price_list_items_product;
DROP INDEX IF EXISTS idx_price_list_items_list;
DROP INDEX IF EXISTS idx_price_lists_default;
DROP INDEX IF EXISTS idx_price_lists_active;
DROP INDEX IF EXISTS idx_price_lists_org_bot;
DROP INDEX IF EXISTS idx_product_categories_slug;
DROP INDEX IF EXISTS idx_product_categories_parent;
DROP INDEX IF EXISTS idx_product_categories_org_bot;
DROP INDEX IF EXISTS idx_services_active;
DROP INDEX IF EXISTS idx_services_category;
DROP INDEX IF EXISTS idx_services_org_bot;
DROP INDEX IF EXISTS idx_products_org_sku;
DROP INDEX IF EXISTS idx_products_sku;
DROP INDEX IF EXISTS idx_products_active;
DROP INDEX IF EXISTS idx_products_category;
DROP INDEX IF EXISTS idx_products_org_bot;
DROP TABLE IF EXISTS product_variants;
DROP TABLE IF EXISTS inventory_movements;
DROP TABLE IF EXISTS price_list_items;
DROP TABLE IF EXISTS price_lists;
DROP TABLE IF EXISTS product_categories;
DROP TABLE IF EXISTS services;
DROP TABLE IF EXISTS products;

View file

@ -0,0 +1,139 @@
CREATE TABLE products (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
sku VARCHAR(100),
name VARCHAR(255) NOT NULL,
description TEXT,
category VARCHAR(100),
product_type VARCHAR(50) NOT NULL DEFAULT 'physical',
price DECIMAL(15,2) NOT NULL DEFAULT 0,
cost DECIMAL(15,2),
currency VARCHAR(3) NOT NULL DEFAULT 'USD',
tax_rate DECIMAL(5,2) NOT NULL DEFAULT 0,
unit VARCHAR(50) NOT NULL DEFAULT 'unit',
stock_quantity INTEGER NOT NULL DEFAULT 0,
low_stock_threshold INTEGER NOT NULL DEFAULT 10,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
images JSONB NOT NULL DEFAULT '[]',
attributes JSONB NOT NULL DEFAULT '{}',
weight DECIMAL(10,2),
dimensions JSONB,
barcode VARCHAR(100),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE services (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
category VARCHAR(100),
service_type VARCHAR(50) NOT NULL DEFAULT 'hourly',
hourly_rate DECIMAL(15,2),
fixed_price DECIMAL(15,2),
currency VARCHAR(3) NOT NULL DEFAULT 'USD',
duration_minutes INTEGER,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
attributes JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE product_categories (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
parent_id UUID REFERENCES product_categories(id) ON DELETE SET NULL,
slug VARCHAR(255),
image_url TEXT,
sort_order INTEGER NOT NULL DEFAULT 0,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE price_lists (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
currency VARCHAR(3) NOT NULL DEFAULT 'USD',
is_default BOOLEAN NOT NULL DEFAULT FALSE,
valid_from DATE,
valid_until DATE,
customer_group VARCHAR(100),
discount_percent DECIMAL(5,2) NOT NULL DEFAULT 0,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE price_list_items (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
price_list_id UUID NOT NULL REFERENCES price_lists(id) ON DELETE CASCADE,
product_id UUID REFERENCES products(id) ON DELETE CASCADE,
service_id UUID REFERENCES services(id) ON DELETE CASCADE,
price DECIMAL(15,2) NOT NULL,
min_quantity INTEGER NOT NULL DEFAULT 1,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE inventory_movements (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
product_id UUID NOT NULL REFERENCES products(id) ON DELETE CASCADE,
movement_type VARCHAR(50) NOT NULL,
quantity INTEGER NOT NULL,
reference_type VARCHAR(50),
reference_id UUID,
notes TEXT,
created_by UUID,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE product_variants (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
product_id UUID NOT NULL REFERENCES products(id) ON DELETE CASCADE,
sku VARCHAR(100),
name VARCHAR(255) NOT NULL,
price_adjustment DECIMAL(15,2) NOT NULL DEFAULT 0,
stock_quantity INTEGER NOT NULL DEFAULT 0,
attributes JSONB NOT NULL DEFAULT '{}',
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_products_org_bot ON products(org_id, bot_id);
CREATE INDEX idx_products_category ON products(category);
CREATE INDEX idx_products_active ON products(is_active);
CREATE INDEX idx_products_sku ON products(sku);
CREATE UNIQUE INDEX idx_products_org_sku ON products(org_id, sku) WHERE sku IS NOT NULL;
CREATE INDEX idx_services_org_bot ON services(org_id, bot_id);
CREATE INDEX idx_services_category ON services(category);
CREATE INDEX idx_services_active ON services(is_active);
CREATE INDEX idx_product_categories_org_bot ON product_categories(org_id, bot_id);
CREATE INDEX idx_product_categories_parent ON product_categories(parent_id);
CREATE INDEX idx_product_categories_slug ON product_categories(slug);
CREATE INDEX idx_price_lists_org_bot ON price_lists(org_id, bot_id);
CREATE INDEX idx_price_lists_active ON price_lists(is_active);
CREATE INDEX idx_price_lists_default ON price_lists(is_default);
CREATE INDEX idx_price_list_items_list ON price_list_items(price_list_id);
CREATE INDEX idx_price_list_items_product ON price_list_items(product_id);
CREATE INDEX idx_price_list_items_service ON price_list_items(service_id);
CREATE INDEX idx_inventory_movements_org_bot ON inventory_movements(org_id, bot_id);
CREATE INDEX idx_inventory_movements_product ON inventory_movements(product_id);
CREATE INDEX idx_inventory_movements_created ON inventory_movements(created_at DESC);
CREATE INDEX idx_product_variants_product ON product_variants(product_id);
CREATE INDEX idx_product_variants_sku ON product_variants(sku);

View file

@ -0,0 +1,43 @@
DROP INDEX IF EXISTS idx_people_time_off_status;
DROP INDEX IF EXISTS idx_people_time_off_dates;
DROP INDEX IF EXISTS idx_people_time_off_person;
DROP INDEX IF EXISTS idx_people_time_off_org_bot;
DROP INDEX IF EXISTS idx_people_person_skills_skill;
DROP INDEX IF EXISTS idx_people_person_skills_person;
DROP INDEX IF EXISTS idx_people_skills_category;
DROP INDEX IF EXISTS idx_people_skills_org_bot;
DROP INDEX IF EXISTS idx_people_departments_org_code;
DROP INDEX IF EXISTS idx_people_departments_head;
DROP INDEX IF EXISTS idx_people_departments_parent;
DROP INDEX IF EXISTS idx_people_departments_org_bot;
DROP INDEX IF EXISTS idx_people_org_chart_reports_to;
DROP INDEX IF EXISTS idx_people_org_chart_person;
DROP INDEX IF EXISTS idx_people_org_chart_org;
DROP INDEX IF EXISTS idx_people_team_members_person;
DROP INDEX IF EXISTS idx_people_team_members_team;
DROP INDEX IF EXISTS idx_people_teams_leader;
DROP INDEX IF EXISTS idx_people_teams_parent;
DROP INDEX IF EXISTS idx_people_teams_org_bot;
DROP INDEX IF EXISTS idx_people_org_email;
DROP INDEX IF EXISTS idx_people_user;
DROP INDEX IF EXISTS idx_people_active;
DROP INDEX IF EXISTS idx_people_manager;
DROP INDEX IF EXISTS idx_people_department;
DROP INDEX IF EXISTS idx_people_email;
DROP INDEX IF EXISTS idx_people_org_bot;
DROP TABLE IF EXISTS people_time_off;
DROP TABLE IF EXISTS people_person_skills;
DROP TABLE IF EXISTS people_skills;
DROP TABLE IF EXISTS people_departments;
DROP TABLE IF EXISTS people_org_chart;
DROP TABLE IF EXISTS people_team_members;
DROP TABLE IF EXISTS people_teams;
DROP TABLE IF EXISTS people;

View file

@ -0,0 +1,160 @@
CREATE TABLE people (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
user_id UUID,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255),
email VARCHAR(255),
phone VARCHAR(50),
mobile VARCHAR(50),
job_title VARCHAR(255),
department VARCHAR(255),
manager_id UUID REFERENCES people(id) ON DELETE SET NULL,
office_location VARCHAR(255),
hire_date DATE,
birthday DATE,
avatar_url TEXT,
bio TEXT,
skills TEXT[] NOT NULL DEFAULT '{}',
social_links JSONB NOT NULL DEFAULT '{}',
custom_fields JSONB NOT NULL DEFAULT '{}',
timezone VARCHAR(50),
locale VARCHAR(10),
is_active BOOLEAN NOT NULL DEFAULT TRUE,
last_seen_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE people_teams (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
leader_id UUID REFERENCES people(id) ON DELETE SET NULL,
parent_team_id UUID REFERENCES people_teams(id) ON DELETE SET NULL,
color VARCHAR(20),
icon VARCHAR(50),
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE people_team_members (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
team_id UUID NOT NULL REFERENCES people_teams(id) ON DELETE CASCADE,
person_id UUID NOT NULL REFERENCES people(id) ON DELETE CASCADE,
role VARCHAR(100),
is_primary BOOLEAN NOT NULL DEFAULT FALSE,
joined_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(team_id, person_id)
);
CREATE TABLE people_org_chart (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
person_id UUID NOT NULL REFERENCES people(id) ON DELETE CASCADE,
reports_to_id UUID REFERENCES people(id) ON DELETE SET NULL,
position_title VARCHAR(255),
position_level INTEGER NOT NULL DEFAULT 0,
position_order INTEGER NOT NULL DEFAULT 0,
effective_from DATE,
effective_until DATE,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(org_id, person_id, effective_from)
);
CREATE TABLE people_departments (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
code VARCHAR(50),
parent_id UUID REFERENCES people_departments(id) ON DELETE SET NULL,
head_id UUID REFERENCES people(id) ON DELETE SET NULL,
cost_center VARCHAR(50),
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE people_skills (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
category VARCHAR(100),
description TEXT,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE people_person_skills (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
person_id UUID NOT NULL REFERENCES people(id) ON DELETE CASCADE,
skill_id UUID NOT NULL REFERENCES people_skills(id) ON DELETE CASCADE,
proficiency_level INTEGER NOT NULL DEFAULT 1,
years_experience DECIMAL(4,1),
verified_by UUID REFERENCES people(id) ON DELETE SET NULL,
verified_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(person_id, skill_id)
);
CREATE TABLE people_time_off (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
person_id UUID NOT NULL REFERENCES people(id) ON DELETE CASCADE,
time_off_type VARCHAR(50) NOT NULL,
status VARCHAR(50) NOT NULL DEFAULT 'pending',
start_date DATE NOT NULL,
end_date DATE NOT NULL,
hours_requested DECIMAL(5,1),
reason TEXT,
approved_by UUID REFERENCES people(id) ON DELETE SET NULL,
approved_at TIMESTAMPTZ,
notes TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_people_org_bot ON people(org_id, bot_id);
CREATE INDEX idx_people_email ON people(email);
CREATE INDEX idx_people_department ON people(department);
CREATE INDEX idx_people_manager ON people(manager_id);
CREATE INDEX idx_people_active ON people(is_active);
CREATE INDEX idx_people_user ON people(user_id);
CREATE UNIQUE INDEX idx_people_org_email ON people(org_id, email) WHERE email IS NOT NULL;
CREATE INDEX idx_people_teams_org_bot ON people_teams(org_id, bot_id);
CREATE INDEX idx_people_teams_parent ON people_teams(parent_team_id);
CREATE INDEX idx_people_teams_leader ON people_teams(leader_id);
CREATE INDEX idx_people_team_members_team ON people_team_members(team_id);
CREATE INDEX idx_people_team_members_person ON people_team_members(person_id);
CREATE INDEX idx_people_org_chart_org ON people_org_chart(org_id, bot_id);
CREATE INDEX idx_people_org_chart_person ON people_org_chart(person_id);
CREATE INDEX idx_people_org_chart_reports_to ON people_org_chart(reports_to_id);
CREATE INDEX idx_people_departments_org_bot ON people_departments(org_id, bot_id);
CREATE INDEX idx_people_departments_parent ON people_departments(parent_id);
CREATE INDEX idx_people_departments_head ON people_departments(head_id);
CREATE UNIQUE INDEX idx_people_departments_org_code ON people_departments(org_id, code) WHERE code IS NOT NULL;
CREATE INDEX idx_people_skills_org_bot ON people_skills(org_id, bot_id);
CREATE INDEX idx_people_skills_category ON people_skills(category);
CREATE INDEX idx_people_person_skills_person ON people_person_skills(person_id);
CREATE INDEX idx_people_person_skills_skill ON people_person_skills(skill_id);
CREATE INDEX idx_people_time_off_org_bot ON people_time_off(org_id, bot_id);
CREATE INDEX idx_people_time_off_person ON people_time_off(person_id);
CREATE INDEX idx_people_time_off_dates ON people_time_off(start_date, end_date);
CREATE INDEX idx_people_time_off_status ON people_time_off(status);

View file

@ -0,0 +1,43 @@
DROP INDEX IF EXISTS idx_attendant_session_wrap_up_session;
DROP INDEX IF EXISTS idx_attendant_wrap_up_codes_org_code;
DROP INDEX IF EXISTS idx_attendant_wrap_up_codes_org_bot;
DROP INDEX IF EXISTS idx_attendant_tags_org_name;
DROP INDEX IF EXISTS idx_attendant_tags_org_bot;
DROP INDEX IF EXISTS idx_attendant_canned_shortcut;
DROP INDEX IF EXISTS idx_attendant_canned_org_bot;
DROP INDEX IF EXISTS idx_attendant_transfers_session;
DROP INDEX IF EXISTS idx_attendant_agent_status_status;
DROP INDEX IF EXISTS idx_attendant_agent_status_org;
DROP INDEX IF EXISTS idx_attendant_queue_agents_agent;
DROP INDEX IF EXISTS idx_attendant_queue_agents_queue;
DROP INDEX IF EXISTS idx_attendant_session_messages_created;
DROP INDEX IF EXISTS idx_attendant_session_messages_session;
DROP INDEX IF EXISTS idx_attendant_sessions_number;
DROP INDEX IF EXISTS idx_attendant_sessions_created;
DROP INDEX IF EXISTS idx_attendant_sessions_customer;
DROP INDEX IF EXISTS idx_attendant_sessions_queue;
DROP INDEX IF EXISTS idx_attendant_sessions_agent;
DROP INDEX IF EXISTS idx_attendant_sessions_status;
DROP INDEX IF EXISTS idx_attendant_sessions_org_bot;
DROP INDEX IF EXISTS idx_attendant_queues_active;
DROP INDEX IF EXISTS idx_attendant_queues_org_bot;
DROP TABLE IF EXISTS attendant_session_wrap_up;
DROP TABLE IF EXISTS attendant_wrap_up_codes;
DROP TABLE IF EXISTS attendant_tags;
DROP TABLE IF EXISTS attendant_canned_responses;
DROP TABLE IF EXISTS attendant_transfers;
DROP TABLE IF EXISTS attendant_agent_status;
DROP TABLE IF EXISTS attendant_queue_agents;
DROP TABLE IF EXISTS attendant_session_messages;
DROP TABLE IF EXISTS attendant_sessions;
DROP TABLE IF EXISTS attendant_queues;

View file

@ -0,0 +1,183 @@
CREATE TABLE attendant_queues (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
priority INTEGER NOT NULL DEFAULT 0,
max_wait_minutes INTEGER NOT NULL DEFAULT 30,
auto_assign BOOLEAN NOT NULL DEFAULT TRUE,
working_hours JSONB NOT NULL DEFAULT '{}',
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE attendant_sessions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
session_number VARCHAR(50) NOT NULL,
channel VARCHAR(50) NOT NULL,
customer_id UUID,
customer_name VARCHAR(255),
customer_email VARCHAR(255),
customer_phone VARCHAR(50),
status VARCHAR(50) NOT NULL DEFAULT 'waiting',
priority INTEGER NOT NULL DEFAULT 0,
agent_id UUID,
queue_id UUID REFERENCES attendant_queues(id) ON DELETE SET NULL,
subject VARCHAR(500),
initial_message TEXT,
started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
assigned_at TIMESTAMPTZ,
first_response_at TIMESTAMPTZ,
ended_at TIMESTAMPTZ,
wait_time_seconds INTEGER,
handle_time_seconds INTEGER,
satisfaction_rating INTEGER,
satisfaction_comment TEXT,
tags TEXT[] NOT NULL DEFAULT '{}',
metadata JSONB NOT NULL DEFAULT '{}',
notes TEXT,
transfer_count INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE attendant_session_messages (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
session_id UUID NOT NULL REFERENCES attendant_sessions(id) ON DELETE CASCADE,
sender_type VARCHAR(20) NOT NULL,
sender_id UUID,
sender_name VARCHAR(255),
content TEXT NOT NULL,
content_type VARCHAR(50) NOT NULL DEFAULT 'text',
attachments JSONB NOT NULL DEFAULT '[]',
is_internal BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE attendant_queue_agents (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
queue_id UUID NOT NULL REFERENCES attendant_queues(id) ON DELETE CASCADE,
agent_id UUID NOT NULL,
max_concurrent INTEGER NOT NULL DEFAULT 3,
priority INTEGER NOT NULL DEFAULT 0,
skills TEXT[] NOT NULL DEFAULT '{}',
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(queue_id, agent_id)
);
CREATE TABLE attendant_agent_status (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
agent_id UUID NOT NULL,
status VARCHAR(50) NOT NULL DEFAULT 'offline',
status_message VARCHAR(255),
current_sessions INTEGER NOT NULL DEFAULT 0,
max_sessions INTEGER NOT NULL DEFAULT 5,
last_activity_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
break_started_at TIMESTAMPTZ,
break_reason VARCHAR(255),
available_since TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(org_id, agent_id)
);
CREATE TABLE attendant_transfers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
session_id UUID NOT NULL REFERENCES attendant_sessions(id) ON DELETE CASCADE,
from_agent_id UUID,
to_agent_id UUID,
to_queue_id UUID REFERENCES attendant_queues(id) ON DELETE SET NULL,
reason VARCHAR(255),
notes TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE attendant_canned_responses (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
shortcut VARCHAR(50),
category VARCHAR(100),
queue_id UUID REFERENCES attendant_queues(id) ON DELETE SET NULL,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
usage_count INTEGER NOT NULL DEFAULT 0,
created_by UUID,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE attendant_tags (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(100) NOT NULL,
color VARCHAR(20),
description TEXT,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE attendant_wrap_up_codes (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
code VARCHAR(50) NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
requires_notes BOOLEAN NOT NULL DEFAULT FALSE,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE attendant_session_wrap_up (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
session_id UUID NOT NULL REFERENCES attendant_sessions(id) ON DELETE CASCADE,
wrap_up_code_id UUID REFERENCES attendant_wrap_up_codes(id) ON DELETE SET NULL,
notes TEXT,
follow_up_required BOOLEAN NOT NULL DEFAULT FALSE,
follow_up_date DATE,
created_by UUID,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(session_id)
);
CREATE INDEX idx_attendant_queues_org_bot ON attendant_queues(org_id, bot_id);
CREATE INDEX idx_attendant_queues_active ON attendant_queues(is_active);
CREATE INDEX idx_attendant_sessions_org_bot ON attendant_sessions(org_id, bot_id);
CREATE INDEX idx_attendant_sessions_status ON attendant_sessions(status);
CREATE INDEX idx_attendant_sessions_agent ON attendant_sessions(agent_id);
CREATE INDEX idx_attendant_sessions_queue ON attendant_sessions(queue_id);
CREATE INDEX idx_attendant_sessions_customer ON attendant_sessions(customer_id);
CREATE INDEX idx_attendant_sessions_created ON attendant_sessions(created_at DESC);
CREATE UNIQUE INDEX idx_attendant_sessions_number ON attendant_sessions(org_id, session_number);
CREATE INDEX idx_attendant_session_messages_session ON attendant_session_messages(session_id);
CREATE INDEX idx_attendant_session_messages_created ON attendant_session_messages(created_at);
CREATE INDEX idx_attendant_queue_agents_queue ON attendant_queue_agents(queue_id);
CREATE INDEX idx_attendant_queue_agents_agent ON attendant_queue_agents(agent_id);
CREATE INDEX idx_attendant_agent_status_org ON attendant_agent_status(org_id, bot_id);
CREATE INDEX idx_attendant_agent_status_status ON attendant_agent_status(status);
CREATE INDEX idx_attendant_transfers_session ON attendant_transfers(session_id);
CREATE INDEX idx_attendant_canned_org_bot ON attendant_canned_responses(org_id, bot_id);
CREATE INDEX idx_attendant_canned_shortcut ON attendant_canned_responses(shortcut);
CREATE INDEX idx_attendant_tags_org_bot ON attendant_tags(org_id, bot_id);
CREATE UNIQUE INDEX idx_attendant_tags_org_name ON attendant_tags(org_id, bot_id, name);
CREATE INDEX idx_attendant_wrap_up_codes_org_bot ON attendant_wrap_up_codes(org_id, bot_id);
CREATE UNIQUE INDEX idx_attendant_wrap_up_codes_org_code ON attendant_wrap_up_codes(org_id, bot_id, code);
CREATE INDEX idx_attendant_session_wrap_up_session ON attendant_session_wrap_up(session_id);

View file

@ -0,0 +1,26 @@
DROP INDEX IF EXISTS idx_calendar_shares_email;
DROP INDEX IF EXISTS idx_calendar_shares_user;
DROP INDEX IF EXISTS idx_calendar_shares_calendar;
DROP INDEX IF EXISTS idx_calendar_event_reminders_pending;
DROP INDEX IF EXISTS idx_calendar_event_reminders_event;
DROP INDEX IF EXISTS idx_calendar_event_attendees_email;
DROP INDEX IF EXISTS idx_calendar_event_attendees_event;
DROP INDEX IF EXISTS idx_calendar_events_recurrence;
DROP INDEX IF EXISTS idx_calendar_events_status;
DROP INDEX IF EXISTS idx_calendar_events_time_range;
DROP INDEX IF EXISTS idx_calendar_events_owner;
DROP INDEX IF EXISTS idx_calendar_events_calendar;
DROP INDEX IF EXISTS idx_calendar_events_org_bot;
DROP INDEX IF EXISTS idx_calendars_primary;
DROP INDEX IF EXISTS idx_calendars_owner;
DROP INDEX IF EXISTS idx_calendars_org_bot;
DROP TABLE IF EXISTS calendar_shares;
DROP TABLE IF EXISTS calendar_event_reminders;
DROP TABLE IF EXISTS calendar_event_attendees;
DROP TABLE IF EXISTS calendar_events;
DROP TABLE IF EXISTS calendars;

View file

@ -0,0 +1,95 @@
CREATE TABLE calendars (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
owner_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
color VARCHAR(20) DEFAULT '#3b82f6',
timezone VARCHAR(100) DEFAULT 'UTC',
is_primary BOOLEAN NOT NULL DEFAULT FALSE,
is_visible BOOLEAN NOT NULL DEFAULT TRUE,
is_shared BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE calendar_events (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
calendar_id UUID NOT NULL REFERENCES calendars(id) ON DELETE CASCADE,
owner_id UUID NOT NULL,
title VARCHAR(500) NOT NULL,
description TEXT,
location VARCHAR(500),
start_time TIMESTAMPTZ NOT NULL,
end_time TIMESTAMPTZ NOT NULL,
all_day BOOLEAN NOT NULL DEFAULT FALSE,
recurrence_rule TEXT,
recurrence_id UUID REFERENCES calendar_events(id) ON DELETE SET NULL,
color VARCHAR(20),
status VARCHAR(50) NOT NULL DEFAULT 'confirmed',
visibility VARCHAR(50) NOT NULL DEFAULT 'default',
busy_status VARCHAR(50) NOT NULL DEFAULT 'busy',
reminders JSONB NOT NULL DEFAULT '[]',
attendees JSONB NOT NULL DEFAULT '[]',
conference_data JSONB,
metadata JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE calendar_event_attendees (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
event_id UUID NOT NULL REFERENCES calendar_events(id) ON DELETE CASCADE,
email VARCHAR(255) NOT NULL,
name VARCHAR(255),
status VARCHAR(50) NOT NULL DEFAULT 'needs-action',
role VARCHAR(50) NOT NULL DEFAULT 'req-participant',
rsvp_time TIMESTAMPTZ,
comment TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE calendar_event_reminders (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
event_id UUID NOT NULL REFERENCES calendar_events(id) ON DELETE CASCADE,
reminder_type VARCHAR(50) NOT NULL DEFAULT 'notification',
minutes_before INTEGER NOT NULL,
is_sent BOOLEAN NOT NULL DEFAULT FALSE,
sent_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE calendar_shares (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
calendar_id UUID NOT NULL REFERENCES calendars(id) ON DELETE CASCADE,
shared_with_user_id UUID,
shared_with_email VARCHAR(255),
permission VARCHAR(50) NOT NULL DEFAULT 'read',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(calendar_id, shared_with_user_id),
UNIQUE(calendar_id, shared_with_email)
);
CREATE INDEX idx_calendars_org_bot ON calendars(org_id, bot_id);
CREATE INDEX idx_calendars_owner ON calendars(owner_id);
CREATE INDEX idx_calendars_primary ON calendars(owner_id, is_primary) WHERE is_primary = TRUE;
CREATE INDEX idx_calendar_events_org_bot ON calendar_events(org_id, bot_id);
CREATE INDEX idx_calendar_events_calendar ON calendar_events(calendar_id);
CREATE INDEX idx_calendar_events_owner ON calendar_events(owner_id);
CREATE INDEX idx_calendar_events_time_range ON calendar_events(start_time, end_time);
CREATE INDEX idx_calendar_events_status ON calendar_events(status);
CREATE INDEX idx_calendar_events_recurrence ON calendar_events(recurrence_id) WHERE recurrence_id IS NOT NULL;
CREATE INDEX idx_calendar_event_attendees_event ON calendar_event_attendees(event_id);
CREATE INDEX idx_calendar_event_attendees_email ON calendar_event_attendees(email);
CREATE INDEX idx_calendar_event_reminders_event ON calendar_event_reminders(event_id);
CREATE INDEX idx_calendar_event_reminders_pending ON calendar_event_reminders(is_sent, minutes_before) WHERE is_sent = FALSE;
CREATE INDEX idx_calendar_shares_calendar ON calendar_shares(calendar_id);
CREATE INDEX idx_calendar_shares_user ON calendar_shares(shared_with_user_id) WHERE shared_with_user_id IS NOT NULL;
CREATE INDEX idx_calendar_shares_email ON calendar_shares(shared_with_email) WHERE shared_with_email IS NOT NULL;

View file

@ -0,0 +1,43 @@
DROP INDEX IF EXISTS idx_okr_activity_created;
DROP INDEX IF EXISTS idx_okr_activity_user;
DROP INDEX IF EXISTS idx_okr_activity_key_result;
DROP INDEX IF EXISTS idx_okr_activity_objective;
DROP INDEX IF EXISTS idx_okr_activity_org_bot;
DROP INDEX IF EXISTS idx_okr_comments_parent;
DROP INDEX IF EXISTS idx_okr_comments_key_result;
DROP INDEX IF EXISTS idx_okr_comments_objective;
DROP INDEX IF EXISTS idx_okr_comments_org_bot;
DROP INDEX IF EXISTS idx_okr_templates_system;
DROP INDEX IF EXISTS idx_okr_templates_category;
DROP INDEX IF EXISTS idx_okr_templates_org_bot;
DROP INDEX IF EXISTS idx_okr_alignments_parent;
DROP INDEX IF EXISTS idx_okr_alignments_child;
DROP INDEX IF EXISTS idx_okr_alignments_org_bot;
DROP INDEX IF EXISTS idx_okr_checkins_created;
DROP INDEX IF EXISTS idx_okr_checkins_user;
DROP INDEX IF EXISTS idx_okr_checkins_key_result;
DROP INDEX IF EXISTS idx_okr_checkins_org_bot;
DROP INDEX IF EXISTS idx_okr_key_results_due_date;
DROP INDEX IF EXISTS idx_okr_key_results_status;
DROP INDEX IF EXISTS idx_okr_key_results_owner;
DROP INDEX IF EXISTS idx_okr_key_results_objective;
DROP INDEX IF EXISTS idx_okr_key_results_org_bot;
DROP INDEX IF EXISTS idx_okr_objectives_status;
DROP INDEX IF EXISTS idx_okr_objectives_period;
DROP INDEX IF EXISTS idx_okr_objectives_parent;
DROP INDEX IF EXISTS idx_okr_objectives_owner;
DROP INDEX IF EXISTS idx_okr_objectives_org_bot;
DROP TABLE IF EXISTS okr_activity_log;
DROP TABLE IF EXISTS okr_comments;
DROP TABLE IF EXISTS okr_templates;
DROP TABLE IF EXISTS okr_alignments;
DROP TABLE IF EXISTS okr_checkins;
DROP TABLE IF EXISTS okr_key_results;
DROP TABLE IF EXISTS okr_objectives;

View file

@ -0,0 +1,150 @@
CREATE TABLE okr_objectives (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
owner_id UUID NOT NULL,
parent_id UUID REFERENCES okr_objectives(id) ON DELETE SET NULL,
title VARCHAR(500) NOT NULL,
description TEXT,
period VARCHAR(50) NOT NULL,
period_start DATE,
period_end DATE,
status VARCHAR(50) NOT NULL DEFAULT 'draft',
progress DECIMAL(5,2) NOT NULL DEFAULT 0,
visibility VARCHAR(50) NOT NULL DEFAULT 'team',
weight DECIMAL(3,2) NOT NULL DEFAULT 1.0,
tags TEXT[] NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE okr_key_results (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
objective_id UUID NOT NULL REFERENCES okr_objectives(id) ON DELETE CASCADE,
owner_id UUID NOT NULL,
title VARCHAR(500) NOT NULL,
description TEXT,
metric_type VARCHAR(50) NOT NULL,
start_value DECIMAL(15,2) NOT NULL DEFAULT 0,
target_value DECIMAL(15,2) NOT NULL,
current_value DECIMAL(15,2) NOT NULL DEFAULT 0,
unit VARCHAR(50),
weight DECIMAL(3,2) NOT NULL DEFAULT 1.0,
status VARCHAR(50) NOT NULL DEFAULT 'not_started',
due_date DATE,
scoring_type VARCHAR(50) NOT NULL DEFAULT 'linear',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE okr_checkins (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
key_result_id UUID NOT NULL REFERENCES okr_key_results(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
previous_value DECIMAL(15,2),
new_value DECIMAL(15,2) NOT NULL,
note TEXT,
confidence VARCHAR(50),
blockers TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE okr_alignments (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
child_objective_id UUID NOT NULL REFERENCES okr_objectives(id) ON DELETE CASCADE,
parent_objective_id UUID NOT NULL REFERENCES okr_objectives(id) ON DELETE CASCADE,
alignment_type VARCHAR(50) NOT NULL DEFAULT 'supports',
weight DECIMAL(3,2) NOT NULL DEFAULT 1.0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(child_objective_id, parent_objective_id)
);
CREATE TABLE okr_templates (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
category VARCHAR(100),
objective_template JSONB NOT NULL DEFAULT '{}',
key_result_templates JSONB NOT NULL DEFAULT '[]',
is_system BOOLEAN NOT NULL DEFAULT FALSE,
usage_count INTEGER NOT NULL DEFAULT 0,
created_by UUID,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE okr_comments (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
objective_id UUID REFERENCES okr_objectives(id) ON DELETE CASCADE,
key_result_id UUID REFERENCES okr_key_results(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
content TEXT NOT NULL,
parent_comment_id UUID REFERENCES okr_comments(id) ON DELETE CASCADE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
CONSTRAINT okr_comments_target_check CHECK (
(objective_id IS NOT NULL AND key_result_id IS NULL) OR
(objective_id IS NULL AND key_result_id IS NOT NULL)
)
);
CREATE TABLE okr_activity_log (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
objective_id UUID REFERENCES okr_objectives(id) ON DELETE CASCADE,
key_result_id UUID REFERENCES okr_key_results(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
activity_type VARCHAR(50) NOT NULL,
description TEXT,
old_value TEXT,
new_value TEXT,
metadata JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_okr_objectives_org_bot ON okr_objectives(org_id, bot_id);
CREATE INDEX idx_okr_objectives_owner ON okr_objectives(owner_id);
CREATE INDEX idx_okr_objectives_parent ON okr_objectives(parent_id) WHERE parent_id IS NOT NULL;
CREATE INDEX idx_okr_objectives_period ON okr_objectives(period, period_start, period_end);
CREATE INDEX idx_okr_objectives_status ON okr_objectives(status);
CREATE INDEX idx_okr_key_results_org_bot ON okr_key_results(org_id, bot_id);
CREATE INDEX idx_okr_key_results_objective ON okr_key_results(objective_id);
CREATE INDEX idx_okr_key_results_owner ON okr_key_results(owner_id);
CREATE INDEX idx_okr_key_results_status ON okr_key_results(status);
CREATE INDEX idx_okr_key_results_due_date ON okr_key_results(due_date) WHERE due_date IS NOT NULL;
CREATE INDEX idx_okr_checkins_org_bot ON okr_checkins(org_id, bot_id);
CREATE INDEX idx_okr_checkins_key_result ON okr_checkins(key_result_id);
CREATE INDEX idx_okr_checkins_user ON okr_checkins(user_id);
CREATE INDEX idx_okr_checkins_created ON okr_checkins(created_at DESC);
CREATE INDEX idx_okr_alignments_org_bot ON okr_alignments(org_id, bot_id);
CREATE INDEX idx_okr_alignments_child ON okr_alignments(child_objective_id);
CREATE INDEX idx_okr_alignments_parent ON okr_alignments(parent_objective_id);
CREATE INDEX idx_okr_templates_org_bot ON okr_templates(org_id, bot_id);
CREATE INDEX idx_okr_templates_category ON okr_templates(category);
CREATE INDEX idx_okr_templates_system ON okr_templates(is_system) WHERE is_system = TRUE;
CREATE INDEX idx_okr_comments_org_bot ON okr_comments(org_id, bot_id);
CREATE INDEX idx_okr_comments_objective ON okr_comments(objective_id) WHERE objective_id IS NOT NULL;
CREATE INDEX idx_okr_comments_key_result ON okr_comments(key_result_id) WHERE key_result_id IS NOT NULL;
CREATE INDEX idx_okr_comments_parent ON okr_comments(parent_comment_id) WHERE parent_comment_id IS NOT NULL;
CREATE INDEX idx_okr_activity_org_bot ON okr_activity_log(org_id, bot_id);
CREATE INDEX idx_okr_activity_objective ON okr_activity_log(objective_id) WHERE objective_id IS NOT NULL;
CREATE INDEX idx_okr_activity_key_result ON okr_activity_log(key_result_id) WHERE key_result_id IS NOT NULL;
CREATE INDEX idx_okr_activity_user ON okr_activity_log(user_id);
CREATE INDEX idx_okr_activity_created ON okr_activity_log(created_at DESC);

View file

@ -0,0 +1,25 @@
DROP INDEX IF EXISTS idx_canvas_comments_unresolved;
DROP INDEX IF EXISTS idx_canvas_comments_parent;
DROP INDEX IF EXISTS idx_canvas_comments_element;
DROP INDEX IF EXISTS idx_canvas_comments_canvas;
DROP INDEX IF EXISTS idx_canvas_versions_number;
DROP INDEX IF EXISTS idx_canvas_versions_canvas;
DROP INDEX IF EXISTS idx_canvas_collaborators_user;
DROP INDEX IF EXISTS idx_canvas_collaborators_canvas;
DROP INDEX IF EXISTS idx_canvas_elements_z_index;
DROP INDEX IF EXISTS idx_canvas_elements_type;
DROP INDEX IF EXISTS idx_canvas_elements_canvas;
DROP INDEX IF EXISTS idx_canvases_template;
DROP INDEX IF EXISTS idx_canvases_public;
DROP INDEX IF EXISTS idx_canvases_created_by;
DROP INDEX IF EXISTS idx_canvases_org_bot;
DROP TABLE IF EXISTS canvas_comments;
DROP TABLE IF EXISTS canvas_versions;
DROP TABLE IF EXISTS canvas_collaborators;
DROP TABLE IF EXISTS canvas_elements;
DROP TABLE IF EXISTS canvases;

View file

@ -0,0 +1,90 @@
CREATE TABLE canvases (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
width INTEGER NOT NULL DEFAULT 1920,
height INTEGER NOT NULL DEFAULT 1080,
background_color VARCHAR(20) DEFAULT '#ffffff',
thumbnail_url TEXT,
is_public BOOLEAN NOT NULL DEFAULT FALSE,
is_template BOOLEAN NOT NULL DEFAULT FALSE,
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE canvas_elements (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
canvas_id UUID NOT NULL REFERENCES canvases(id) ON DELETE CASCADE,
element_type VARCHAR(50) NOT NULL,
x DOUBLE PRECISION NOT NULL DEFAULT 0,
y DOUBLE PRECISION NOT NULL DEFAULT 0,
width DOUBLE PRECISION NOT NULL DEFAULT 100,
height DOUBLE PRECISION NOT NULL DEFAULT 100,
rotation DOUBLE PRECISION NOT NULL DEFAULT 0,
z_index INTEGER NOT NULL DEFAULT 0,
locked BOOLEAN NOT NULL DEFAULT FALSE,
properties JSONB NOT NULL DEFAULT '{}',
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE canvas_collaborators (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
canvas_id UUID NOT NULL REFERENCES canvases(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
permission VARCHAR(50) NOT NULL DEFAULT 'view',
added_by UUID,
added_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(canvas_id, user_id)
);
CREATE TABLE canvas_versions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
canvas_id UUID NOT NULL REFERENCES canvases(id) ON DELETE CASCADE,
version_number INTEGER NOT NULL,
name VARCHAR(255),
elements_snapshot JSONB NOT NULL DEFAULT '[]',
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(canvas_id, version_number)
);
CREATE TABLE canvas_comments (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
canvas_id UUID NOT NULL REFERENCES canvases(id) ON DELETE CASCADE,
element_id UUID REFERENCES canvas_elements(id) ON DELETE CASCADE,
parent_comment_id UUID REFERENCES canvas_comments(id) ON DELETE CASCADE,
author_id UUID NOT NULL,
content TEXT NOT NULL,
x_position DOUBLE PRECISION,
y_position DOUBLE PRECISION,
resolved BOOLEAN NOT NULL DEFAULT FALSE,
resolved_by UUID,
resolved_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_canvases_org_bot ON canvases(org_id, bot_id);
CREATE INDEX idx_canvases_created_by ON canvases(created_by);
CREATE INDEX idx_canvases_public ON canvases(is_public) WHERE is_public = TRUE;
CREATE INDEX idx_canvases_template ON canvases(is_template) WHERE is_template = TRUE;
CREATE INDEX idx_canvas_elements_canvas ON canvas_elements(canvas_id);
CREATE INDEX idx_canvas_elements_type ON canvas_elements(element_type);
CREATE INDEX idx_canvas_elements_z_index ON canvas_elements(canvas_id, z_index);
CREATE INDEX idx_canvas_collaborators_canvas ON canvas_collaborators(canvas_id);
CREATE INDEX idx_canvas_collaborators_user ON canvas_collaborators(user_id);
CREATE INDEX idx_canvas_versions_canvas ON canvas_versions(canvas_id);
CREATE INDEX idx_canvas_versions_number ON canvas_versions(canvas_id, version_number DESC);
CREATE INDEX idx_canvas_comments_canvas ON canvas_comments(canvas_id);
CREATE INDEX idx_canvas_comments_element ON canvas_comments(element_id) WHERE element_id IS NOT NULL;
CREATE INDEX idx_canvas_comments_parent ON canvas_comments(parent_comment_id) WHERE parent_comment_id IS NOT NULL;
CREATE INDEX idx_canvas_comments_unresolved ON canvas_comments(canvas_id, resolved) WHERE resolved = FALSE;

View file

@ -0,0 +1,39 @@
DROP INDEX IF EXISTS idx_workspace_templates_system;
DROP INDEX IF EXISTS idx_workspace_templates_category;
DROP INDEX IF EXISTS idx_workspace_templates_org_bot;
DROP INDEX IF EXISTS idx_workspace_comment_reactions_comment;
DROP INDEX IF EXISTS idx_workspace_comments_unresolved;
DROP INDEX IF EXISTS idx_workspace_comments_parent;
DROP INDEX IF EXISTS idx_workspace_comments_block;
DROP INDEX IF EXISTS idx_workspace_comments_page;
DROP INDEX IF EXISTS idx_workspace_comments_workspace;
DROP INDEX IF EXISTS idx_workspace_page_permissions_user;
DROP INDEX IF EXISTS idx_workspace_page_permissions_page;
DROP INDEX IF EXISTS idx_workspace_page_versions_number;
DROP INDEX IF EXISTS idx_workspace_page_versions_page;
DROP INDEX IF EXISTS idx_workspace_pages_position;
DROP INDEX IF EXISTS idx_workspace_pages_public;
DROP INDEX IF EXISTS idx_workspace_pages_template;
DROP INDEX IF EXISTS idx_workspace_pages_parent;
DROP INDEX IF EXISTS idx_workspace_pages_workspace;
DROP INDEX IF EXISTS idx_workspace_members_role;
DROP INDEX IF EXISTS idx_workspace_members_user;
DROP INDEX IF EXISTS idx_workspace_members_workspace;
DROP INDEX IF EXISTS idx_workspaces_created_by;
DROP INDEX IF EXISTS idx_workspaces_org_bot;
DROP TABLE IF EXISTS workspace_templates;
DROP TABLE IF EXISTS workspace_comment_reactions;
DROP TABLE IF EXISTS workspace_comments;
DROP TABLE IF EXISTS workspace_page_permissions;
DROP TABLE IF EXISTS workspace_page_versions;
DROP TABLE IF EXISTS workspace_pages;
DROP TABLE IF EXISTS workspace_members;
DROP TABLE IF EXISTS workspaces;

View file

@ -0,0 +1,141 @@
CREATE TABLE workspaces (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
icon_type VARCHAR(20) DEFAULT 'emoji',
icon_value VARCHAR(100),
cover_image TEXT,
settings JSONB NOT NULL DEFAULT '{}',
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE workspace_members (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
workspace_id UUID NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
role VARCHAR(50) NOT NULL DEFAULT 'member',
invited_by UUID,
joined_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(workspace_id, user_id)
);
CREATE TABLE workspace_pages (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
workspace_id UUID NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
parent_id UUID REFERENCES workspace_pages(id) ON DELETE CASCADE,
title VARCHAR(500) NOT NULL,
icon_type VARCHAR(20),
icon_value VARCHAR(100),
cover_image TEXT,
content JSONB NOT NULL DEFAULT '[]',
properties JSONB NOT NULL DEFAULT '{}',
is_template BOOLEAN NOT NULL DEFAULT FALSE,
template_id UUID REFERENCES workspace_pages(id) ON DELETE SET NULL,
is_public BOOLEAN NOT NULL DEFAULT FALSE,
public_edit BOOLEAN NOT NULL DEFAULT FALSE,
position INTEGER NOT NULL DEFAULT 0,
created_by UUID NOT NULL,
last_edited_by UUID,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE workspace_page_versions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
page_id UUID NOT NULL REFERENCES workspace_pages(id) ON DELETE CASCADE,
version_number INTEGER NOT NULL,
title VARCHAR(500) NOT NULL,
content JSONB NOT NULL DEFAULT '[]',
change_summary TEXT,
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(page_id, version_number)
);
CREATE TABLE workspace_page_permissions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
page_id UUID NOT NULL REFERENCES workspace_pages(id) ON DELETE CASCADE,
user_id UUID,
role VARCHAR(50),
permission VARCHAR(50) NOT NULL DEFAULT 'view',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(page_id, user_id),
UNIQUE(page_id, role)
);
CREATE TABLE workspace_comments (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
workspace_id UUID NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
page_id UUID NOT NULL REFERENCES workspace_pages(id) ON DELETE CASCADE,
block_id UUID,
parent_comment_id UUID REFERENCES workspace_comments(id) ON DELETE CASCADE,
author_id UUID NOT NULL,
content TEXT NOT NULL,
resolved BOOLEAN NOT NULL DEFAULT FALSE,
resolved_by UUID,
resolved_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE workspace_comment_reactions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
comment_id UUID NOT NULL REFERENCES workspace_comments(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
emoji VARCHAR(20) NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(comment_id, user_id, emoji)
);
CREATE TABLE workspace_templates (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
category VARCHAR(100),
icon_type VARCHAR(20),
icon_value VARCHAR(100),
cover_image TEXT,
content JSONB NOT NULL DEFAULT '[]',
is_system BOOLEAN NOT NULL DEFAULT FALSE,
usage_count INTEGER NOT NULL DEFAULT 0,
created_by UUID,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_workspaces_org_bot ON workspaces(org_id, bot_id);
CREATE INDEX idx_workspaces_created_by ON workspaces(created_by);
CREATE INDEX idx_workspace_members_workspace ON workspace_members(workspace_id);
CREATE INDEX idx_workspace_members_user ON workspace_members(user_id);
CREATE INDEX idx_workspace_members_role ON workspace_members(role);
CREATE INDEX idx_workspace_pages_workspace ON workspace_pages(workspace_id);
CREATE INDEX idx_workspace_pages_parent ON workspace_pages(parent_id) WHERE parent_id IS NOT NULL;
CREATE INDEX idx_workspace_pages_template ON workspace_pages(is_template) WHERE is_template = TRUE;
CREATE INDEX idx_workspace_pages_public ON workspace_pages(is_public) WHERE is_public = TRUE;
CREATE INDEX idx_workspace_pages_position ON workspace_pages(workspace_id, parent_id, position);
CREATE INDEX idx_workspace_page_versions_page ON workspace_page_versions(page_id);
CREATE INDEX idx_workspace_page_versions_number ON workspace_page_versions(page_id, version_number DESC);
CREATE INDEX idx_workspace_page_permissions_page ON workspace_page_permissions(page_id);
CREATE INDEX idx_workspace_page_permissions_user ON workspace_page_permissions(user_id) WHERE user_id IS NOT NULL;
CREATE INDEX idx_workspace_comments_workspace ON workspace_comments(workspace_id);
CREATE INDEX idx_workspace_comments_page ON workspace_comments(page_id);
CREATE INDEX idx_workspace_comments_block ON workspace_comments(block_id) WHERE block_id IS NOT NULL;
CREATE INDEX idx_workspace_comments_parent ON workspace_comments(parent_comment_id) WHERE parent_comment_id IS NOT NULL;
CREATE INDEX idx_workspace_comments_unresolved ON workspace_comments(page_id, resolved) WHERE resolved = FALSE;
CREATE INDEX idx_workspace_comment_reactions_comment ON workspace_comment_reactions(comment_id);
CREATE INDEX idx_workspace_templates_org_bot ON workspace_templates(org_id, bot_id);
CREATE INDEX idx_workspace_templates_category ON workspace_templates(category);
CREATE INDEX idx_workspace_templates_system ON workspace_templates(is_system) WHERE is_system = TRUE;

View file

@ -0,0 +1,63 @@
DROP INDEX IF EXISTS idx_social_hashtags_popular;
DROP INDEX IF EXISTS idx_social_hashtags_tag;
DROP INDEX IF EXISTS idx_social_hashtags_org_bot;
DROP INDEX IF EXISTS idx_social_bookmarks_post;
DROP INDEX IF EXISTS idx_social_bookmarks_user;
DROP INDEX IF EXISTS idx_social_praises_created;
DROP INDEX IF EXISTS idx_social_praises_to;
DROP INDEX IF EXISTS idx_social_praises_from;
DROP INDEX IF EXISTS idx_social_praises_org_bot;
DROP INDEX IF EXISTS idx_social_announcements_pinned;
DROP INDEX IF EXISTS idx_social_announcements_priority;
DROP INDEX IF EXISTS idx_social_announcements_active;
DROP INDEX IF EXISTS idx_social_announcements_org_bot;
DROP INDEX IF EXISTS idx_social_poll_votes_user;
DROP INDEX IF EXISTS idx_social_poll_votes_poll;
DROP INDEX IF EXISTS idx_social_poll_options_poll;
DROP INDEX IF EXISTS idx_social_polls_post;
DROP INDEX IF EXISTS idx_social_reactions_user;
DROP INDEX IF EXISTS idx_social_reactions_comment;
DROP INDEX IF EXISTS idx_social_reactions_post;
DROP INDEX IF EXISTS idx_social_comments_created;
DROP INDEX IF EXISTS idx_social_comments_author;
DROP INDEX IF EXISTS idx_social_comments_parent;
DROP INDEX IF EXISTS idx_social_comments_post;
DROP INDEX IF EXISTS idx_social_posts_hashtags;
DROP INDEX IF EXISTS idx_social_posts_created;
DROP INDEX IF EXISTS idx_social_posts_announcement;
DROP INDEX IF EXISTS idx_social_posts_pinned;
DROP INDEX IF EXISTS idx_social_posts_visibility;
DROP INDEX IF EXISTS idx_social_posts_parent;
DROP INDEX IF EXISTS idx_social_posts_community;
DROP INDEX IF EXISTS idx_social_posts_author;
DROP INDEX IF EXISTS idx_social_posts_org_bot;
DROP INDEX IF EXISTS idx_social_community_members_role;
DROP INDEX IF EXISTS idx_social_community_members_user;
DROP INDEX IF EXISTS idx_social_community_members_community;
DROP INDEX IF EXISTS idx_social_communities_owner;
DROP INDEX IF EXISTS idx_social_communities_featured;
DROP INDEX IF EXISTS idx_social_communities_visibility;
DROP INDEX IF EXISTS idx_social_communities_slug;
DROP INDEX IF EXISTS idx_social_communities_org_bot;
DROP TABLE IF EXISTS social_hashtags;
DROP TABLE IF EXISTS social_bookmarks;
DROP TABLE IF EXISTS social_praises;
DROP TABLE IF EXISTS social_announcements;
DROP TABLE IF EXISTS social_poll_votes;
DROP TABLE IF EXISTS social_poll_options;
DROP TABLE IF EXISTS social_polls;
DROP TABLE IF EXISTS social_reactions;
DROP TABLE IF EXISTS social_comments;
DROP TABLE IF EXISTS social_posts;
DROP TABLE IF EXISTS social_community_members;
DROP TABLE IF EXISTS social_communities;

View file

@ -0,0 +1,219 @@
CREATE TABLE social_communities (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
slug VARCHAR(255) NOT NULL,
description TEXT,
cover_image TEXT,
icon TEXT,
visibility VARCHAR(50) NOT NULL DEFAULT 'public',
join_policy VARCHAR(50) NOT NULL DEFAULT 'open',
owner_id UUID NOT NULL,
member_count INTEGER NOT NULL DEFAULT 0,
post_count INTEGER NOT NULL DEFAULT 0,
is_official BOOLEAN NOT NULL DEFAULT FALSE,
is_featured BOOLEAN NOT NULL DEFAULT FALSE,
settings JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
archived_at TIMESTAMPTZ
);
CREATE TABLE social_community_members (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
community_id UUID NOT NULL REFERENCES social_communities(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
role VARCHAR(50) NOT NULL DEFAULT 'member',
notifications_enabled BOOLEAN NOT NULL DEFAULT TRUE,
joined_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
last_seen_at TIMESTAMPTZ,
UNIQUE(community_id, user_id)
);
CREATE TABLE social_posts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
author_id UUID NOT NULL,
community_id UUID REFERENCES social_communities(id) ON DELETE CASCADE,
parent_id UUID REFERENCES social_posts(id) ON DELETE CASCADE,
content TEXT NOT NULL,
content_type VARCHAR(50) NOT NULL DEFAULT 'text',
attachments JSONB NOT NULL DEFAULT '[]',
mentions JSONB NOT NULL DEFAULT '[]',
hashtags TEXT[] NOT NULL DEFAULT '{}',
visibility VARCHAR(50) NOT NULL DEFAULT 'public',
is_announcement BOOLEAN NOT NULL DEFAULT FALSE,
is_pinned BOOLEAN NOT NULL DEFAULT FALSE,
poll_id UUID,
reaction_counts JSONB NOT NULL DEFAULT '{}',
comment_count INTEGER NOT NULL DEFAULT 0,
share_count INTEGER NOT NULL DEFAULT 0,
view_count INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
edited_at TIMESTAMPTZ,
deleted_at TIMESTAMPTZ
);
CREATE TABLE social_comments (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
post_id UUID NOT NULL REFERENCES social_posts(id) ON DELETE CASCADE,
parent_comment_id UUID REFERENCES social_comments(id) ON DELETE CASCADE,
author_id UUID NOT NULL,
content TEXT NOT NULL,
mentions JSONB NOT NULL DEFAULT '[]',
reaction_counts JSONB NOT NULL DEFAULT '{}',
reply_count INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
edited_at TIMESTAMPTZ,
deleted_at TIMESTAMPTZ
);
CREATE TABLE social_reactions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
post_id UUID REFERENCES social_posts(id) ON DELETE CASCADE,
comment_id UUID REFERENCES social_comments(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
reaction_type VARCHAR(50) NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
CONSTRAINT social_reactions_target_check CHECK (
(post_id IS NOT NULL AND comment_id IS NULL) OR
(post_id IS NULL AND comment_id IS NOT NULL)
),
UNIQUE(post_id, user_id, reaction_type),
UNIQUE(comment_id, user_id, reaction_type)
);
CREATE TABLE social_polls (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
post_id UUID NOT NULL REFERENCES social_posts(id) ON DELETE CASCADE,
question TEXT NOT NULL,
allow_multiple BOOLEAN NOT NULL DEFAULT FALSE,
allow_add_options BOOLEAN NOT NULL DEFAULT FALSE,
anonymous BOOLEAN NOT NULL DEFAULT FALSE,
total_votes INTEGER NOT NULL DEFAULT 0,
ends_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE social_poll_options (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
poll_id UUID NOT NULL REFERENCES social_polls(id) ON DELETE CASCADE,
text VARCHAR(500) NOT NULL,
vote_count INTEGER NOT NULL DEFAULT 0,
position INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE social_poll_votes (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
poll_id UUID NOT NULL REFERENCES social_polls(id) ON DELETE CASCADE,
option_id UUID NOT NULL REFERENCES social_poll_options(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(poll_id, option_id, user_id)
);
CREATE TABLE social_announcements (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
author_id UUID NOT NULL,
title VARCHAR(500) NOT NULL,
content TEXT NOT NULL,
priority VARCHAR(50) NOT NULL DEFAULT 'normal',
target_audience JSONB NOT NULL DEFAULT '{}',
is_pinned BOOLEAN NOT NULL DEFAULT FALSE,
requires_acknowledgment BOOLEAN NOT NULL DEFAULT FALSE,
acknowledged_by JSONB NOT NULL DEFAULT '[]',
starts_at TIMESTAMPTZ,
ends_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE social_praises (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
from_user_id UUID NOT NULL,
to_user_id UUID NOT NULL,
badge_type VARCHAR(50) NOT NULL,
message TEXT,
is_public BOOLEAN NOT NULL DEFAULT TRUE,
post_id UUID REFERENCES social_posts(id) ON DELETE SET NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE social_bookmarks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID NOT NULL,
post_id UUID NOT NULL REFERENCES social_posts(id) ON DELETE CASCADE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(user_id, post_id)
);
CREATE TABLE social_hashtags (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
tag VARCHAR(100) NOT NULL,
post_count INTEGER NOT NULL DEFAULT 0,
last_used_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(org_id, bot_id, tag)
);
CREATE INDEX idx_social_communities_org_bot ON social_communities(org_id, bot_id);
CREATE INDEX idx_social_communities_slug ON social_communities(slug);
CREATE INDEX idx_social_communities_visibility ON social_communities(visibility);
CREATE INDEX idx_social_communities_featured ON social_communities(is_featured) WHERE is_featured = TRUE;
CREATE INDEX idx_social_communities_owner ON social_communities(owner_id);
CREATE INDEX idx_social_community_members_community ON social_community_members(community_id);
CREATE INDEX idx_social_community_members_user ON social_community_members(user_id);
CREATE INDEX idx_social_community_members_role ON social_community_members(community_id, role);
CREATE INDEX idx_social_posts_org_bot ON social_posts(org_id, bot_id);
CREATE INDEX idx_social_posts_author ON social_posts(author_id);
CREATE INDEX idx_social_posts_community ON social_posts(community_id) WHERE community_id IS NOT NULL;
CREATE INDEX idx_social_posts_parent ON social_posts(parent_id) WHERE parent_id IS NOT NULL;
CREATE INDEX idx_social_posts_visibility ON social_posts(visibility);
CREATE INDEX idx_social_posts_pinned ON social_posts(community_id, is_pinned) WHERE is_pinned = TRUE;
CREATE INDEX idx_social_posts_announcement ON social_posts(is_announcement) WHERE is_announcement = TRUE;
CREATE INDEX idx_social_posts_created ON social_posts(created_at DESC);
CREATE INDEX idx_social_posts_hashtags ON social_posts USING GIN(hashtags);
CREATE INDEX idx_social_comments_post ON social_comments(post_id);
CREATE INDEX idx_social_comments_parent ON social_comments(parent_comment_id) WHERE parent_comment_id IS NOT NULL;
CREATE INDEX idx_social_comments_author ON social_comments(author_id);
CREATE INDEX idx_social_comments_created ON social_comments(created_at DESC);
CREATE INDEX idx_social_reactions_post ON social_reactions(post_id) WHERE post_id IS NOT NULL;
CREATE INDEX idx_social_reactions_comment ON social_reactions(comment_id) WHERE comment_id IS NOT NULL;
CREATE INDEX idx_social_reactions_user ON social_reactions(user_id);
CREATE INDEX idx_social_polls_post ON social_polls(post_id);
CREATE INDEX idx_social_poll_options_poll ON social_poll_options(poll_id);
CREATE INDEX idx_social_poll_votes_poll ON social_poll_votes(poll_id);
CREATE INDEX idx_social_poll_votes_user ON social_poll_votes(user_id);
CREATE INDEX idx_social_announcements_org_bot ON social_announcements(org_id, bot_id);
CREATE INDEX idx_social_announcements_active ON social_announcements(starts_at, ends_at);
CREATE INDEX idx_social_announcements_priority ON social_announcements(priority);
CREATE INDEX idx_social_announcements_pinned ON social_announcements(is_pinned) WHERE is_pinned = TRUE;
CREATE INDEX idx_social_praises_org_bot ON social_praises(org_id, bot_id);
CREATE INDEX idx_social_praises_from ON social_praises(from_user_id);
CREATE INDEX idx_social_praises_to ON social_praises(to_user_id);
CREATE INDEX idx_social_praises_created ON social_praises(created_at DESC);
CREATE INDEX idx_social_bookmarks_user ON social_bookmarks(user_id);
CREATE INDEX idx_social_bookmarks_post ON social_bookmarks(post_id);
CREATE INDEX idx_social_hashtags_org_bot ON social_hashtags(org_id, bot_id);
CREATE INDEX idx_social_hashtags_tag ON social_hashtags(tag);
CREATE INDEX idx_social_hashtags_popular ON social_hashtags(org_id, bot_id, post_count DESC);

View file

@ -0,0 +1,34 @@
DROP INDEX IF EXISTS idx_research_exports_status;
DROP INDEX IF EXISTS idx_research_exports_project;
DROP INDEX IF EXISTS idx_research_collaborators_user;
DROP INDEX IF EXISTS idx_research_collaborators_project;
DROP INDEX IF EXISTS idx_research_citations_style;
DROP INDEX IF EXISTS idx_research_citations_source;
DROP INDEX IF EXISTS idx_research_findings_status;
DROP INDEX IF EXISTS idx_research_findings_type;
DROP INDEX IF EXISTS idx_research_findings_project;
DROP INDEX IF EXISTS idx_research_notes_tags;
DROP INDEX IF EXISTS idx_research_notes_type;
DROP INDEX IF EXISTS idx_research_notes_source;
DROP INDEX IF EXISTS idx_research_notes_project;
DROP INDEX IF EXISTS idx_research_sources_verified;
DROP INDEX IF EXISTS idx_research_sources_type;
DROP INDEX IF EXISTS idx_research_sources_project;
DROP INDEX IF EXISTS idx_research_projects_tags;
DROP INDEX IF EXISTS idx_research_projects_status;
DROP INDEX IF EXISTS idx_research_projects_owner;
DROP INDEX IF EXISTS idx_research_projects_org_bot;
DROP TABLE IF EXISTS research_exports;
DROP TABLE IF EXISTS research_collaborators;
DROP TABLE IF EXISTS research_citations;
DROP TABLE IF EXISTS research_findings;
DROP TABLE IF EXISTS research_notes;
DROP TABLE IF EXISTS research_sources;
DROP TABLE IF EXISTS research_projects;

View file

@ -0,0 +1,118 @@
CREATE TABLE research_projects (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
status VARCHAR(50) NOT NULL DEFAULT 'active',
owner_id UUID NOT NULL,
tags TEXT[] NOT NULL DEFAULT '{}',
settings JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE research_sources (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID NOT NULL REFERENCES research_projects(id) ON DELETE CASCADE,
source_type VARCHAR(50) NOT NULL,
name VARCHAR(500) NOT NULL,
url TEXT,
content TEXT,
summary TEXT,
metadata JSONB NOT NULL DEFAULT '{}',
credibility_score INTEGER,
is_verified BOOLEAN NOT NULL DEFAULT FALSE,
added_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE research_notes (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID NOT NULL REFERENCES research_projects(id) ON DELETE CASCADE,
source_id UUID REFERENCES research_sources(id) ON DELETE SET NULL,
title VARCHAR(500),
content TEXT NOT NULL,
note_type VARCHAR(50) NOT NULL DEFAULT 'general',
tags TEXT[] NOT NULL DEFAULT '{}',
highlight_text TEXT,
highlight_position JSONB,
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE research_findings (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID NOT NULL REFERENCES research_projects(id) ON DELETE CASCADE,
title VARCHAR(500) NOT NULL,
content TEXT NOT NULL,
finding_type VARCHAR(50) NOT NULL DEFAULT 'insight',
confidence_level VARCHAR(50),
supporting_sources JSONB NOT NULL DEFAULT '[]',
related_findings JSONB NOT NULL DEFAULT '[]',
status VARCHAR(50) NOT NULL DEFAULT 'draft',
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE research_citations (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
source_id UUID NOT NULL REFERENCES research_sources(id) ON DELETE CASCADE,
citation_style VARCHAR(50) NOT NULL DEFAULT 'apa',
formatted_citation TEXT NOT NULL,
bibtex TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE research_collaborators (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID NOT NULL REFERENCES research_projects(id) ON DELETE CASCADE,
user_id UUID NOT NULL,
role VARCHAR(50) NOT NULL DEFAULT 'viewer',
invited_by UUID,
joined_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(project_id, user_id)
);
CREATE TABLE research_exports (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID NOT NULL REFERENCES research_projects(id) ON DELETE CASCADE,
export_type VARCHAR(50) NOT NULL,
format VARCHAR(50) NOT NULL,
file_url TEXT,
file_size INTEGER,
status VARCHAR(50) NOT NULL DEFAULT 'pending',
created_by UUID NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
completed_at TIMESTAMPTZ
);
CREATE INDEX idx_research_projects_org_bot ON research_projects(org_id, bot_id);
CREATE INDEX idx_research_projects_owner ON research_projects(owner_id);
CREATE INDEX idx_research_projects_status ON research_projects(status);
CREATE INDEX idx_research_projects_tags ON research_projects USING GIN(tags);
CREATE INDEX idx_research_sources_project ON research_sources(project_id);
CREATE INDEX idx_research_sources_type ON research_sources(source_type);
CREATE INDEX idx_research_sources_verified ON research_sources(is_verified) WHERE is_verified = TRUE;
CREATE INDEX idx_research_notes_project ON research_notes(project_id);
CREATE INDEX idx_research_notes_source ON research_notes(source_id) WHERE source_id IS NOT NULL;
CREATE INDEX idx_research_notes_type ON research_notes(note_type);
CREATE INDEX idx_research_notes_tags ON research_notes USING GIN(tags);
CREATE INDEX idx_research_findings_project ON research_findings(project_id);
CREATE INDEX idx_research_findings_type ON research_findings(finding_type);
CREATE INDEX idx_research_findings_status ON research_findings(status);
CREATE INDEX idx_research_citations_source ON research_citations(source_id);
CREATE INDEX idx_research_citations_style ON research_citations(citation_style);
CREATE INDEX idx_research_collaborators_project ON research_collaborators(project_id);
CREATE INDEX idx_research_collaborators_user ON research_collaborators(user_id);
CREATE INDEX idx_research_exports_project ON research_exports(project_id);
CREATE INDEX idx_research_exports_status ON research_exports(status);

View file

@ -0,0 +1,13 @@
DROP INDEX IF EXISTS idx_dashboard_filters_dashboard;
DROP INDEX IF EXISTS idx_dashboard_data_sources_dashboard;
DROP INDEX IF EXISTS idx_dashboard_data_sources_org_bot;
DROP INDEX IF EXISTS idx_dashboard_widgets_dashboard;
DROP INDEX IF EXISTS idx_dashboards_template;
DROP INDEX IF EXISTS idx_dashboards_public;
DROP INDEX IF EXISTS idx_dashboards_owner;
DROP INDEX IF EXISTS idx_dashboards_org_bot;
DROP TABLE IF EXISTS dashboard_filters;
DROP TABLE IF EXISTS dashboard_widgets;
DROP TABLE IF EXISTS dashboard_data_sources;
DROP TABLE IF EXISTS dashboards;

View file

@ -0,0 +1,100 @@
CREATE TABLE dashboards (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
owner_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
layout JSONB NOT NULL DEFAULT '{"columns": 12, "row_height": 80, "gap": 16}',
refresh_interval INTEGER,
is_public BOOLEAN NOT NULL DEFAULT FALSE,
is_template BOOLEAN NOT NULL DEFAULT FALSE,
tags TEXT[] NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE dashboard_widgets (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
dashboard_id UUID NOT NULL REFERENCES dashboards(id) ON DELETE CASCADE,
widget_type VARCHAR(50) NOT NULL,
title VARCHAR(255) NOT NULL,
position_x INTEGER NOT NULL DEFAULT 0,
position_y INTEGER NOT NULL DEFAULT 0,
width INTEGER NOT NULL DEFAULT 4,
height INTEGER NOT NULL DEFAULT 3,
config JSONB NOT NULL DEFAULT '{}',
data_query JSONB,
style JSONB NOT NULL DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE dashboard_data_sources (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
name VARCHAR(255) NOT NULL,
description TEXT,
source_type VARCHAR(50) NOT NULL,
connection JSONB NOT NULL DEFAULT '{}',
schema_definition JSONB NOT NULL DEFAULT '{}',
refresh_schedule VARCHAR(100),
last_sync TIMESTAMPTZ,
status VARCHAR(50) NOT NULL DEFAULT 'active',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE dashboard_filters (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
dashboard_id UUID NOT NULL REFERENCES dashboards(id) ON DELETE CASCADE,
name VARCHAR(255) NOT NULL,
field VARCHAR(255) NOT NULL,
filter_type VARCHAR(50) NOT NULL,
default_value JSONB,
options JSONB NOT NULL DEFAULT '[]',
linked_widgets JSONB NOT NULL DEFAULT '[]',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE dashboard_widget_data_sources (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
widget_id UUID NOT NULL REFERENCES dashboard_widgets(id) ON DELETE CASCADE,
data_source_id UUID NOT NULL REFERENCES dashboard_data_sources(id) ON DELETE CASCADE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(widget_id, data_source_id)
);
CREATE TABLE conversational_queries (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
org_id UUID NOT NULL,
bot_id UUID NOT NULL,
dashboard_id UUID REFERENCES dashboards(id) ON DELETE SET NULL,
user_id UUID NOT NULL,
natural_language TEXT NOT NULL,
generated_query TEXT,
result_widget_config JSONB,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_dashboards_org_bot ON dashboards(org_id, bot_id);
CREATE INDEX idx_dashboards_owner ON dashboards(owner_id);
CREATE INDEX idx_dashboards_is_public ON dashboards(is_public) WHERE is_public = TRUE;
CREATE INDEX idx_dashboards_is_template ON dashboards(is_template) WHERE is_template = TRUE;
CREATE INDEX idx_dashboards_tags ON dashboards USING GIN(tags);
CREATE INDEX idx_dashboards_created ON dashboards(created_at DESC);
CREATE INDEX idx_dashboard_widgets_dashboard ON dashboard_widgets(dashboard_id);
CREATE INDEX idx_dashboard_widgets_type ON dashboard_widgets(widget_type);
CREATE INDEX idx_dashboard_data_sources_org_bot ON dashboard_data_sources(org_id, bot_id);
CREATE INDEX idx_dashboard_data_sources_type ON dashboard_data_sources(source_type);
CREATE INDEX idx_dashboard_data_sources_status ON dashboard_data_sources(status);
CREATE INDEX idx_dashboard_filters_dashboard ON dashboard_filters(dashboard_id);
CREATE INDEX idx_conversational_queries_org_bot ON conversational_queries(org_id, bot_id);
CREATE INDEX idx_conversational_queries_dashboard ON conversational_queries(dashboard_id) WHERE dashboard_id IS NOT NULL;
CREATE INDEX idx_conversational_queries_user ON conversational_queries(user_id);
CREATE INDEX idx_conversational_queries_created ON conversational_queries(created_at DESC);

View file

@ -0,0 +1,84 @@
-- Rollback extended product fields
-- Remove variant indexes
DROP INDEX IF EXISTS idx_product_variants_global_trade_number;
-- Remove variant fields
ALTER TABLE product_variants DROP COLUMN IF EXISTS global_trade_number;
ALTER TABLE product_variants DROP COLUMN IF EXISTS net_weight;
ALTER TABLE product_variants DROP COLUMN IF EXISTS gross_weight;
ALTER TABLE product_variants DROP COLUMN IF EXISTS width;
ALTER TABLE product_variants DROP COLUMN IF EXISTS height;
ALTER TABLE product_variants DROP COLUMN IF EXISTS length;
ALTER TABLE product_variants DROP COLUMN IF EXISTS color;
ALTER TABLE product_variants DROP COLUMN IF EXISTS size;
ALTER TABLE product_variants DROP COLUMN IF EXISTS images;
-- Remove product indexes
DROP INDEX IF EXISTS idx_products_tax_code;
DROP INDEX IF EXISTS idx_products_global_trade_number;
DROP INDEX IF EXISTS idx_products_brand;
DROP INDEX IF EXISTS idx_products_slug;
DROP INDEX IF EXISTS idx_products_expiration;
DROP INDEX IF EXISTS idx_products_external_id;
-- Remove SEO and search
ALTER TABLE products DROP COLUMN IF EXISTS slug;
ALTER TABLE products DROP COLUMN IF EXISTS meta_title;
ALTER TABLE products DROP COLUMN IF EXISTS meta_description;
ALTER TABLE products DROP COLUMN IF EXISTS tags;
-- Remove payment gateway integration
ALTER TABLE products DROP COLUMN IF EXISTS external_id;
ALTER TABLE products DROP COLUMN IF EXISTS external_category_id;
ALTER TABLE products DROP COLUMN IF EXISTS external_metadata;
-- Remove detailed pricing
ALTER TABLE products DROP COLUMN IF EXISTS sale_price;
ALTER TABLE products DROP COLUMN IF EXISTS sale_start;
ALTER TABLE products DROP COLUMN IF EXISTS sale_end;
ALTER TABLE products DROP COLUMN IF EXISTS shipping_cost;
ALTER TABLE products DROP COLUMN IF EXISTS profit_margin;
-- Remove advanced inventory control
ALTER TABLE products DROP COLUMN IF EXISTS warehouse_location;
ALTER TABLE products DROP COLUMN IF EXISTS batch_number;
ALTER TABLE products DROP COLUMN IF EXISTS expiration_date;
ALTER TABLE products DROP COLUMN IF EXISTS manufacture_date;
ALTER TABLE products DROP COLUMN IF EXISTS min_stock;
ALTER TABLE products DROP COLUMN IF EXISTS max_stock;
ALTER TABLE products DROP COLUMN IF EXISTS reorder_point;
-- Remove marketplace and e-commerce fields
ALTER TABLE products DROP COLUMN IF EXISTS brand;
ALTER TABLE products DROP COLUMN IF EXISTS model;
ALTER TABLE products DROP COLUMN IF EXISTS color;
ALTER TABLE products DROP COLUMN IF EXISTS size;
ALTER TABLE products DROP COLUMN IF EXISTS material;
ALTER TABLE products DROP COLUMN IF EXISTS gender;
-- Remove tax rates by type
ALTER TABLE products DROP COLUMN IF EXISTS sales_tax_code;
ALTER TABLE products DROP COLUMN IF EXISTS sales_tax_rate;
ALTER TABLE products DROP COLUMN IF EXISTS excise_tax_code;
ALTER TABLE products DROP COLUMN IF EXISTS excise_tax_rate;
ALTER TABLE products DROP COLUMN IF EXISTS vat_code;
ALTER TABLE products DROP COLUMN IF EXISTS vat_rate;
ALTER TABLE products DROP COLUMN IF EXISTS service_tax_code;
ALTER TABLE products DROP COLUMN IF EXISTS service_tax_rate;
-- Remove detailed dimensions
ALTER TABLE products DROP COLUMN IF EXISTS net_weight;
ALTER TABLE products DROP COLUMN IF EXISTS gross_weight;
ALTER TABLE products DROP COLUMN IF EXISTS width;
ALTER TABLE products DROP COLUMN IF EXISTS height;
ALTER TABLE products DROP COLUMN IF EXISTS length;
ALTER TABLE products DROP COLUMN IF EXISTS package_count;
-- Remove tax and fiscal identification fields
ALTER TABLE products DROP COLUMN IF EXISTS tax_code;
ALTER TABLE products DROP COLUMN IF EXISTS tax_class;
ALTER TABLE products DROP COLUMN IF EXISTS fiscal_code;
ALTER TABLE products DROP COLUMN IF EXISTS origin_code;
ALTER TABLE products DROP COLUMN IF EXISTS global_trade_number;
ALTER TABLE products DROP COLUMN IF EXISTS tax_unit_code;

View file

@ -0,0 +1,83 @@
-- Extended product fields for e-commerce and payment integrations
-- Tax and fiscal identification fields
ALTER TABLE products ADD COLUMN IF NOT EXISTS tax_code VARCHAR(10);
ALTER TABLE products ADD COLUMN IF NOT EXISTS tax_class VARCHAR(50);
ALTER TABLE products ADD COLUMN IF NOT EXISTS fiscal_code VARCHAR(10);
ALTER TABLE products ADD COLUMN IF NOT EXISTS origin_code INTEGER DEFAULT 0;
ALTER TABLE products ADD COLUMN IF NOT EXISTS global_trade_number VARCHAR(14);
ALTER TABLE products ADD COLUMN IF NOT EXISTS tax_unit_code VARCHAR(14);
-- Detailed dimensions (for shipping calculation)
ALTER TABLE products ADD COLUMN IF NOT EXISTS net_weight DECIMAL(10,3);
ALTER TABLE products ADD COLUMN IF NOT EXISTS gross_weight DECIMAL(10,3);
ALTER TABLE products ADD COLUMN IF NOT EXISTS width DECIMAL(10,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS height DECIMAL(10,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS length DECIMAL(10,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS package_count INTEGER DEFAULT 1;
-- Tax rates by type
ALTER TABLE products ADD COLUMN IF NOT EXISTS sales_tax_code VARCHAR(3);
ALTER TABLE products ADD COLUMN IF NOT EXISTS sales_tax_rate DECIMAL(5,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS excise_tax_code VARCHAR(2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS excise_tax_rate DECIMAL(5,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS vat_code VARCHAR(2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS vat_rate DECIMAL(5,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS service_tax_code VARCHAR(2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS service_tax_rate DECIMAL(5,2);
-- Marketplace and e-commerce fields
ALTER TABLE products ADD COLUMN IF NOT EXISTS brand VARCHAR(100);
ALTER TABLE products ADD COLUMN IF NOT EXISTS model VARCHAR(100);
ALTER TABLE products ADD COLUMN IF NOT EXISTS color VARCHAR(50);
ALTER TABLE products ADD COLUMN IF NOT EXISTS size VARCHAR(20);
ALTER TABLE products ADD COLUMN IF NOT EXISTS material VARCHAR(100);
ALTER TABLE products ADD COLUMN IF NOT EXISTS gender VARCHAR(20);
-- Advanced inventory control
ALTER TABLE products ADD COLUMN IF NOT EXISTS warehouse_location VARCHAR(100);
ALTER TABLE products ADD COLUMN IF NOT EXISTS batch_number VARCHAR(50);
ALTER TABLE products ADD COLUMN IF NOT EXISTS expiration_date DATE;
ALTER TABLE products ADD COLUMN IF NOT EXISTS manufacture_date DATE;
ALTER TABLE products ADD COLUMN IF NOT EXISTS min_stock INTEGER DEFAULT 0;
ALTER TABLE products ADD COLUMN IF NOT EXISTS max_stock INTEGER;
ALTER TABLE products ADD COLUMN IF NOT EXISTS reorder_point INTEGER;
-- Detailed pricing
ALTER TABLE products ADD COLUMN IF NOT EXISTS sale_price DECIMAL(15,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS sale_start TIMESTAMPTZ;
ALTER TABLE products ADD COLUMN IF NOT EXISTS sale_end TIMESTAMPTZ;
ALTER TABLE products ADD COLUMN IF NOT EXISTS shipping_cost DECIMAL(15,2);
ALTER TABLE products ADD COLUMN IF NOT EXISTS profit_margin DECIMAL(5,2);
-- Payment gateway integration
ALTER TABLE products ADD COLUMN IF NOT EXISTS external_id VARCHAR(100);
ALTER TABLE products ADD COLUMN IF NOT EXISTS external_category_id VARCHAR(100);
ALTER TABLE products ADD COLUMN IF NOT EXISTS external_metadata JSONB DEFAULT '{}';
-- SEO and search
ALTER TABLE products ADD COLUMN IF NOT EXISTS slug VARCHAR(255);
ALTER TABLE products ADD COLUMN IF NOT EXISTS meta_title VARCHAR(255);
ALTER TABLE products ADD COLUMN IF NOT EXISTS meta_description TEXT;
ALTER TABLE products ADD COLUMN IF NOT EXISTS tags TEXT[];
-- Indexes for new fields
CREATE INDEX IF NOT EXISTS idx_products_tax_code ON products(tax_code);
CREATE INDEX IF NOT EXISTS idx_products_global_trade_number ON products(global_trade_number);
CREATE INDEX IF NOT EXISTS idx_products_brand ON products(brand);
CREATE INDEX IF NOT EXISTS idx_products_slug ON products(slug);
CREATE INDEX IF NOT EXISTS idx_products_expiration ON products(expiration_date);
CREATE INDEX IF NOT EXISTS idx_products_external_id ON products(external_id);
-- Add similar fields to product variants
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS global_trade_number VARCHAR(14);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS net_weight DECIMAL(10,3);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS gross_weight DECIMAL(10,3);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS width DECIMAL(10,2);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS height DECIMAL(10,2);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS length DECIMAL(10,2);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS color VARCHAR(50);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS size VARCHAR(20);
ALTER TABLE product_variants ADD COLUMN IF NOT EXISTS images JSONB DEFAULT '[]';
CREATE INDEX IF NOT EXISTS idx_product_variants_global_trade_number ON product_variants(global_trade_number);

View file

@ -0,0 +1,12 @@
DROP INDEX IF EXISTS idx_consent_history_consent;
DROP INDEX IF EXISTS idx_consent_history_created;
DROP INDEX IF EXISTS idx_cookie_consents_user;
DROP INDEX IF EXISTS idx_cookie_consents_session;
DROP INDEX IF EXISTS idx_cookie_consents_org_bot;
DROP INDEX IF EXISTS idx_legal_documents_org_bot;
DROP INDEX IF EXISTS idx_legal_documents_slug;
DROP INDEX IF EXISTS idx_legal_documents_type;
DROP TABLE IF EXISTS consent_history;
DROP TABLE IF EXISTS cookie_consents;
DROP TABLE IF EXISTS legal_documents;

Some files were not shown because too many files have changed in this diff Show more