Compare commits
26
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
970d2a1943 | ||
|
|
ec4fd104e4 | ||
|
|
458a61ed30 | ||
|
|
9a3852bf04 | ||
|
|
c369baf63a | ||
|
|
9e8024a07a | ||
|
|
df196b4a03 | ||
|
|
af0af0a237 | ||
|
|
0d4fe4575b | ||
|
|
ccddd105d8 | ||
|
|
e21a7e11b2 | ||
|
|
1ac87d106e | ||
|
|
9a0295fd3d | ||
|
|
a0c0e7de25 | ||
|
|
7cbbd082e3 | ||
|
|
7944ca29fa | ||
|
|
b51eb6471f | ||
|
|
22bc3004b9 | ||
|
|
129d1ede86 | ||
|
|
a2e3af5625 | ||
|
|
41f09c5a4c | ||
|
|
a900b4a4b4 | ||
|
|
020cf7f3e0 | ||
|
|
0bccdedb4f | ||
|
|
088be4c47b | ||
|
|
ad88108b28 |
@@ -11,7 +11,7 @@ on:
|
||||
jobs:
|
||||
deploy-main:
|
||||
timeout-minutes: 3
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Repository Dispatch
|
||||
uses: peter-evans/repository-dispatch@v2
|
||||
|
||||
@@ -11,7 +11,7 @@ on:
|
||||
jobs:
|
||||
deploy-tag:
|
||||
timeout-minutes: 3
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Repository Dispatch
|
||||
uses: peter-evans/repository-dispatch@v2
|
||||
|
||||
@@ -16,7 +16,7 @@ permissions:
|
||||
jobs:
|
||||
changed-files:
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
outputs:
|
||||
any_changed: ${{ steps.changed-files.outputs.any_changed }}
|
||||
steps:
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 45
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
services:
|
||||
postgres:
|
||||
image: twentycrm/twenty-postgres-spilo
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
strategy:
|
||||
matrix:
|
||||
task: [lint, typecheck, test]
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
ci-create-app-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check, create-app-test]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Cancel Previous Runs
|
||||
uses: styfle/cancel-workflow-action@0.11.0
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
steps:
|
||||
- name: Fetch custom Github Actions and base branch history
|
||||
uses: actions/checkout@v4
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
ci-emails-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check, emails-test]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -14,8 +14,8 @@ concurrency:
|
||||
|
||||
env:
|
||||
# restore-cache action adds 'v4-' prefix and '-<branch>-<sha>' suffix to the key
|
||||
STORYBOOK_BUILD_CACHE_KEY_FOR_RESTORE_ACTION: storybook-build-ubuntu-latest-8-cores-runner
|
||||
STORYBOOK_BUILD_CACHE_KEY_FOR_SAVE_ACTION: v4-storybook-build-ubuntu-latest-8-cores-runner-${{ github.ref_name }}-${{ github.sha }}
|
||||
STORYBOOK_BUILD_CACHE_KEY_FOR_RESTORE_ACTION: storybook-build-depot-ubuntu-24.04-8-runner
|
||||
STORYBOOK_BUILD_CACHE_KEY_FOR_SAVE_ACTION: v4-storybook-build-depot-ubuntu-24.04-8-runner-${{ github.ref_name }}-${{ github.sha }}
|
||||
|
||||
jobs:
|
||||
changed-files-check:
|
||||
@@ -42,7 +42,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
env:
|
||||
REACT_APP_SERVER_BASE_URL: http://localhost:3000
|
||||
steps:
|
||||
@@ -68,7 +68,7 @@ jobs:
|
||||
key: ${{ env.STORYBOOK_BUILD_CACHE_KEY_FOR_SAVE_ACTION }}
|
||||
front-sb-test:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
needs: front-sb-build
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -115,7 +115,7 @@ jobs:
|
||||
path: packages/twenty-front/coverage/storybook/coverage-shard-${{matrix.shard}}.json
|
||||
merge-reports-and-check-coverage:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: front-sb-test
|
||||
env:
|
||||
PATH_TO_COVERAGE: packages/twenty-front/coverage/storybook
|
||||
@@ -143,7 +143,7 @@ jobs:
|
||||
timeout-minutes: 30
|
||||
if: false
|
||||
needs: front-sb-build
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
env:
|
||||
REACT_APP_SERVER_BASE_URL: http://127.0.0.1:3000
|
||||
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||
@@ -169,8 +169,9 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
env:
|
||||
NODE_OPTIONS: '--max-old-space-size=4096'
|
||||
TASK_CACHE_KEY: front-task-${{ matrix.task }}
|
||||
strategy:
|
||||
matrix:
|
||||
@@ -210,7 +211,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
env:
|
||||
NODE_OPTIONS: "--max-old-space-size=10240"
|
||||
steps:
|
||||
@@ -235,7 +236,7 @@ jobs:
|
||||
path: packages/twenty-front/build
|
||||
retention-days: 1
|
||||
e2e-test:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check-e2e, front-build]
|
||||
if: |
|
||||
always() &&
|
||||
@@ -345,7 +346,7 @@ jobs:
|
||||
ci-front-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs:
|
||||
[
|
||||
changed-files-check,
|
||||
@@ -362,7 +363,7 @@ jobs:
|
||||
ci-e2e-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check-e2e, e2e-test]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -25,7 +25,7 @@ defaults:
|
||||
jobs:
|
||||
create_pr:
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -15,7 +15,7 @@ defaults:
|
||||
jobs:
|
||||
tag_and_release:
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release')
|
||||
steps:
|
||||
- name: Check PR Author
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
strategy:
|
||||
matrix:
|
||||
task: [lint, typecheck, test:unit, storybook:build, storybook:test, test:integration]
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
tasks: ${{ matrix.task }}
|
||||
sdk-e2e-test:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
needs: [changed-files-check, sdk-test]
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
services:
|
||||
@@ -94,7 +94,7 @@ jobs:
|
||||
ci-sdk-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check, sdk-test, sdk-e2e-test]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
services:
|
||||
postgres:
|
||||
image: twentycrm/twenty-postgres-spilo
|
||||
@@ -143,7 +143,7 @@ jobs:
|
||||
key: ${{ steps.restore-server-setup-cache.outputs.cache-primary-key }}
|
||||
server-test:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
needs: server-setup
|
||||
steps:
|
||||
- name: Fetch custom Github Actions and base branch history
|
||||
@@ -164,7 +164,7 @@ jobs:
|
||||
|
||||
server-integration-test:
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: depot-ubuntu-24.04-8
|
||||
needs: server-setup
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -250,7 +250,7 @@ jobs:
|
||||
ci-server-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check, server-setup, server-test, server-integration-test]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -22,7 +22,9 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
env:
|
||||
NODE_OPTIONS: '--max-old-space-size=4096'
|
||||
strategy:
|
||||
matrix:
|
||||
task: [lint, typecheck, test]
|
||||
@@ -45,7 +47,7 @@ jobs:
|
||||
ci-shared-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check, shared-test]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 30
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
@@ -92,7 +92,7 @@ jobs:
|
||||
ci-test-docker-compose-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check, test]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -25,7 +25,7 @@ concurrency:
|
||||
jobs:
|
||||
danger-js:
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
if: github.event.action != 'closed'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
|
||||
congratulate:
|
||||
timeout-minutes: 3
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
if: github.event.action == 'closed' && github.event.pull_request.merged == true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
needs: changed-files-check
|
||||
if: needs.changed-files-check.outputs.any_changed == 'true'
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
services:
|
||||
postgres:
|
||||
image: twentycrm/twenty-postgres-spilo
|
||||
@@ -65,7 +65,7 @@ jobs:
|
||||
ci-website-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
needs: [changed-files-check, website-build]
|
||||
steps:
|
||||
- name: Fail job if any needs failed
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude') && github.event.comment.user.type != 'Bot') ||
|
||||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude') && github.event.review.user.type != 'Bot') ||
|
||||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
timeout-minutes: 60
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -96,7 +96,7 @@ jobs:
|
||||
|
||||
claude-cross-repo:
|
||||
if: github.event_name == 'repository_dispatch'
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
timeout-minutes: 60
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
@@ -34,7 +34,7 @@ concurrency:
|
||||
jobs:
|
||||
pull_docs_translations:
|
||||
name: Pull docs translations
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -21,7 +21,7 @@ concurrency:
|
||||
jobs:
|
||||
push_docs:
|
||||
name: Push documentation to Crowdin
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -32,7 +32,7 @@ concurrency:
|
||||
jobs:
|
||||
pull_translations:
|
||||
name: Pull translations
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -17,7 +17,7 @@ concurrency:
|
||||
jobs:
|
||||
extract_translations:
|
||||
name: Extract and upload translations
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -18,7 +18,7 @@ concurrency:
|
||||
jobs:
|
||||
qa_report:
|
||||
name: Generate QA Report
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
trigger-preview:
|
||||
if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.action == 'reopened' || (github.event.action == 'labeled' && github.event.label.name == 'preview-app')
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: depot-ubuntu-24.04
|
||||
steps:
|
||||
- name: Trigger preview environment workflow
|
||||
uses: peter-evans/repository-dispatch@v2
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.client_payload.pr_head_sha }}
|
||||
|
||||
|
||||
- name: Run compose setup
|
||||
run: |
|
||||
echo "Patching docker-compose.yml..."
|
||||
@@ -25,17 +25,17 @@ jobs:
|
||||
yq eval 'del(.services.server.image)' -i packages/twenty-docker/docker-compose.yml
|
||||
yq eval '.services.server.build.context = "../../"' -i packages/twenty-docker/docker-compose.yml
|
||||
yq eval '.services.server.build.dockerfile = "./packages/twenty-docker/twenty/Dockerfile"' -i packages/twenty-docker/docker-compose.yml
|
||||
|
||||
|
||||
yq eval 'del(.services.worker.image)' -i packages/twenty-docker/docker-compose.yml
|
||||
yq eval '.services.worker.build.context = "../../"' -i packages/twenty-docker/docker-compose.yml
|
||||
yq eval '.services.worker.build.dockerfile = "./packages/twenty-docker/twenty/Dockerfile"' -i packages/twenty-docker/docker-compose.yml
|
||||
|
||||
|
||||
echo "Adding SIGN_IN_PREFILLED environment variable to server service..."
|
||||
yq eval '.services.server.environment.SIGN_IN_PREFILLED = "${SIGN_IN_PREFILLED}"' -i packages/twenty-docker/docker-compose.yml
|
||||
|
||||
|
||||
echo "Setting up .env file..."
|
||||
cp packages/twenty-docker/.env.example packages/twenty-docker/.env
|
||||
|
||||
|
||||
echo "Generating secrets..."
|
||||
echo "" >> packages/twenty-docker/.env
|
||||
echo "# === Randomly generated secrets ===" >> packages/twenty-docker/.env
|
||||
@@ -46,24 +46,24 @@ jobs:
|
||||
cd packages/twenty-docker/
|
||||
docker compose build
|
||||
working-directory: ./
|
||||
|
||||
|
||||
- name: Create Tunnel
|
||||
id: expose-tunnel
|
||||
uses: codetalkio/expose-tunnel@v1.5.0
|
||||
with:
|
||||
service: bore.pub
|
||||
port: 3000
|
||||
|
||||
|
||||
- name: Start services with correct SERVER_URL
|
||||
run: |
|
||||
cd packages/twenty-docker/
|
||||
|
||||
|
||||
# Update the SERVER_URL with the tunnel URL
|
||||
echo "Setting SERVER_URL to ${{ steps.expose-tunnel.outputs.tunnel-url }}"
|
||||
sed -i '/SERVER_URL=/d' .env
|
||||
echo "" >> .env
|
||||
echo "SERVER_URL=${{ steps.expose-tunnel.outputs.tunnel-url }}" >> .env
|
||||
|
||||
|
||||
# Start the services
|
||||
echo "Docker compose up..."
|
||||
docker compose up -d || {
|
||||
@@ -71,7 +71,7 @@ jobs:
|
||||
docker compose logs
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
echo "Waiting for services to be ready..."
|
||||
count=0
|
||||
while [ ! $(docker inspect --format='{{.State.Health.Status}}' twenty-db-1) = "healthy" ] || [ ! $(docker inspect --format='{{.State.Health.Status}}' twenty-server-1) = "healthy" ]; do
|
||||
@@ -84,7 +84,7 @@ jobs:
|
||||
fi
|
||||
echo "Still waiting for services... ($count/60)"
|
||||
done
|
||||
|
||||
|
||||
echo "All services are up and running!"
|
||||
working-directory: ./
|
||||
|
||||
@@ -104,7 +104,7 @@ jobs:
|
||||
echo "✅ Preview Environment Ready!"
|
||||
echo "🔗 Preview URL: ${{ steps.expose-tunnel.outputs.tunnel-url }}"
|
||||
echo "⏱️ This environment will be available for 5 hours"
|
||||
|
||||
|
||||
- name: Post comment on PR
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
@@ -113,21 +113,21 @@ jobs:
|
||||
const COMMENT_MARKER = '<!-- PR_PREVIEW_ENV -->';
|
||||
const commentBody = `${COMMENT_MARKER}
|
||||
🚀 **Preview Environment Ready!**
|
||||
|
||||
|
||||
Your preview environment is available at: ${{ steps.expose-tunnel.outputs.tunnel-url }}
|
||||
|
||||
|
||||
This environment will automatically shut down when the PR is closed or after 5 hours.`;
|
||||
|
||||
|
||||
// Get all comments
|
||||
const {data: comments} = await github.rest.issues.listComments({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ github.event.client_payload.pr_number }},
|
||||
});
|
||||
|
||||
|
||||
// Find our comment
|
||||
const botComment = comments.find(comment => comment.body.includes(COMMENT_MARKER));
|
||||
|
||||
|
||||
if (botComment) {
|
||||
// Update existing comment
|
||||
await github.rest.issues.updateComment({
|
||||
@@ -147,13 +147,13 @@ jobs:
|
||||
});
|
||||
console.log('Created new comment');
|
||||
}
|
||||
|
||||
|
||||
- name: Keep tunnel alive for 5 hours
|
||||
run: timeout 300m sleep 18000 # Stop on whichever we reach first (300m or 5hour sleep)
|
||||
|
||||
|
||||
- name: Cleanup
|
||||
if: always()
|
||||
run: |
|
||||
cd packages/twenty-docker/
|
||||
docker compose down -v
|
||||
working-directory: ./
|
||||
working-directory: ./
|
||||
|
||||
@@ -28,7 +28,7 @@ See:
|
||||
🚀 [Self-hosting](https://docs.twenty.com/developers/self-hosting/docker-compose)
|
||||
🖥️ [Local Setup](https://docs.twenty.com/developers/local-setup)
|
||||
|
||||
# Does the world need another CRM?
|
||||
# Why Twenty
|
||||
|
||||
We built Twenty for three reasons:
|
||||
|
||||
@@ -120,6 +120,7 @@ Below are a few features we have implemented to date:
|
||||
<a href="https://greptile.com"><img src="./packages/twenty-website/public/images/readme/greptile.png" height="30" alt="Greptile" /></a>
|
||||
<a href="https://sentry.io/"><img src="./packages/twenty-website/public/images/readme/sentry.png" height="30" alt="Sentry" /></a>
|
||||
<a href="https://crowdin.com/"><img src="./packages/twenty-website/public/images/readme/crowdin.png" height="30" alt="Crowdin" /></a>
|
||||
<a href="https://e2b.dev/"><img src="./packages/twenty-website/public/images/readme/e2b.svg" height="30" alt="E2B" /></a>
|
||||
</p>
|
||||
|
||||
Thanks to these amazing services that we use and recommend for UI testing (Chromatic), code review (Greptile), catching bugs (Sentry) and translating (Crowdin).
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.*
|
||||
.yarn
|
||||
|
||||
# codegen
|
||||
generated
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# dev
|
||||
/dist/
|
||||
|
||||
.twenty/*
|
||||
!.twenty/output/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# env files (can opt-in for committing if needed)
|
||||
.env*
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
@@ -0,0 +1 @@
|
||||
24.5.0
|
||||
@@ -0,0 +1 @@
|
||||
nodeLinker: node-modules
|
||||
@@ -0,0 +1,9 @@
|
||||
## Base documentation
|
||||
|
||||
- Documentation: https://docs.twenty.com/developers/extend/capabilities/apps
|
||||
- Rich app example: https://github.com/twentyhq/twenty/tree/main/packages/twenty-sdk/src/cli/__tests__/apps/rich-app
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
|
||||
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
|
||||
@@ -0,0 +1,51 @@
|
||||
This is a [Twenty](https://twenty.com) application project bootstrapped with [`create-twenty-app`](https://www.npmjs.com/package/create-twenty-app).
|
||||
|
||||
## Getting Started
|
||||
|
||||
First, authenticate to your workspace:
|
||||
|
||||
```bash
|
||||
yarn twenty auth:login
|
||||
```
|
||||
|
||||
Then, start development mode to sync your app and watch for changes:
|
||||
|
||||
```bash
|
||||
yarn twenty app:dev
|
||||
```
|
||||
|
||||
Open your Twenty instance and go to `/settings/applications` section to see the result.
|
||||
|
||||
## Available Commands
|
||||
|
||||
Run `yarn twenty help` to list all available commands. Common commands:
|
||||
|
||||
```bash
|
||||
# Authentication
|
||||
yarn twenty auth:login # Authenticate with Twenty
|
||||
yarn twenty auth:logout # Remove credentials
|
||||
yarn twenty auth:status # Check auth status
|
||||
yarn twenty auth:switch # Switch default workspace
|
||||
yarn twenty auth:list # List all configured workspaces
|
||||
|
||||
# Application
|
||||
yarn twenty app:dev # Start dev mode (watch, build, sync, and auto-generate typed client)
|
||||
yarn twenty entity:add # Add a new entity (object, field, function, front-component, role, view, navigation-menu-item)
|
||||
yarn twenty function:logs # Stream function logs
|
||||
yarn twenty function:execute # Execute a function with JSON payload
|
||||
yarn twenty app:uninstall # Uninstall app from workspace
|
||||
```
|
||||
|
||||
## LLMs instructions
|
||||
|
||||
Main docs and pitfalls are available in LLMS.md file.
|
||||
|
||||
## Learn More
|
||||
|
||||
To learn more about Twenty applications, take a look at the following resources:
|
||||
|
||||
- [twenty-sdk](https://www.npmjs.com/package/twenty-sdk) - learn about `twenty-sdk` tool.
|
||||
- [Twenty doc](https://docs.twenty.com/) - Twenty's documentation.
|
||||
- Join our [Discord](https://discord.gg/cx5n4Jzs57)
|
||||
|
||||
You can check out [the Twenty GitHub repository](https://github.com/twentyhq/twenty) - your feedback and contributions are welcome!
|
||||
@@ -0,0 +1,29 @@
|
||||
import js from '@eslint/js';
|
||||
import tseslint from 'typescript-eslint';
|
||||
|
||||
export default [
|
||||
// Base JS recommended rules
|
||||
js.configs.recommended,
|
||||
|
||||
// TypeScript recommended rules
|
||||
...tseslint.configs.recommended,
|
||||
|
||||
{
|
||||
files: ['**/*.ts', '**/*.tsx'],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
project: true,
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
// Common TypeScript-friendly tweaks
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'warn',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'no-unused-vars': 'off', // handled by TS rule
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "call-recording",
|
||||
"version": "0.1.0",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^24.5.0",
|
||||
"npm": "please-use-yarn",
|
||||
"yarn": ">=4.0.2"
|
||||
},
|
||||
"packageManager": "yarn@4.9.2",
|
||||
"scripts": {
|
||||
"twenty": "twenty",
|
||||
"lint": "eslint",
|
||||
"lint:fix": "eslint --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-sdk": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.7.2",
|
||||
"@types/react": "^18.2.0",
|
||||
"eslint": "^9.32.0",
|
||||
"react": "^18.2.0",
|
||||
"typescript": "^5.9.3",
|
||||
"typescript-eslint": "^8.50.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { DEFAULT_ROLE_UNIVERSAL_IDENTIFIER } from 'src/roles/default-role';
|
||||
import { defineApplication } from 'twenty-sdk';
|
||||
|
||||
export default defineApplication({
|
||||
universalIdentifier: '4daa5147-7e70-4e43-b091-c27e1e8a32e3',
|
||||
displayName: 'Call recording',
|
||||
description: 'Allows to record calls',
|
||||
defaultRoleUniversalIdentifier: DEFAULT_ROLE_UNIVERSAL_IDENTIFIER,
|
||||
});
|
||||
@@ -0,0 +1,17 @@
|
||||
import { defineFrontComponent } from 'twenty-sdk';
|
||||
|
||||
export const HelloWorld = () => {
|
||||
return (
|
||||
<div style={{ padding: '20px', fontFamily: 'sans-serif' }}>
|
||||
<h1>Hello, World!</h1>
|
||||
<p>This is your first front component.</p>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default defineFrontComponent({
|
||||
universalIdentifier: '5c2fd1e8-dd18-4354-9d0e-424beedafde9',
|
||||
name: 'hello-world-front-component',
|
||||
description: 'A sample front component',
|
||||
component: HelloWorld,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
import { defineLogicFunction } from 'twenty-sdk';
|
||||
|
||||
const handler = async (): Promise<void> => {
|
||||
// TODO: implement end recording logic
|
||||
};
|
||||
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier: '471353f6-5933-417b-8062-9ad0fc44cd7f',
|
||||
name: 'end-recording',
|
||||
description: 'Endpoint to end a call recording',
|
||||
timeoutSeconds: 30,
|
||||
handler,
|
||||
httpRouteTriggerSettings: {
|
||||
path: '/end-recording',
|
||||
httpMethod: 'POST',
|
||||
isAuthRequired: false,
|
||||
},
|
||||
});
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { CALL_RECORDING_VIEW_UNIVERSAL_IDENTIFIER } from 'src/views/call-recording-view';
|
||||
import { defineNavigationMenuItem } from 'twenty-sdk';
|
||||
|
||||
export default defineNavigationMenuItem({
|
||||
universalIdentifier: '5248a62d-7d2e-43a7-ba45-6e8f61876a71',
|
||||
name: 'Call recordings',
|
||||
icon: 'IconPhone',
|
||||
position: 0,
|
||||
viewUniversalIdentifier: CALL_RECORDING_VIEW_UNIVERSAL_IDENTIFIER,
|
||||
});
|
||||
@@ -0,0 +1,50 @@
|
||||
import { defineObject, FieldType } from 'twenty-sdk';
|
||||
|
||||
export const CALL_RECORDING_OBJECT_UNIVERSAL_IDENTIFIER =
|
||||
'af251b70-85c6-49bd-bf4a-2631f34c8f1a';
|
||||
|
||||
export const NAME_FIELD_UNIVERSAL_IDENTIFIER =
|
||||
'272dca6f-b3aa-49f5-b7ed-39780052f1fe';
|
||||
|
||||
export const CREATED_AT_FIELD_UNIVERSAL_IDENTIFIER =
|
||||
'c581a044-f646-464b-aa4b-56b8ea9bf05a';
|
||||
|
||||
export const ENDED_AT_FIELD_UNIVERSAL_IDENTIFIER =
|
||||
'56185e64-6591-41c1-a3e0-af8de20a5471';
|
||||
|
||||
export default defineObject({
|
||||
universalIdentifier: CALL_RECORDING_OBJECT_UNIVERSAL_IDENTIFIER,
|
||||
nameSingular: 'callRecording',
|
||||
namePlural: 'callRecordings',
|
||||
labelSingular: 'Call recording',
|
||||
labelPlural: 'Call recordings',
|
||||
description: 'A recorded call',
|
||||
icon: 'IconPhone',
|
||||
labelIdentifierFieldMetadataUniversalIdentifier: NAME_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
fields: [
|
||||
{
|
||||
universalIdentifier: NAME_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
type: FieldType.TEXT,
|
||||
name: 'name',
|
||||
label: 'Name',
|
||||
description: 'Name of the call recording',
|
||||
icon: 'IconAbc',
|
||||
},
|
||||
{
|
||||
universalIdentifier: CREATED_AT_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
type: FieldType.DATE_TIME,
|
||||
name: 'createdAt',
|
||||
label: 'Created at',
|
||||
description: 'When the call recording was created',
|
||||
icon: 'IconCalendar',
|
||||
},
|
||||
{
|
||||
universalIdentifier: ENDED_AT_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
type: FieldType.DATE_TIME,
|
||||
name: 'endedAt',
|
||||
label: 'Ended at',
|
||||
description: 'When the call ended',
|
||||
icon: 'IconCalendar',
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,14 @@
|
||||
import { defineRole } from 'twenty-sdk';
|
||||
|
||||
export const DEFAULT_ROLE_UNIVERSAL_IDENTIFIER =
|
||||
'f9cfb3ce-cb1e-4f55-af85-be45f6059054';
|
||||
|
||||
export default defineRole({
|
||||
universalIdentifier: DEFAULT_ROLE_UNIVERSAL_IDENTIFIER,
|
||||
label: 'Call recording default function role',
|
||||
description: 'Call recording default function role',
|
||||
canReadAllObjectRecords: true,
|
||||
canUpdateAllObjectRecords: true,
|
||||
canSoftDeleteAllObjectRecords: true,
|
||||
canDestroyAllObjectRecords: false,
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
import { CALL_RECORDING_OBJECT_UNIVERSAL_IDENTIFIER, CREATED_AT_FIELD_UNIVERSAL_IDENTIFIER, ENDED_AT_FIELD_UNIVERSAL_IDENTIFIER, NAME_FIELD_UNIVERSAL_IDENTIFIER } from 'src/objects/call-recording';
|
||||
import { defineView } from 'twenty-sdk';
|
||||
|
||||
export const CALL_RECORDING_VIEW_UNIVERSAL_IDENTIFIER =
|
||||
'9c9c09bb-de9f-4248-89f2-e7d91f29c3ed';
|
||||
|
||||
export default defineView({
|
||||
universalIdentifier: CALL_RECORDING_VIEW_UNIVERSAL_IDENTIFIER,
|
||||
name: 'Call recordings',
|
||||
objectUniversalIdentifier: CALL_RECORDING_OBJECT_UNIVERSAL_IDENTIFIER,
|
||||
icon: 'IconPhone',
|
||||
position: 0,
|
||||
fields: [
|
||||
{
|
||||
universalIdentifier: 'b5609679-8451-45ec-ad52-5a4e3720af45',
|
||||
fieldMetadataUniversalIdentifier: NAME_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
isVisible: true,
|
||||
size: 12,
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
universalIdentifier: 'd791bea6-c49e-4d6f-8864-737ed00276f8',
|
||||
fieldMetadataUniversalIdentifier: CREATED_AT_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
isVisible: true,
|
||||
size: 12,
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
universalIdentifier: 'db96d9cf-cbd8-407b-b748-7b12913f018b',
|
||||
fieldMetadataUniversalIdentifier: ENDED_AT_FIELD_UNIVERSAL_IDENTIFIER,
|
||||
isVisible: true,
|
||||
size: 12,
|
||||
position: 2,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"compileOnSave": false,
|
||||
"compilerOptions": {
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"outDir": "./dist",
|
||||
"rootDir": ".",
|
||||
"jsx": "react-jsx",
|
||||
"moduleResolution": "node",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"importHelpers": true,
|
||||
"allowUnreachableCode": false,
|
||||
"strict": true,
|
||||
"alwaysStrict": true,
|
||||
"noImplicitAny": true,
|
||||
"strictBindCallApply": false,
|
||||
"target": "es2018",
|
||||
"module": "esnext",
|
||||
"lib": ["es2020", "dom"],
|
||||
"skipLibCheck": true,
|
||||
"skipDefaultLibCheck": true,
|
||||
"resolveJsonModule": true,
|
||||
"paths": {
|
||||
"src/*": ["./src/*"],
|
||||
"~/*": ["./*"]
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -807,6 +807,53 @@ const { me } = await client.query({ me: { id: true, displayName: true } });
|
||||
* تُحدَّد أذونات مفتاح واجهة برمجة التطبيقات بواسطة الدور المشار إليه في `application-config.ts` عبر `defaultRoleUniversalIdentifier`. هذا هو الدور الافتراضي الذي تستخدمه الوظائف المنطقية في تطبيقك.
|
||||
* يمكن للتطبيقات تعريف أدوار لاتباع مبدأ أقل الامتياز. امنح فقط الأذونات التي تحتاجها وظائفك، ثم وجّه `defaultRoleUniversalIdentifier` إلى المعرّف الشامل لذلك الدور.
|
||||
|
||||
#### رفع الملفات
|
||||
|
||||
يتضمن العميل `Twenty` المُولَّد طريقة `uploadFile` لإرفاق الملفات بالحقول من نوع ملف ضمن كائنات مساحة العمل الخاصة بك. نظرًا لأن عملاء GraphQL القياسيون لا يدعمون تحميل الملفات متعددة الأجزاء افتراضيًا، يوفر العميل هذه الطريقة المخصصة التي تطبق [مواصفة طلب GraphQL متعدد الأجزاء](https://github.com/jaydenseric/graphql-multipart-request-spec) في الخلفية.
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
توقيع الطريقة:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| المعلمة | النوع | الوصف |
|
||||
| ---------------------------------- | -------- | ---------------------------------------------------------------------------------- |
|
||||
| `fileBuffer` | `Buffer` | المحتوى الخام للملف |
|
||||
| `filename` | `string` | اسم الملف (يُستخدم للتخزين والعرض) |
|
||||
| `contentType` | `string` | نوع MIME للملف (القيمة الافتراضية هي `application/octet-stream` إذا لم يتم تحديده) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | قيمة `universalIdentifier` لحقل نوع الملف في كائنك |
|
||||
|
||||
النقاط الرئيسية:
|
||||
|
||||
* ترسل هذه الطريقة الملف إلى **نقطة نهاية البيانات الوصفية** (وليست نقطة النهاية الرئيسية لـ GraphQL)، حيث تُنفَّذ عملية الرفع.
|
||||
* تستخدم `universalIdentifier` الخاص بالحقل (وليس المعرّف الخاص بمساحة العمل)، ليعمل كود الرفع لديك عبر أي مساحة عمل مُثبَّت فيها تطبيقك — بما يتماشى مع كيفية إشارة التطبيقات إلى الحقول في كل مكان آخر.
|
||||
* العنوان `url` المُعاد هو عنوان URL موقّع يمكنك استخدامه للوصول إلى الملف المرفوع.
|
||||
|
||||
### مثال Hello World
|
||||
|
||||
استكشف مثالًا بسيطًا شاملًا من البداية إلى النهاية يوضح الكائنات والوظائف المنطقية والمكوّنات الأمامية ومشغّلات متعددة [هنا](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world):
|
||||
|
||||
@@ -807,6 +807,53 @@ Poznámky:
|
||||
* Oprávnění klíče API jsou určena rolí odkazovanou ve vašem `application-config.ts` prostřednictvím `defaultRoleUniversalIdentifier`. Toto je výchozí role používaná logickými funkcemi vaší aplikace.
|
||||
* Aplikace mohou definovat role podle principu nejmenších oprávnění. Udělte pouze oprávnění, která vaše funkce potřebují, a poté nastavte `defaultRoleUniversalIdentifier` na univerzální identifikátor této role.
|
||||
|
||||
#### Nahrávání souborů
|
||||
|
||||
Vygenerovaný klient `Twenty` obsahuje metodu `uploadFile` pro připojování souborů k polím typu souboru u objektů ve vašem pracovním prostoru. Protože standardní klienti GraphQL nativně nepodporují nahrávání souborů pomocí multipart, klient poskytuje tuto speciální metodu, která interně implementuje [specifikaci multipart požadavků GraphQL](https://github.com/jaydenseric/graphql-multipart-request-spec).
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
Signatura metody:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| Parametr | Typ | Popis |
|
||||
| ---------------------------------- | -------- | --------------------------------------------------------------------------- |
|
||||
| `fileBuffer` | `Buffer` | Surový obsah souboru |
|
||||
| `filename` | `string` | Název souboru (používá se pro ukládání a zobrazení) |
|
||||
| `contentType` | `string` | Typ MIME souboru (pokud je vynechán, výchozí je `application/octet-stream`) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | `universalIdentifier` pole typu souboru ve vašem objektu |
|
||||
|
||||
Hlavní body:
|
||||
|
||||
* Metoda odešle soubor na **koncový bod metadat** (nikoli na hlavní koncový bod GraphQL), kde se provede mutace nahrání.
|
||||
* Používá `universalIdentifier` pole (nikoli jeho ID specifické pro pracovní prostor), takže váš kód pro nahrávání funguje ve všech pracovních prostorech, kde je vaše aplikace nainstalována — v souladu s tím, jak aplikace odkazují na pole všude jinde.
|
||||
* Vrácená hodnota `url` je podepsaná adresa URL, kterou můžete použít k přístupu k nahranému souboru.
|
||||
|
||||
### Příklad Hello World
|
||||
|
||||
Prozkoumejte minimalistický end-to-end příklad, který demonstruje objekty, logické funkce, frontendové komponenty a více spouštěčů [zde](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world):
|
||||
|
||||
@@ -807,6 +807,53 @@ Notizen:
|
||||
* Die Berechtigungen des API-Schlüssels werden durch die Rolle bestimmt, auf die in Ihrer `application-config.ts` über `defaultRoleUniversalIdentifier` verwiesen wird. Dies ist die Standardrolle, die von den Logikfunktionen Ihrer Anwendung verwendet wird.
|
||||
* Anwendungen können Rollen definieren, um das Least-Privilege-Prinzip einzuhalten. Gewähren Sie nur die Berechtigungen, die Ihre Funktionen benötigen, und verweisen Sie dann mit `defaultRoleUniversalIdentifier` auf den universellen Bezeichner dieser Rolle.
|
||||
|
||||
#### Dateien hochladen
|
||||
|
||||
Der generierte `Twenty`-Client enthält eine Methode `uploadFile`, um Dateien an Felder des Typs Datei in Ihren Arbeitsbereichsobjekten anzuhängen. Da Standard-GraphQL-Clients Multipart-Datei-Uploads nicht nativ unterstützen, stellt der Client diese dedizierte Methode bereit, die unter der Haube die [GraphQL-Multipart-Anfragespezifikation](https://github.com/jaydenseric/graphql-multipart-request-spec) implementiert.
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
Die Methodensignatur:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| ---------------------------------- | -------- | ------------------------------------------------------------------------------- |
|
||||
| `fileBuffer` | `Buffer` | Der Rohinhalt der Datei |
|
||||
| `filename` | `string` | Der Name der Datei (wird für Speicherung und Anzeige verwendet) |
|
||||
| `contentType` | `string` | MIME-Typ der Datei (standardmäßig `application/octet-stream`, wenn weggelassen) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | Der `universalIdentifier` des Dateityp-Felds in Ihrem Objekt |
|
||||
|
||||
Hauptpunkte:
|
||||
|
||||
* Die Methode sendet die Datei an den **metadata endpoint** (nicht den main GraphQL endpoint), wo die Upload-Mutation ausgeführt wird.
|
||||
* Sie verwendet den `universalIdentifier` des Feldes (nicht dessen arbeitsbereichsspezifische ID), sodass Ihr Upload-Code in jedem Arbeitsbereich funktioniert, in dem Ihre App installiert ist — im Einklang damit, wie Apps Felder überall sonst referenzieren.
|
||||
* Die zurückgegebene `url` ist eine signierte URL, mit der Sie auf die hochgeladene Datei zugreifen können.
|
||||
|
||||
### Hello-World-Beispiel
|
||||
|
||||
Ein minimales End-to-End-Beispiel, das Objekte, Logikfunktionen, Frontend-Komponenten und mehrere Trigger demonstriert, finden Sie [hier](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world):
|
||||
|
||||
@@ -807,6 +807,53 @@ Note:
|
||||
* I permessi della chiave API sono determinati dal ruolo referenziato nel tuo `application-config.ts` tramite `defaultRoleUniversalIdentifier`. Questo è il ruolo predefinito utilizzato dalle funzioni logiche della tua applicazione.
|
||||
* Le applicazioni possono definire ruoli per seguire il principio del privilegio minimo. Concedi solo i permessi necessari alle tue funzioni, quindi punta `defaultRoleUniversalIdentifier` all'identificatore universale di quel ruolo.
|
||||
|
||||
#### Caricamento dei file
|
||||
|
||||
Il client `Twenty` generato include un metodo `uploadFile` per allegare file ai campi di tipo file sugli oggetti del tuo spazio di lavoro. Poiché i client GraphQL standard non supportano nativamente il caricamento di file multipart, il client fornisce questo metodo dedicato che implementa la [specifica della richiesta GraphQL multipart](https://github.com/jaydenseric/graphql-multipart-request-spec) dietro le quinte.
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
La firma del metodo:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| Parametro | Tipo | Descrizione |
|
||||
| ---------------------------------- | -------- | ------------------------------------------------------------------------ |
|
||||
| `fileBuffer` | `Buffer` | Il contenuto grezzo del file |
|
||||
| `filename` | `string` | Il nome del file (utilizzato per l'archiviazione e la visualizzazione) |
|
||||
| `contentType` | `string` | Tipo MIME del file (predefinito su `application/octet-stream` se omesso) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | L'`universalIdentifier` del campo di tipo file nel tuo oggetto |
|
||||
|
||||
Punti chiave:
|
||||
|
||||
* Il metodo invia il file al **metadata endpoint** (non all'endpoint GraphQL principale), dove la mutation di upload viene risolta.
|
||||
* Usa l'`universalIdentifier` del campo (non il suo ID specifico dello spazio di lavoro), quindi il tuo codice di upload funziona in qualsiasi spazio di lavoro in cui la tua app è installata — coerentemente con il modo in cui le app fanno riferimento ai campi altrove.
|
||||
* L'`url` restituito è un URL firmato che puoi usare per accedere al file caricato.
|
||||
|
||||
### Esempio Hello World
|
||||
|
||||
Esplora un esempio minimale end-to-end che dimostra oggetti, funzioni logiche, componenti front-end e trigger multipli [qui](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world):
|
||||
|
||||
@@ -46,13 +46,13 @@ yarn twenty app:dev
|
||||
O gerador de estrutura oferece suporte a três modos para controlar quais arquivos de exemplo são incluídos:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# Padrão (exhaustivo): todos os exemplos (objeto, campo, função de lógica, componente de front-end, visualização, item do menu de navegação, habilidade)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# Mínimo: apenas arquivos principais (application-config.ts e default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interactive: select which examples to include
|
||||
# Interativo: selecione quais exemplos incluir
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
@@ -103,26 +103,26 @@ my-twenty-app/
|
||||
eslint.config.mjs
|
||||
tsconfig.json
|
||||
README.md
|
||||
public/ # Public assets folder (images, fonts, etc.)
|
||||
public/ # Pasta de recursos públicos (imagens, fontes, etc.)
|
||||
src/
|
||||
├── application-config.ts # Required - main application configuration
|
||||
├── application-config.ts # Obrigatório - configuração principal da aplicação
|
||||
├── roles/
|
||||
│ └── default-role.ts # Default role for logic functions
|
||||
│ └── default-role.ts # Papel padrão para funções de lógica
|
||||
├── objects/
|
||||
│ └── example-object.ts # Example custom object definition
|
||||
│ └── example-object.ts # Exemplo de definição de objeto personalizado
|
||||
├── fields/
|
||||
│ └── example-field.ts # Example standalone field definition
|
||||
│ └── example-field.ts # Exemplo de definição de campo independente
|
||||
├── logic-functions/
|
||||
│ ├── hello-world.ts # Example logic function
|
||||
│ └── post-install.ts # Post-install logic function
|
||||
│ ├── hello-world.ts # Exemplo de função de lógica
|
||||
│ └── post-install.ts # Função de lógica de pós-instalação
|
||||
├── front-components/
|
||||
│ └── hello-world.tsx # Example front component
|
||||
│ └── hello-world.tsx # Exemplo de componente de front-end
|
||||
├── views/
|
||||
│ └── example-view.ts # Example saved view definition
|
||||
│ └── example-view.ts # Exemplo de definição de visualização salva
|
||||
├── navigation-menu-items/
|
||||
│ └── example-navigation-menu-item.ts # Example sidebar navigation link
|
||||
│ └── example-navigation-menu-item.ts # Exemplo de link de navegação da barra lateral
|
||||
└── skills/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
└── example-skill.ts # Exemplo de definição de habilidade de agente de IA
|
||||
```
|
||||
|
||||
Com `--minimal`, apenas os arquivos principais são criados (`application-config.ts`, `roles/default-role.ts` e `logic-functions/post-install.ts`). Com `--interactive`, você escolhe quais arquivos de exemplo incluir.
|
||||
@@ -151,7 +151,7 @@ O SDK detecta entidades analisando seus arquivos TypeScript em busca de chamadas
|
||||
| `defineField()` | Extensões de campos para objetos existentes |
|
||||
| `defineView()` | Definições de visualizações salvas |
|
||||
| `defineNavigationMenuItem()` | Definições de itens do menu de navegação |
|
||||
| `defineSkill()` | AI agent skill definitions |
|
||||
| `defineSkill()` | Definições de habilidades de agente de IA |
|
||||
|
||||
<Note>
|
||||
**A nomeação de arquivos é flexível.** A detecção de entidades é baseada em AST — o SDK varre seus arquivos fonte em busca do padrão `export default define<Entity>({...})`. Você pode organizar seus arquivos e pastas como quiser. Agrupar por tipo de entidade (por exemplo, `logic-functions/`, `roles/`) é apenas uma convenção para organização do código, não um requisito.
|
||||
@@ -173,7 +173,7 @@ export default defineObject({
|
||||
Comandos posteriores adicionarão mais arquivos e pastas:
|
||||
|
||||
* `yarn twenty app:dev` vai gerar automaticamente um cliente de API tipado em `node_modules/twenty-sdk/generated` (cliente Twenty tipado + tipos do espaço de trabalho).
|
||||
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
|
||||
* `yarn twenty entity:add` adicionará arquivos de definição de entidade em `src/` para seus objetos, funções, componentes de front-end, papéis e habilidades personalizados, entre outros.
|
||||
|
||||
## Autenticação
|
||||
|
||||
@@ -226,7 +226,7 @@ O SDK fornece funções utilitárias para definir as entidades do seu app. Confo
|
||||
| `defineField()` | Estender objetos existentes com campos adicionais |
|
||||
| `defineView()` | Define visualizações salvas para objetos |
|
||||
| `defineNavigationMenuItem()` | Define links de navegação da barra lateral |
|
||||
| `defineSkill()` | Define AI agent skills |
|
||||
| `defineSkill()` | Define habilidades de agente de IA |
|
||||
|
||||
Essas funções validam sua configuração em tempo de compilação e oferecem autocompletar na IDE e segurança de tipos.
|
||||
|
||||
@@ -748,7 +748,7 @@ Você pode criar novos componentes de front-end de duas formas:
|
||||
|
||||
### Habilidades
|
||||
|
||||
Skills define reusable instructions and capabilities that AI agents can use within your workspace. Use `defineSkill()` to define skills with built-in validation:
|
||||
As habilidades definem instruções e capacidades reutilizáveis que os agentes de IA podem usar no seu espaço de trabalho. Use `defineSkill()` para definir habilidades com validação integrada:
|
||||
|
||||
```typescript
|
||||
// src/skills/example-skill.ts
|
||||
@@ -770,16 +770,16 @@ export default defineSkill({
|
||||
|
||||
Pontos-chave:
|
||||
|
||||
* `name` is a unique identifier string for the skill (kebab-case recommended).
|
||||
* `label` is the human-readable display name shown in the UI.
|
||||
* `content` contains the skill instructions — this is the text the AI agent uses.
|
||||
* `icon` (optional) sets the icon displayed in the UI.
|
||||
* `description` (optional) provides additional context about the skill's purpose.
|
||||
* `name` é uma string de identificador exclusivo para a habilidade (recomenda-se kebab-case).
|
||||
* `label` é o nome de exibição legível por humanos mostrado na UI.
|
||||
* `content` contém as instruções da habilidade — este é o texto que o agente de IA usa.
|
||||
* `icon` (opcional) define o ícone exibido na UI.
|
||||
* `description` (opcional) fornece contexto adicional sobre a finalidade da habilidade.
|
||||
|
||||
You can create new skills in two ways:
|
||||
Você pode criar novas habilidades de duas formas:
|
||||
|
||||
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new skill.
|
||||
* **Manual**: Create a new file and use `defineSkill()`, following the same pattern.
|
||||
* **Gerado automaticamente**: Execute `yarn twenty entity:add` e escolha a opção para adicionar uma nova habilidade.
|
||||
* **Manual**: Crie um novo arquivo e use `defineSkill()`, seguindo o mesmo padrão.
|
||||
|
||||
### Cliente tipado gerado
|
||||
|
||||
@@ -807,6 +807,53 @@ Notas:
|
||||
* As permissões da chave de API são determinadas pelo papel referenciado no seu `application-config.ts` via `defaultRoleUniversalIdentifier`. Este é o papel padrão usado pelas funções de lógica do seu app.
|
||||
* Os aplicativos podem definir papéis para seguir o princípio do menor privilégio. Conceda apenas as permissões de que suas funções precisam e, em seguida, aponte `defaultRoleUniversalIdentifier` para o identificador universal desse papel.
|
||||
|
||||
#### Carregamento de ficheiros
|
||||
|
||||
O cliente `Twenty` gerado inclui um método `uploadFile` para anexar ficheiros a campos do tipo ficheiro nos objetos do seu espaço de trabalho. Como os clientes GraphQL padrão não suportam nativamente o carregamento de ficheiros multipart, o cliente fornece este método dedicado que implementa, nos bastidores, a [especificação de pedidos multipart do GraphQL](https://github.com/jaydenseric/graphql-multipart-request-spec).
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
A assinatura do método:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| Parâmetro | Tipo | Descrição |
|
||||
| ---------------------------------- | -------- | ------------------------------------------------------------------------ |
|
||||
| `fileBuffer` | `Buffer` | O conteúdo bruto do arquivo |
|
||||
| `filename` | `string` | O nome do arquivo (usado para armazenamento e exibição) |
|
||||
| `contentType` | `string` | Tipo MIME do arquivo (padrão para `application/octet-stream` se omitido) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | O `universalIdentifier` do campo do tipo arquivo no seu objeto |
|
||||
|
||||
Pontos-chave:
|
||||
|
||||
* O método envia o arquivo para o **endpoint de metadados** (não para o endpoint GraphQL principal), onde a mutação de upload é resolvida.
|
||||
* Ele usa o `universalIdentifier` do campo (não o ID específico do espaço de trabalho), de modo que seu código de upload funcione em qualquer espaço de trabalho onde seu app esteja instalado — consistente com a forma como os apps referenciam campos em qualquer outro lugar.
|
||||
* A `url` retornada é um URL assinado que você pode usar para acessar o arquivo enviado.
|
||||
|
||||
### Exemplo Hello World
|
||||
|
||||
Explore um exemplo mínimo de ponta a ponta que demonstra objetos, funções de lógica, componentes de front-end e vários gatilhos [aqui](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world):
|
||||
|
||||
@@ -807,6 +807,53 @@ Notițe:
|
||||
* Permisiunile cheii API sunt determinate de rolul referențiat în `application-config.ts` prin `defaultRoleUniversalIdentifier`. Acesta este rolul implicit folosit de funcțiile de logică ale aplicației.
|
||||
* Aplicațiile pot defini roluri pentru a urma principiul celui mai mic privilegiu. Acordați doar permisiunile de care au nevoie funcțiile, apoi setați `defaultRoleUniversalIdentifier` la identificatorul universal al acelui rol.
|
||||
|
||||
#### Încărcarea fișierelor
|
||||
|
||||
Clientul `Twenty` generat include o metodă `uploadFile` pentru atașarea fișierelor la câmpuri de tip fișier ale obiectelor din spațiul de lucru. Deoarece clienții GraphQL standard nu acceptă în mod nativ încărcarea fișierelor multipart, clientul oferă această metodă dedicată care implementează, sub capotă, [specificația cererilor GraphQL multipart](https://github.com/jaydenseric/graphql-multipart-request-spec).
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
Semnătura metodei:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| Parametru | Tip | Descriere |
|
||||
| ---------------------------------- | -------- | ------------------------------------------------------------------------------------------- |
|
||||
| `fileBuffer` | `Buffer` | Conținutul brut al fișierului |
|
||||
| `filename` | `string` | Numele fișierului (folosit pentru stocare și afișare) |
|
||||
| `contentType` | `string` | Tipul MIME al fișierului (are valoarea implicită `application/octet-stream` dacă este omis) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | `universalIdentifier` al câmpului de tip fișier de pe obiectul tău |
|
||||
|
||||
Puncte cheie:
|
||||
|
||||
* Metoda trimite fișierul către **metadata endpoint** (nu către endpoint-ul principal GraphQL), unde mutația de încărcare este rezolvată.
|
||||
* Folosește `universalIdentifier` al câmpului (nu ID-ul specific spațiului de lucru), astfel încât codul tău de încărcare funcționează în orice spațiu de lucru în care aplicația ta este instalată — în concordanță cu modul în care aplicațiile fac referire la câmpuri în rest.
|
||||
* `url` returnat este un URL semnat pe care îl poți folosi pentru a accesa fișierul încărcat.
|
||||
|
||||
### Exemplu Hello World
|
||||
|
||||
Explorați un exemplu minim, cap la cap, care demonstrează obiecte, funcții de logică, componente Front și declanșatoare multiple [aici](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world):
|
||||
|
||||
@@ -46,13 +46,13 @@ yarn twenty app:dev
|
||||
Генератор каркаса поддерживает три режима для управления тем, какие примерные файлы включаются:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# По умолчанию (полный набор): все примеры (объект, поле, логическая функция, фронтенд-компонент, представление, пункт меню навигации, навык)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# Минимальный: только основные файлы (application-config.ts и default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interactive: select which examples to include
|
||||
# Интерактивный: выбрать, какие примеры включить
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
@@ -103,26 +103,26 @@ my-twenty-app/
|
||||
eslint.config.mjs
|
||||
tsconfig.json
|
||||
README.md
|
||||
public/ # Public assets folder (images, fonts, etc.)
|
||||
public/ # Папка публичных ресурсов (изображения, шрифты и т. д.)
|
||||
src/
|
||||
├── application-config.ts # Required - main application configuration
|
||||
├── application-config.ts # Обязательный — основная конфигурация приложения
|
||||
├── roles/
|
||||
│ └── default-role.ts # Default role for logic functions
|
||||
│ └── default-role.ts # Роль по умолчанию для логических функций
|
||||
├── objects/
|
||||
│ └── example-object.ts # Example custom object definition
|
||||
│ └── example-object.ts # Пример определения пользовательского объекта
|
||||
├── fields/
|
||||
│ └── example-field.ts # Example standalone field definition
|
||||
│ └── example-field.ts # Пример определения отдельного поля
|
||||
├── logic-functions/
|
||||
│ ├── hello-world.ts # Example logic function
|
||||
│ └── post-install.ts # Post-install logic function
|
||||
│ ├── hello-world.ts # Пример логической функции
|
||||
│ └── post-install.ts # Постустановочная логическая функция
|
||||
├── front-components/
|
||||
│ └── hello-world.tsx # Example front component
|
||||
│ └── hello-world.tsx # Пример фронтенд-компонента
|
||||
├── views/
|
||||
│ └── example-view.ts # Example saved view definition
|
||||
│ └── example-view.ts # Пример определения сохранённого представления
|
||||
├── navigation-menu-items/
|
||||
│ └── example-navigation-menu-item.ts # Example sidebar navigation link
|
||||
│ └── example-navigation-menu-item.ts # Пример ссылки боковой панели навигации
|
||||
└── skills/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
└── example-skill.ts # Пример определения навыка агента ИИ
|
||||
```
|
||||
|
||||
С `--minimal` создаются только основные файлы (`application-config.ts`, `roles/default-role.ts` и `logic-functions/post-install.ts`). С `--interactive` вы выбираете, какие примерные файлы включить.
|
||||
@@ -151,7 +151,7 @@ SDK обнаруживает сущности, разбирая ваши фай
|
||||
| `defineField()` | Расширения полей для существующих объектов |
|
||||
| `defineView()` | Определения сохранённых представлений |
|
||||
| `defineNavigationMenuItem()` | Определения пунктов меню навигации |
|
||||
| `defineSkill()` | AI agent skill definitions |
|
||||
| `defineSkill()` | Определения навыков агента ИИ |
|
||||
|
||||
<Note>
|
||||
**Имена файлов заданы гибко.** Обнаружение сущностей основано на AST — SDK сканирует ваши исходные файлы в поисках шаблона `export default define<Entity>({...})`. Вы можете организовывать файлы и папки как угодно. Группировка по типу сущности (например, `logic-functions/`, `roles/`) — это лишь соглашение для организации кода, а не требование.
|
||||
@@ -173,7 +173,7 @@ export default defineObject({
|
||||
Позднее команды добавят больше файлов и папок:
|
||||
|
||||
* `yarn twenty app:dev` автоматически сгенерирует типизированный клиент API в `node_modules/twenty-sdk/generated` (типизированный клиент Twenty + типы рабочего пространства).
|
||||
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
|
||||
* `yarn twenty entity:add` добавит файлы определений сущностей в `src/` для ваших пользовательских объектов, функций, фронтенд-компонентов, ролей, навыков и многого другого.
|
||||
|
||||
## Аутентификация
|
||||
|
||||
@@ -226,7 +226,7 @@ SDK предоставляет вспомогательные функции д
|
||||
| `defineField()` | Расширение существующих объектов дополнительными полями |
|
||||
| `defineView()` | Определяйте сохранённые представления для объектов |
|
||||
| `defineNavigationMenuItem()` | Определяйте ссылки боковой панели навигации |
|
||||
| `defineSkill()` | Define AI agent skills |
|
||||
| `defineSkill()` | Определение навыков агента ИИ |
|
||||
|
||||
Эти функции проверяют вашу конфигурацию на этапе сборки и обеспечивают автодополнение в IDE и безопасность типов.
|
||||
|
||||
@@ -748,7 +748,7 @@ export default defineFrontComponent({
|
||||
|
||||
### Навыки
|
||||
|
||||
Skills define reusable instructions and capabilities that AI agents can use within your workspace. Use `defineSkill()` to define skills with built-in validation:
|
||||
Навыки определяют многократно используемые инструкции и возможности, которые агенты ИИ могут использовать в вашем рабочем пространстве. Используйте `defineSkill()` для определения навыков со встроенной валидацией:
|
||||
|
||||
```typescript
|
||||
// src/skills/example-skill.ts
|
||||
@@ -770,16 +770,16 @@ export default defineSkill({
|
||||
|
||||
Основные моменты:
|
||||
|
||||
* `name` is a unique identifier string for the skill (kebab-case recommended).
|
||||
* `label` is the human-readable display name shown in the UI.
|
||||
* `content` contains the skill instructions — this is the text the AI agent uses.
|
||||
* `icon` (optional) sets the icon displayed in the UI.
|
||||
* `description` (optional) provides additional context about the skill's purpose.
|
||||
* `name` — уникальная строка-идентификатор навыка (рекомендуется kebab-case).
|
||||
* `label` — читаемое человеком отображаемое имя, показываемое в UI.
|
||||
* `content` содержит инструкции навыка — это текст, который использует агент ИИ.
|
||||
* `icon` (необязательно) задаёт значок, отображаемый в UI.
|
||||
* `description` (необязательно) предоставляет дополнительный контекст о назначении навыка.
|
||||
|
||||
You can create new skills in two ways:
|
||||
Вы можете создать новые навыки двумя способами:
|
||||
|
||||
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new skill.
|
||||
* **Manual**: Create a new file and use `defineSkill()`, following the same pattern.
|
||||
* **Сгенерировано**: Запустите `yarn twenty entity:add` и выберите опцию добавления нового навыка.
|
||||
* **Вручную**: Создайте новый файл и используйте `defineSkill()`, следуя тому же шаблону.
|
||||
|
||||
### Сгенерированный типизированный клиент
|
||||
|
||||
@@ -807,6 +807,53 @@ const { me } = await client.query({ me: { id: true, displayName: true } });
|
||||
* Права ключа API определяются ролью, на которую ссылается ваш `application-config.ts` через `defaultRoleUniversalIdentifier`. Это роль по умолчанию, используемая логическими функциями вашего приложения.
|
||||
* Приложения могут определять роли, чтобы следовать принципу наименьших привилегий. Предоставляйте только те права, которые нужны вашим функциям, затем укажите в `defaultRoleUniversalIdentifier` универсальный идентификатор этой роли.
|
||||
|
||||
#### Загрузка файлов
|
||||
|
||||
Сгенерированный клиент `Twenty` включает метод `uploadFile` для прикрепления файлов к полям типа «файл» в объектах вашего рабочего пространства. Поскольку стандартные клиенты GraphQL изначально не поддерживают многочастовую загрузку файлов, клиент предоставляет специальный метод, который под капотом реализует [спецификацию многочастных запросов GraphQL](https://github.com/jaydenseric/graphql-multipart-request-spec).
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
Сигнатура метода:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| ---------------------------------- | -------- | ------------------------------------------------------------------------ |
|
||||
| `fileBuffer` | `Buffer` | Необработанное содержимое файла |
|
||||
| `filename` | `строка` | Имя файла (используется для хранения и отображения) |
|
||||
| `contentType` | `строка` | Тип MIME файла (по умолчанию `application/octet-stream`, если не указан) |
|
||||
| `fieldMetadataUniversalIdentifier` | `строка` | Значение `universalIdentifier` для поля типа файла в вашем объекте |
|
||||
|
||||
Основные моменты:
|
||||
|
||||
* Метод отправляет файл на **metadata endpoint** (не на основной GraphQL endpoint), где обрабатывается мутация загрузки.
|
||||
* Он использует `universalIdentifier` поля (а не его идентификатор, специфичный для рабочего пространства), поэтому ваш код загрузки будет работать в любом рабочем пространстве, где установлено ваше приложение — в соответствии с тем, как приложения ссылаются на поля повсюду.
|
||||
* Возвращаемый `url` — это подписанный URL, который можно использовать для доступа к загруженному файлу.
|
||||
|
||||
### Пример Hello World
|
||||
|
||||
Ознакомьтесь с минимальным сквозным примером, демонстрирующим объекты, логические функции, фронт-компоненты и несколько триггеров, [здесь](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world):
|
||||
|
||||
@@ -46,13 +46,13 @@ yarn twenty app:dev
|
||||
İskelet oluşturucu, hangi örnek dosyaların dahil edileceğini kontrol etmek için üç modu destekler:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# Varsayılan (kapsamlı): tüm örnekler (nesne, alan, mantık fonksiyonu, ön bileşen, görünüm, gezinme menüsü öğesi, yetenek)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# Minimal: yalnızca çekirdek dosyalar (application-config.ts ve default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interactive: select which examples to include
|
||||
# Etkileşimli: dahil edilecek örnekleri seçin
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
@@ -103,26 +103,26 @@ my-twenty-app/
|
||||
eslint.config.mjs
|
||||
tsconfig.json
|
||||
README.md
|
||||
public/ # Public assets folder (images, fonts, etc.)
|
||||
public/ # Genel varlıklar klasörü (görseller, yazı tipleri vb.)
|
||||
src/
|
||||
├── application-config.ts # Required - main application configuration
|
||||
├── application-config.ts # Gerekli - ana uygulama yapılandırması
|
||||
├── roles/
|
||||
│ └── default-role.ts # Default role for logic functions
|
||||
│ └── default-role.ts # Mantık fonksiyonları için varsayılan rol
|
||||
├── objects/
|
||||
│ └── example-object.ts # Example custom object definition
|
||||
│ └── example-object.ts # Örnek özel nesne tanımı
|
||||
├── fields/
|
||||
│ └── example-field.ts # Example standalone field definition
|
||||
│ └── example-field.ts # Örnek bağımsız alan tanımı
|
||||
├── logic-functions/
|
||||
│ ├── hello-world.ts # Example logic function
|
||||
│ └── post-install.ts # Post-install logic function
|
||||
│ ├── hello-world.ts # Örnek mantık fonksiyonu
|
||||
│ └── post-install.ts # Kurulum sonrası mantık fonksiyonu
|
||||
├── front-components/
|
||||
│ └── hello-world.tsx # Example front component
|
||||
│ └── hello-world.tsx # Örnek ön bileşen
|
||||
├── views/
|
||||
│ └── example-view.ts # Example saved view definition
|
||||
│ └── example-view.ts # Örnek kaydedilmiş görünüm tanımı
|
||||
├── navigation-menu-items/
|
||||
│ └── example-navigation-menu-item.ts # Example sidebar navigation link
|
||||
│ └── example-navigation-menu-item.ts # Örnek kenar çubuğu gezinme bağlantısı
|
||||
└── skills/
|
||||
└── example-skill.ts # Example AI agent skill definition
|
||||
└── example-skill.ts # Örnek yapay zekâ ajanı yetenek tanımı
|
||||
```
|
||||
|
||||
`--minimal` ile yalnızca çekirdek dosyalar oluşturulur (`application-config.ts`, `roles/default-role.ts` ve `logic-functions/post-install.ts`). `--interactive` ile hangi örnek dosyaların dahil edileceğini siz seçersiniz.
|
||||
@@ -151,7 +151,7 @@ SDK, TypeScript dosyalarınızı **`export default define<Entity>({...})`** ça
|
||||
| `defineField()` | Mevcut nesneler için alan genişletmeleri |
|
||||
| `defineView()` | Kaydedilmiş görünüm tanımları |
|
||||
| `defineNavigationMenuItem()` | Gezinme menüsü öğesi tanımları |
|
||||
| `defineSkill()` | AI agent skill definitions |
|
||||
| `defineSkill()` | Yapay zekâ ajanı yetenek tanımları |
|
||||
|
||||
<Note>
|
||||
**Dosya adlandırma esnektir.** Varlık algılama AST tabanlıdır — SDK, kaynak dosyalarınızı `export default define<Entity>({...})` desenini bulmak için tarar. Dosyalarınızı ve klasörlerinizi dilediğiniz gibi düzenleyebilirsiniz. Varlık türüne göre gruplama (örn. `logic-functions/`, `roles/`) bir gereklilik değil, yalnızca kod organizasyonu için bir gelenektir.
|
||||
@@ -173,7 +173,7 @@ export default defineObject({
|
||||
İlerideki komutlar daha fazla dosya ve klasör ekleyecektir:
|
||||
|
||||
* `yarn twenty app:dev`, `node_modules/twenty-sdk/generated` içinde tipli bir API istemcisini otomatik olarak oluşturur (tipli Twenty istemcisi + çalışma alanı türleri).
|
||||
* `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more.
|
||||
* `yarn twenty entity:add`, özel nesneleriniz, fonksiyonlarınız, ön bileşenleriniz, rolleriniz, yetenekleriniz ve daha fazlası için `src/` altında varlık tanım dosyaları ekler.
|
||||
|
||||
## Kimlik Doğrulama
|
||||
|
||||
@@ -226,7 +226,7 @@ SDK, uygulama varlıklarınızı tanımlamak için yardımcı fonksiyonlar sağl
|
||||
| `defineField()` | Mevcut nesneleri ek alanlarla genişletin |
|
||||
| `defineView()` | Nesneler için kaydedilmiş görünümler tanımlayın |
|
||||
| `defineNavigationMenuItem()` | Kenar çubuğu gezinme bağlantılarını tanımlayın |
|
||||
| `defineSkill()` | Define AI agent skills |
|
||||
| `defineSkill()` | Yapay zekâ ajanı yeteneklerini tanımlayın |
|
||||
|
||||
Bu fonksiyonlar, derleme zamanında yapılandırmanızı doğrular ve IDE otomatik tamamlama ile tür güvenliği sağlar.
|
||||
|
||||
@@ -748,7 +748,7 @@ Yeni ön uç bileşenlerini iki şekilde oluşturabilirsiniz:
|
||||
|
||||
### Beceriler
|
||||
|
||||
Skills define reusable instructions and capabilities that AI agents can use within your workspace. Use `defineSkill()` to define skills with built-in validation:
|
||||
Yetenekler, yapay zekâ ajanlarının çalışma alanınızda kullanabileceği yeniden kullanılabilir yönergeleri ve kabiliyetleri tanımlar. Yerleşik doğrulamayla yetenekleri tanımlamak için `defineSkill()` kullanın:
|
||||
|
||||
```typescript
|
||||
// src/skills/example-skill.ts
|
||||
@@ -770,16 +770,16 @@ export default defineSkill({
|
||||
|
||||
Önemli noktalar:
|
||||
|
||||
* `name` is a unique identifier string for the skill (kebab-case recommended).
|
||||
* `label` is the human-readable display name shown in the UI.
|
||||
* `content` contains the skill instructions — this is the text the AI agent uses.
|
||||
* `icon` (optional) sets the icon displayed in the UI.
|
||||
* `description` (optional) provides additional context about the skill's purpose.
|
||||
* `name`, yetenek için benzersiz bir tanımlayıcı dizedir (kebab-case önerilir).
|
||||
* `label`, UI'de gösterilen, insan tarafından okunabilir addır.
|
||||
* `content`, yetenek yönergelerini içerir — bu, yapay zekâ ajanının kullandığı metindir.
|
||||
* `icon` (isteğe bağlı), UI'de gösterilen simgeyi ayarlar.
|
||||
* `description` (isteğe bağlı), yeteneğin amacı hakkında ek bağlam sağlar.
|
||||
|
||||
You can create new skills in two ways:
|
||||
Yeni yetenekleri iki şekilde oluşturabilirsiniz:
|
||||
|
||||
* **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new skill.
|
||||
* **Manual**: Create a new file and use `defineSkill()`, following the same pattern.
|
||||
* **Şablondan**: `yarn twenty entity:add` komutunu çalıştırın ve yeni bir yetenek ekleme seçeneğini seçin.
|
||||
* **Manuel**: Yeni bir dosya oluşturun ve aynı deseni izleyerek `defineSkill()` kullanın.
|
||||
|
||||
### Oluşturulmuş türlendirilmiş istemci
|
||||
|
||||
@@ -807,6 +807,53 @@ Notlar:
|
||||
* API anahtarının izinleri, `application-config.ts` içinde `defaultRoleUniversalIdentifier` aracılığıyla referans verilen role göre belirlenir. Bu, uygulamanızın mantık fonksiyonları tarafından kullanılan varsayılan roldür.
|
||||
* Uygulamalar, en az ayrıcalık ilkesini izlemek için roller tanımlayabilir. Yalnızca fonksiyonlarınızın ihtiyaç duyduğu izinleri verin ve ardından `defaultRoleUniversalIdentifier` değerini o rolün evrensel tanımlayıcısına yönlendirin.
|
||||
|
||||
#### Dosya yükleme
|
||||
|
||||
Oluşturulan `Twenty` istemcisi, çalışma alanı nesnelerinizdeki dosya türündeki alanlara dosya eklemek için bir `uploadFile` yöntemi içerir. Standart GraphQL istemcileri çok parçalı dosya yüklemelerini yerel olarak desteklemediğinden, istemci arka planda [GraphQL çok parçalı istek belirtimi](https://github.com/jaydenseric/graphql-multipart-request-spec) uygulayan bu özel yöntemi sağlar.
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
Yöntem imzası:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| Parametre | Tür | Açıklama |
|
||||
| ---------------------------------- | -------- | ------------------------------------------------------------------------------------------ |
|
||||
| `fileBuffer` | `Buffer` | Dosyanın ham içeriği |
|
||||
| `filename` | `string` | Dosyanın adı (depolama ve görüntüleme için kullanılır) |
|
||||
| `contentType` | `string` | Dosyanın MIME türü (belirtilmezse varsayılan olarak `application/octet-stream` kullanılır) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | Nesnenizdeki dosya türü alanının `universalIdentifier` değeri |
|
||||
|
||||
Önemli noktalar:
|
||||
|
||||
* Yöntem dosyayı, yükleme mutasyonunun çözümlendiği **metadata endpoint**'e (ana GraphQL endpoint'ine değil) gönderir.
|
||||
* Alan için `universalIdentifier` kullanılır (çalışma alanına özgü kimliği değil), böylece yükleme kodunuz uygulamanızın yüklü olduğu herhangi bir çalışma alanında çalışır — uygulamaların başka her yerde alanlara nasıl atıfta bulunduğuyla tutarlıdır.
|
||||
* Döndürülen `url`, yüklenen dosyaya erişmek için kullanabileceğiniz imzalı bir URL'dir.
|
||||
|
||||
### Hello World örneği
|
||||
|
||||
Nesneleri, mantık fonksiyonlarını, ön uç bileşenlerini ve birden çok tetikleyiciyi gösteren minimal, uçtan uca bir örneği [buradan](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world) inceleyin:
|
||||
|
||||
@@ -46,13 +46,13 @@ yarn twenty app:dev
|
||||
The scaffolder supports three modes for controlling which example files are included:
|
||||
|
||||
```bash filename="Terminal"
|
||||
# Default (exhaustive): all examples (object, field, logic function, front component, view, navigation menu item, skill)
|
||||
# 默认(完整):所有示例(对象、字段、逻辑函数、前端组件、视图、导航菜单项、技能)
|
||||
npx create-twenty-app@latest my-app
|
||||
|
||||
# Minimal: only core files (application-config.ts and default-role.ts)
|
||||
# 最小化:仅核心文件(application-config.ts 和 default-role.ts)
|
||||
npx create-twenty-app@latest my-app --minimal
|
||||
|
||||
# Interactive: select which examples to include
|
||||
# 交互式:选择要包含的示例
|
||||
npx create-twenty-app@latest my-app --interactive
|
||||
```
|
||||
|
||||
@@ -807,6 +807,53 @@ const { me } = await client.query({ me: { id: true, displayName: true } });
|
||||
* API 密钥的权限由 `application-config.ts` 中通过 `defaultRoleUniversalIdentifier` 引用的角色决定。 这是你的应用逻辑函数使用的默认角色。
|
||||
* 应用可以定义角色以遵循最小权限原则。 仅授予函数所需的权限,然后将 `defaultRoleUniversalIdentifier` 指向该角色的通用标识符。
|
||||
|
||||
#### 上传文件
|
||||
|
||||
生成的 `Twenty` 客户端包含一个 `uploadFile` 方法,用于将文件附加到工作区对象的文件类型字段。 由于标准 GraphQL 客户端不原生支持多部分文件上传,该客户端提供了一个专用方法,在底层实现了 [GraphQL 多部分请求规范](https://github.com/jaydenseric/graphql-multipart-request-spec)。
|
||||
|
||||
```typescript
|
||||
import Twenty from '~/generated';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const client = new Twenty();
|
||||
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await client.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
// { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' }
|
||||
```
|
||||
|
||||
方法签名:
|
||||
|
||||
```typescript
|
||||
uploadFile(
|
||||
fileBuffer: Buffer,
|
||||
filename: string,
|
||||
contentType: string,
|
||||
fieldMetadataUniversalIdentifier: string,
|
||||
): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }>
|
||||
```
|
||||
|
||||
| 参数 | 类型 | 描述 |
|
||||
| ---------------------------------- | -------- | ------------------------------------------------ |
|
||||
| `fileBuffer` | `Buffer` | 原始文件内容 |
|
||||
| `filename` | `string` | 文件名称(用于存储和显示) |
|
||||
| `contentType` | `string` | 文件的 MIME 类型(如果省略,默认为 `application/octet-stream`) |
|
||||
| `fieldMetadataUniversalIdentifier` | `string` | 你的对象上文件类型字段的 `universalIdentifier` |
|
||||
|
||||
关键点:
|
||||
|
||||
* 该方法将文件发送到**元数据端点**(而不是主 GraphQL 端点),在那里处理上传变更操作。
|
||||
* 它使用该字段的 `universalIdentifier`(而不是其工作区特定的 ID),因此你的上传代码可以在安装了你的应用的任何工作区中使用——这与应用在其他地方引用字段的方式保持一致。
|
||||
* 返回的 `url` 是一个签名 URL,你可以用它来访问已上传的文件。
|
||||
|
||||
### Hello World 示例
|
||||
|
||||
在[此处](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/hello-world)查看一个最小的端到端示例,展示对象、逻辑函数、前端组件和多种触发器:
|
||||
|
||||
@@ -63,7 +63,7 @@ const jestConfig = {
|
||||
global: {
|
||||
statements: 49.5,
|
||||
lines: 48,
|
||||
functions: 40,
|
||||
functions: 39.5,
|
||||
},
|
||||
},
|
||||
collectCoverageFrom: ['<rootDir>/src/**/*.ts'],
|
||||
|
||||
File diff suppressed because one or more lines are too long
+3
-3
@@ -3,7 +3,7 @@ import { useDefaultHomePagePath } from '@/navigation/hooks/useDefaultHomePagePat
|
||||
import { useOnboardingStatus } from '@/onboarding/hooks/useOnboardingStatus';
|
||||
import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo';
|
||||
import { useParams } from 'react-router-dom';
|
||||
import { useRecoilValue } from 'recoil';
|
||||
import { useRecoilValueV2 } from '@/ui/utilities/state/jotai/hooks/useRecoilValueV2';
|
||||
import { AppPath, SettingsPath } from 'twenty-shared/types';
|
||||
import { getSettingsPath } from 'twenty-shared/utils';
|
||||
|
||||
@@ -63,14 +63,14 @@ const setupMockUseParams = (objectNamePlural?: string) => {
|
||||
.mockReturnValueOnce({ objectNamePlural: objectNamePlural ?? '' });
|
||||
};
|
||||
|
||||
jest.mock('recoil');
|
||||
jest.mock('@/ui/utilities/state/jotai/hooks/useRecoilValueV2');
|
||||
const setupMockRecoil = (
|
||||
objectNamePlural?: string,
|
||||
verifyEmailRedirectPath?: string,
|
||||
calendarBookingPageId?: string | null,
|
||||
) => {
|
||||
jest
|
||||
.mocked(useRecoilValue)
|
||||
.mocked(useRecoilValueV2)
|
||||
.mockReturnValueOnce(calendarBookingPageId ?? 'mock-calendar-id')
|
||||
.mockReturnValueOnce([{ namePlural: objectNamePlural ?? '' }])
|
||||
.mockReturnValueOnce(verifyEmailRedirectPath);
|
||||
|
||||
@@ -5,9 +5,9 @@ import { useIsCurrentLocationOnAWorkspace } from '@/domain-manager/hooks/useIsCu
|
||||
import { useDefaultHomePagePath } from '@/navigation/hooks/useDefaultHomePagePath';
|
||||
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
|
||||
import { useOnboardingStatus } from '@/onboarding/hooks/useOnboardingStatus';
|
||||
import { useRecoilValueV2 } from '@/ui/utilities/state/jotai/hooks/useRecoilValueV2';
|
||||
import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo';
|
||||
import { useLocation, useParams } from 'react-router-dom';
|
||||
import { useRecoilValue } from 'recoil';
|
||||
import { AppPath, SettingsPath } from 'twenty-shared/types';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
import { WorkspaceActivationStatus } from 'twenty-shared/workspace';
|
||||
@@ -23,7 +23,7 @@ export const usePageChangeEffectNavigateLocation = () => {
|
||||
);
|
||||
const { defaultHomePagePath } = useDefaultHomePagePath();
|
||||
const location = useLocation();
|
||||
const calendarBookingPageId = useRecoilValue(calendarBookingPageIdState);
|
||||
const calendarBookingPageId = useRecoilValueV2(calendarBookingPageIdState);
|
||||
|
||||
const someMatchingLocationOf = (appPaths: AppPath[]): boolean =>
|
||||
appPaths.some((appPath) => isMatchingLocation(location, appPath));
|
||||
@@ -45,11 +45,13 @@ export const usePageChangeEffectNavigateLocation = () => {
|
||||
];
|
||||
|
||||
const objectNamePlural = useParams().objectNamePlural ?? '';
|
||||
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
|
||||
const objectMetadataItems = useRecoilValueV2(objectMetadataItemsState);
|
||||
const objectMetadataItem = objectMetadataItems?.find(
|
||||
(objectMetadataItem) => objectMetadataItem.namePlural === objectNamePlural,
|
||||
);
|
||||
const verifyEmailRedirectPath = useRecoilValue(verifyEmailRedirectPathState);
|
||||
const verifyEmailRedirectPath = useRecoilValueV2(
|
||||
verifyEmailRedirectPathState,
|
||||
);
|
||||
|
||||
if (
|
||||
(!isLoggedIn || (isLoggedIn && !isOnAWorkspace)) &&
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Gevorderde funksie om die werkverrigting van navrae te verbeter en uniek
|
||||
msgid "Advanced filter"
|
||||
msgstr "Gevorderde filter"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "KI"
|
||||
msgid "AI Model"
|
||||
msgstr "KI Model"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Konfigurasie"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Konfigureer hierdie widget om velde te vertoon"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Besluit watter Subadresvelde jy wil vertoon"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Verstekland"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Verstek landkode"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Kon nie rol opdateer nie"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Mislukkingskoers"
|
||||
msgid "False"
|
||||
msgstr "Vals"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Missie voltooi!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Meer"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Geen maatstawedata beskikbaar"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Geen modelle beskikbaar nie. Stel asseblief KI-modelle in jou werkruimte-instellings op."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Wagryprestasie"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Wagry: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Instelling van jou databasis..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Hemelblou"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "ميزة متقدمة لتحسين أداء الاستعلامات وف
|
||||
msgid "Advanced filter"
|
||||
msgstr "الفلتر المتقدم"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "الذكاء الاصطناعي"
|
||||
msgid "AI Model"
|
||||
msgstr "نموذج الذكاء الاصطناعي"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "التكوين"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "قم بتهيئة هذه الأداة لعرض الحقول"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "قرر أي حقول العناوين الفرعية تريد عرضها"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "البلد الافتراضي"
|
||||
msgid "Default Country Code"
|
||||
msgstr "رمز البلد الافتراضي"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "فشل في تحديث الدور"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "معدل الفشل"
|
||||
msgid "False"
|
||||
msgstr "خاطئ"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "تم إنجاز المهمة!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "المزيد"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "لا توجد بيانات قياسات متاحة"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "لا توجد نماذج متاحة. يرجى تهيئة نماذج الذكاء الاصطناعي في إعدادات مكان العمل الخاص بك."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "أداء الطابور"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "الطابور: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "إعداد قاعدة البيانات الخاصة بك..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "سمائي"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Funció avançada per millorar el rendiment de les consultes i fer compl
|
||||
msgid "Advanced filter"
|
||||
msgstr "Filtre avançat"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "IA"
|
||||
msgid "AI Model"
|
||||
msgstr "Model IA"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Configuració"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Configura aquest giny per mostrar camps"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Decideix quins camps de Sub-adreça vols mostrar"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "País predeterminat"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Codi de país predeterminat"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Ha fallat l'actualització del rol"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Taxa de fallades"
|
||||
msgid "False"
|
||||
msgstr "Fals"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Missió acomplerta!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Més"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "No hi ha dades de mètriques disponibles"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "No hi ha models disponibles. Si us plau, configureu models d'IA a la configuració del vostre espai de treball."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Rendiment de la cua"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Cua: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Configurant la teva base de dades..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Cel"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Pokročilá funkce pro zlepšení výkonu dotazů a prosazení jedinečn
|
||||
msgid "Advanced filter"
|
||||
msgstr "Pokročilý filtr"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "AI"
|
||||
msgid "AI Model"
|
||||
msgstr "AI Model"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Konfigurace"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Nakonfigurujte tento widget, aby zobrazoval pole."
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Rozhodněte se, která pole podadresy chcete zobrazit"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Výchozí země"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Výchozí číselný kód země"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Nepodařilo se aktualizovat roli"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Míra selhání"
|
||||
msgid "False"
|
||||
msgstr "Nepravdivé"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mise splněna!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Více"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Žádná data metrik nejsou k dispozici"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Nejsou dostupné žádné modely. Prosím, nakonfigurujte AI modely v nastavení vašeho pracovního prostoru."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Výkon fronty"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Fronta: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Nastavení vaší databáze..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Nebesky modrá"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Avanceret funktion til at forbedre ydeevnen af forespørgsler og håndh
|
||||
msgid "Advanced filter"
|
||||
msgstr "Avanceret filter"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "AI"
|
||||
msgid "AI Model"
|
||||
msgstr "AI Model"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Konfiguration"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Konfigurer denne widget til at vise felter"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Vælg hvilke underadressefelter du vil vise"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Standardland"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Standardlandekode"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Kunne ikke ændre rollen"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Fejlrate"
|
||||
msgid "False"
|
||||
msgstr "Falsk"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission fuldført!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Mere"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Ingen metrikdata tilgængelige"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Ingen modeller tilgængelige. Konfigurer venligst AI-modeller i dine arbejdsområdeindstillinger."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Køydelse"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Kø: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Opsætning af din database..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Himmel"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Erweiterte Funktion zur Verbesserung der Abfrageleistung und zur Durchse
|
||||
msgid "Advanced filter"
|
||||
msgstr "Erweiterter Filter"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "KI"
|
||||
msgid "AI Model"
|
||||
msgstr "KI-Modell"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Konfiguration"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Konfigurieren Sie dieses Widget, um Felder anzuzeigen."
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Entscheiden Sie, welche Unteradressfelder Sie anzeigen möchten"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Standardland"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Standard-Ländercode"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Fehler beim Aktualisieren der Rolle"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Fehlerquote"
|
||||
msgid "False"
|
||||
msgstr "Falsch"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission erfüllt!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Mehr"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Keine Metrik-Daten verfügbar"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Keine Modelle verfügbar. Bitte konfigurieren Sie KI-Modelle in Ihren Arbeitsbereichseinstellungen."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Queue-Leistung"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Warteschlange: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Einrichten Ihrer Datenbank..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Himmelblau"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Σύνθετη λειτουργία για τη βελτίωση της
|
||||
msgid "Advanced filter"
|
||||
msgstr "Προηγμένο φίλτρο"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "AI"
|
||||
msgid "AI Model"
|
||||
msgstr "Μοντέλο AI"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Διαμόρφωση"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Ρυθμίστε αυτό το γραφικό στοιχείο ώστε
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Αποφασίστε ποια πεδία Υπο-διευθύνσεων θέλετε να εμφανίζονται"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Προεπιλεγμένη Χώρα"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Προεπιλεγμένος Κωδικός Χώρας"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Αποτυχία ενημέρωσης ρόλου"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Ποσοστό αποτυχίας"
|
||||
msgid "False"
|
||||
msgstr "Ψευδής"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Αποστολή ολοκληρώθηκε!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Περισσότερα"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Δεν υπάρχουν διαθέσιμα δεδομένα μετρήσ
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Δεν υπάρχουν διαθέσιμα μοντέλα. Παρακαλούμε ρυθμίστε τα μοντέλα AI στις ρυθμίσεις χώρου εργασίας σας."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Επιδόσεις Ουράς"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Ουρά: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Ρύθμιση της βάσης δεδομένων σας..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11873,16 +11863,6 @@ msgstr "Ουρανί"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1145,11 +1145,6 @@ msgstr "Advanced feature to improve the performance of queries and to enforce un
|
||||
msgid "Advanced filter"
|
||||
msgstr "Advanced filter"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr "Advanced model for complex planning"
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1263,11 +1258,6 @@ msgstr "AI"
|
||||
msgid "AI Model"
|
||||
msgstr "AI Model"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr "AI Models"
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2886,11 +2876,6 @@ msgstr "Configuration"
|
||||
msgid "Configure"
|
||||
msgstr "Configure"
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr "Configure AI models for routing and planning"
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2956,6 +2941,11 @@ msgstr "Configure this widget to display fields"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr "Configure when this function should be executed"
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr "Configure your default AI model"
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3944,6 +3934,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Decide which Sub-address fields you want to display"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3959,6 +3950,21 @@ msgstr "Default Country"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Default Country Code"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr "Default Model"
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr "Default model for new chats and agents"
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr "Default model updated successfully"
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5807,10 +5813,10 @@ msgstr "Failed to save role permissions: {errorMessage}"
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr "Failed to save workspace instructions"
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
msgstr "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr "Failed to update default model"
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
|
||||
@@ -5832,11 +5838,6 @@ msgstr "Failed to update records. Please try again."
|
||||
msgid "Failed to update role"
|
||||
msgstr "Failed to update role"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr "Failed to update smart model"
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5884,16 +5885,6 @@ msgstr "Failure Rate"
|
||||
msgid "False"
|
||||
msgstr "False"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr "Fast Model"
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr "Fast model updated successfully"
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8178,6 +8169,11 @@ msgstr "Missing email draft permission."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission accomplished!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr "Models"
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8223,6 +8219,7 @@ msgid "months"
|
||||
msgstr "months"
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "More"
|
||||
@@ -8925,7 +8922,6 @@ msgstr "No metrics data available"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "No models available. Please configure AI models in your workspace settings."
|
||||
|
||||
@@ -10251,11 +10247,6 @@ msgstr "Queue performance"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Queue: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr "Quick model for routing decisions"
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11648,7 +11639,6 @@ msgstr "Setting up your database..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11866,16 +11856,6 @@ msgstr "Sky"
|
||||
msgid "Small section heading"
|
||||
msgstr "Small section heading"
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr "Smart Model"
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr "Smart model updated successfully"
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Característica avanzada para mejorar el rendimiento de consultas y para
|
||||
msgid "Advanced filter"
|
||||
msgstr "Filtro avanzado"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "IA"
|
||||
msgid "AI Model"
|
||||
msgstr "Modelo de IA"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Configuración"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Configura este widget para visualizar campos"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Decide qué campos de subdirección deseas mostrar"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "País predeterminado"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Código de país predeterminado"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr "Error al guardar los permisos de rol: {errorMessage}"
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Error al actualizar el rol"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Tasa de fallos"
|
||||
msgid "False"
|
||||
msgstr "Falso"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "¡Misión cumplida!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Más"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "No hay datos de métricas disponibles"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "No hay modelos disponibles. Por favor configure modelos de IA en la configuración de su espacio de trabajo."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Rendimiento de la cola"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Cola: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Configurando su base de datos..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Cielo"
|
||||
msgid "Small section heading"
|
||||
msgstr "Encabezado de sección pequeña"
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Edistynyt ominaisuus tiedusteluiden suorituskyvyn parantamiseksi ja ainu
|
||||
msgid "Advanced filter"
|
||||
msgstr "Tarkennettu suodatin"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "AI"
|
||||
msgid "AI Model"
|
||||
msgstr "AI-malli"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Kokoonpano"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Määritä tämä pienoisohjelma näyttämään kenttiä"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Päätä, mitkä alikentät haluat näyttää"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Oletusmaa"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Oletusmaakoodi"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Roolin päivitys epäonnistui"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Epäonnistumisprosentti"
|
||||
msgid "False"
|
||||
msgstr "Väärä"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Tehtävä suoritettu!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Lisää"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Ei metriikkatietoja saatavilla"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Malitavoa ei ole saatavilla. Konfiguroi AI-mallit työtilan asetuksista."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Jonon suorituskyky"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Jono: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Asetetaan tietokantaasi..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Taivaansininen"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Fonctionnalité avancée pour améliorer la performance des requêtes et
|
||||
msgid "Advanced filter"
|
||||
msgstr "Filtre avancé"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "IA"
|
||||
msgid "AI Model"
|
||||
msgstr "Modèle IA"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Configuration"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Configurez ce widget pour afficher des champs"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Décidez quels champs de sous-adresse vous souhaitez afficher"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Pays par défaut"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Code du pays par défaut"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Échec de la mise à jour du rôle"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Taux d'échec"
|
||||
msgid "False"
|
||||
msgstr "Faux"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission accomplie !"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Plus"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Aucune donnée de métriques disponible"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Aucun modèle disponible. Veuillez configurer les modèles IA dans les paramètres de votre espace de travail."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Performance de la file d'attente"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "File d'attente : {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Configuration de votre base de données..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Ciel"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1150,11 +1150,6 @@ msgstr "תכונה מתקדמת לשיפור ביצועי השאילתות וא
|
||||
msgid "Advanced filter"
|
||||
msgstr "מסנן מתקדם"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "בינה מלאכותית (AI)"
|
||||
msgid "AI Model"
|
||||
msgstr "מודל AI"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "הגדרה"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "הגדירו את הווידג'ט הזה כדי להציג שדות"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "החליטו אילו שדות כתובת משנה אתם רוצים להציג"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "מדינת ברירת המחדל"
|
||||
msgid "Default Country Code"
|
||||
msgstr "קוד מדינה ברירת מחדל"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "העדכון של התפקיד נכשל"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "שיעור כשל"
|
||||
msgid "False"
|
||||
msgstr "שקר"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "המשימה הושלמה!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "עוד"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "אין נתונים זמינים"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "אין מודלים זמינים. נא להגדיר מודלים לבינה מלאכותית בהגדרות מרחב העבודה שלכם."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "ביצועי התור"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "תור: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "מגדיר את מסד הנתונים שלך..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "תכלת"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Fejlett funkció a lekérdezések teljesítményének javítására és
|
||||
msgid "Advanced filter"
|
||||
msgstr "Speciális szűrő"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "MI"
|
||||
msgid "AI Model"
|
||||
msgstr "AI modell"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Konfiguráció"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Konfigurálja ezt a widgetet a mezők megjelenítéséhez"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Döntse el, melyik Al-cím mezőket szeretné megjeleníteni"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Alapértelmezett ország"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Alapértelmezett országkód"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "A szerepkör frissítése sikertelen"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Hibaarány"
|
||||
msgid "False"
|
||||
msgstr "Hamis"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Küldetés teljesítve!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Több"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Nincs elérhető metrikai adat"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Nincsenek elérhető modellek. Kérjük, állítsa be a MI modelleket a munkaterület beállításaiban."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Sor teljesítmény"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Sor: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Az adatbázis beállítása..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Égkék"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "Funzionalità avanzata per migliorare le prestazioni delle query e impor
|
||||
msgid "Advanced filter"
|
||||
msgstr "Filtro avanzato"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "AI"
|
||||
msgid "AI Model"
|
||||
msgstr "Modello AI"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "Configurazione"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "Configura questo widget per visualizzare i campi"
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Decidere quali campi del sottoindirizzo visualizzare"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "Paese predefinito"
|
||||
msgid "Default Country Code"
|
||||
msgstr "Prefisso internazionale predefinito"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "Impossibile aggiornare il ruolo"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "Tasso di errore"
|
||||
msgid "False"
|
||||
msgstr "Falso"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Missione compiuta!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Altro"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "Nessun dato metrico disponibile"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "Nessun modello disponibile. Configurare i modelli AI nelle impostazioni del tuo workspace."
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "Prestazioni della coda"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "Coda: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "Configurazione del tuo database..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "Cielo"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
@@ -1150,11 +1150,6 @@ msgstr "クエリのパフォーマンスを向上させ、重複制約を強制
|
||||
msgid "Advanced filter"
|
||||
msgstr "高度なフィルター"
|
||||
|
||||
#. js-lingui-id: luNzWN
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Advanced model for complex planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: miuPUc
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartDataSourceDropdownContent.tsx
|
||||
@@ -1268,11 +1263,6 @@ msgstr "AI"
|
||||
msgid "AI Model"
|
||||
msgstr "AIモデル"
|
||||
|
||||
#. js-lingui-id: tGx4Zn
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "AI Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Sfwld8
|
||||
#: src/modules/ai/components/AIChatApiKeyNotConfiguredMessage.tsx
|
||||
msgid "AI not configured. Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or XAI_API_KEY in your environment."
|
||||
@@ -2891,11 +2881,6 @@ msgstr "構成"
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 9px+al
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Configure AI models for routing and planning"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +zUMwJ
|
||||
#: src/pages/settings/security/SettingsSecurity.tsx
|
||||
msgid "Configure an SSO connection"
|
||||
@@ -2961,6 +2946,11 @@ msgstr "フィールドを表示するには、このウィジェットを設定
|
||||
msgid "Configure when this function should be executed"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hzDiM0
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Configure your default AI model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bh4GBD
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsSettingsSection.tsx
|
||||
msgid "Configure your emails and calendar settings."
|
||||
@@ -3949,6 +3939,7 @@ msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "表示したいサブアドレスフィールドを選択してください"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
msgid "Default"
|
||||
@@ -3964,6 +3955,21 @@ msgstr "デフォルトの国"
|
||||
msgid "Default Country Code"
|
||||
msgstr "デフォルトの国コード"
|
||||
|
||||
#. js-lingui-id: J6v1s/
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: n4U+0E
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model for new chats and agents"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K/FKkg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Default model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4HDpKr
|
||||
#: src/modules/command-menu/pages/page-layout/components/dropdown-content/ChartColorPaletteOption.tsx
|
||||
msgid "Default palette"
|
||||
@@ -5812,9 +5818,9 @@ msgstr ""
|
||||
msgid "Failed to save workspace instructions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YMSYb+
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update fast model"
|
||||
#. js-lingui-id: 2D6TRg
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Failed to update default model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: P1NmNz
|
||||
@@ -5837,11 +5843,6 @@ msgstr ""
|
||||
msgid "Failed to update role"
|
||||
msgstr "ロールの更新に失敗しました。"
|
||||
|
||||
#. js-lingui-id: h/0aT5
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Failed to update smart model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Dzh4a2
|
||||
#: src/modules/settings/admin-panel/config-variables/hooks/useConfigVariableActions.ts
|
||||
msgid "Failed to update variable"
|
||||
@@ -5889,16 +5890,6 @@ msgstr "失敗率"
|
||||
msgid "False"
|
||||
msgstr "偽"
|
||||
|
||||
#. js-lingui-id: XVIZ7v
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: UJHTjm
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Fast model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X9kySA
|
||||
#: src/modules/navigation-menu-item/components/CurrentWorkspaceMemberNavigationMenuItemFolders.tsx
|
||||
#: src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx
|
||||
@@ -8183,6 +8174,11 @@ msgstr ""
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "任務完了!"
|
||||
|
||||
#. js-lingui-id: //nm2/
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
@@ -8228,6 +8224,7 @@ msgid "months"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
msgid "More"
|
||||
msgstr "もっと"
|
||||
@@ -8930,7 +8927,6 @@ msgstr "利用可能なメトリックスデータがありません"
|
||||
#. js-lingui-id: UWZZdQ
|
||||
#: src/pages/settings/ai/forms/components/SettingsAIAgentForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSettingsTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "No models available. Please configure AI models in your workspace settings."
|
||||
msgstr "モデルが利用可能ではありません。ワークスペース設定でAIモデルを設定してください。"
|
||||
|
||||
@@ -10256,11 +10252,6 @@ msgstr "キューのパフォーマンス"
|
||||
msgid "Queue: {queueName}"
|
||||
msgstr "キュー: {queueName}"
|
||||
|
||||
#. js-lingui-id: GaAG2G
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Quick model for routing decisions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: opSifa
|
||||
#: src/modules/ai/utils/getToolDisplayMessage.ts
|
||||
msgid "Ran {formattedName}"
|
||||
@@ -11653,7 +11644,6 @@ msgstr "データベースのセットアップ..."
|
||||
#: src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx
|
||||
#: src/pages/settings/applications/SettingsApplicationDetails.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentForm.tsx
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/components/SettingsRolePermissionsSettingsSection.tsx
|
||||
#: src/modules/settings/roles/role/components/SettingsRole.tsx
|
||||
@@ -11871,16 +11861,6 @@ msgstr "スカイ"
|
||||
msgid "Small section heading"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 5J8ZFl
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart Model"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qgvZ/2
|
||||
#: src/pages/settings/ai/components/SettingsAIRouterSettings.tsx
|
||||
msgid "Smart model updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: w+rJId
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx
|
||||
msgid "SMTP Configuration"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user