diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/.env.example b/packages/twenty-apps/internal/twenty-meeting-bot/.env.example new file mode 100644 index 0000000000..1a1972fe60 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/.env.example @@ -0,0 +1,5 @@ +# Credentials for integration tests. Copy this file to .env.local and fill in the key. +# Get an API key from the Twenty UI: Settings -> APIs & Webhooks. +# .env.local is gitignored; never commit a real key. +TWENTY_API_URL=http://localhost:2020 +TWENTY_API_KEY= diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/.github/workflows/cd.yml b/packages/twenty-apps/internal/twenty-meeting-bot/.github/workflows/cd.yml new file mode 100644 index 0000000000..0ec483fc57 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/.github/workflows/cd.yml @@ -0,0 +1,42 @@ +name: CD + +on: + push: + branches: + - main + pull_request: + types: [labeled] + +permissions: + contents: read + +env: + TWENTY_DEPLOY_URL: http://localhost:2020 + +concurrency: + group: cd-${{ github.ref }} + cancel-in-progress: true + +jobs: + deploy-and-install: + if: >- + github.event_name == 'push' || + (github.event_name == 'pull_request' && github.event.label.name == 'deploy') + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha || github.sha }} + + - name: Deploy + uses: twentyhq/twenty/.github/actions/deploy-twenty-app@main + with: + api-url: ${{ env.TWENTY_DEPLOY_URL }} + api-key: ${{ secrets.TWENTY_DEPLOY_API_KEY }} + + - name: Install + uses: twentyhq/twenty/.github/actions/install-twenty-app@main + with: + api-url: ${{ env.TWENTY_DEPLOY_URL }} + api-key: ${{ secrets.TWENTY_DEPLOY_API_KEY }} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/.github/workflows/ci.yml b/packages/twenty-apps/internal/twenty-meeting-bot/.github/workflows/ci.yml new file mode 100644 index 0000000000..9112ecb495 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/.github/workflows/ci.yml @@ -0,0 +1,48 @@ +name: CI + +on: + push: + branches: + - main + pull_request: {} + +permissions: + contents: read + +env: + TWENTY_VERSION: latest + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Spawn Twenty test instance + id: twenty + uses: twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main + with: + twenty-version: ${{ env.TWENTY_VERSION }} + + - name: Enable Corepack + run: corepack enable + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: yarn + + - name: Install dependencies + run: yarn install --immutable + + - name: Run integration tests + run: yarn test + env: + TWENTY_API_URL: ${{ steps.twenty.outputs.server-url }} + TWENTY_API_KEY: ${{ steps.twenty.outputs.api-key }} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/.gitignore b/packages/twenty-apps/internal/twenty-meeting-bot/.gitignore new file mode 100644 index 0000000000..6699cb048a --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/.gitignore @@ -0,0 +1,39 @@ +# 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 + +# 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* +!.env.example + +# typescript +*.tsbuildinfo +*.d.ts diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/.nvmrc b/packages/twenty-apps/internal/twenty-meeting-bot/.nvmrc new file mode 100644 index 0000000000..341cb50613 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/.nvmrc @@ -0,0 +1 @@ +24.5.0 diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/.oxlintrc.json b/packages/twenty-apps/internal/twenty-meeting-bot/.oxlintrc.json new file mode 100644 index 0000000000..369b9cfd76 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/.oxlintrc.json @@ -0,0 +1,37 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["typescript"], + "categories": { + "correctness": "off" + }, + "ignorePatterns": ["node_modules", "dist"], + "rules": { + "no-unused-vars": "off", + + "typescript/no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "^_" + } + ], + "typescript/no-explicit-any": "off" + }, + "overrides": [ + { + "files": ["**/*.logic-function.ts", "**/logic-functions/**/*.ts"], + "rules": { + "no-restricted-imports": [ + "error", + { + "patterns": [ + { + "group": ["twenty-shared", "twenty-shared/*"], + "message": "Logic functions must not import from twenty-shared directly. Import runtime types and helpers from `twenty-sdk/logic-function` instead so the logic-function bundle stays minimal." + } + ] + } + ] + } + } + ] +} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/.yarnrc.yml b/packages/twenty-apps/internal/twenty-meeting-bot/.yarnrc.yml new file mode 100644 index 0000000000..3186f3f079 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/AGENTS.md b/packages/twenty-apps/internal/twenty-meeting-bot/AGENTS.md new file mode 100644 index 0000000000..9078a7be23 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/AGENTS.md @@ -0,0 +1,67 @@ +## Base documentation + +- Getting started: + - https://docs.twenty.com/developers/extend/apps/getting-started/quick-start.md + - https://docs.twenty.com/developers/extend/apps/getting-started/concepts.md + - https://docs.twenty.com/developers/extend/apps/getting-started/project-structure.md + - https://docs.twenty.com/developers/extend/apps/getting-started/local-server.md + - https://docs.twenty.com/developers/extend/apps/getting-started/scaffolding.md + - https://docs.twenty.com/developers/extend/apps/getting-started/troubleshooting.md +- Config: + - https://docs.twenty.com/developers/extend/apps/config/overview.md + - https://docs.twenty.com/developers/extend/apps/config/application.md + - https://docs.twenty.com/developers/extend/apps/config/roles.md + - https://docs.twenty.com/developers/extend/apps/config/install-hooks.md + - https://docs.twenty.com/developers/extend/apps/config/public-assets.md +- Data: + - https://docs.twenty.com/developers/extend/apps/data/overview.md + - https://docs.twenty.com/developers/extend/apps/data/objects.md + - https://docs.twenty.com/developers/extend/apps/data/extending-objects.md + - https://docs.twenty.com/developers/extend/apps/data/relations.md +- Logic: + - https://docs.twenty.com/developers/extend/apps/logic/overview.md + - https://docs.twenty.com/developers/extend/apps/logic/logic-functions.md + - https://docs.twenty.com/developers/extend/apps/logic/skills-and-agents.md + - https://docs.twenty.com/developers/extend/apps/logic/connections.md +- Layout: + - https://docs.twenty.com/developers/extend/apps/layout/overview.md + - https://docs.twenty.com/developers/extend/apps/layout/views.md + - https://docs.twenty.com/developers/extend/apps/layout/navigation-menu-items.md + - https://docs.twenty.com/developers/extend/apps/layout/page-layouts.md + - https://docs.twenty.com/developers/extend/apps/layout/front-components.md + - https://docs.twenty.com/developers/extend/apps/layout/command-menu-items.md +- Operations: + - https://docs.twenty.com/developers/extend/apps/operations/overview.md + - https://docs.twenty.com/developers/extend/apps/operations/cli.md + - https://docs.twenty.com/developers/extend/apps/operations/testing.md + - https://docs.twenty.com/developers/extend/apps/operations/publishing.md +- Rich app example: https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples/postcard + +## UUID requirement + +- All generated UUIDs must be valid UUID v4. + +## 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 unavailable on the left sidebar. +- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab. + +## Best practice + +It's highly recommended to create new app entities using `yarn twenty dev:add`. These are the options: + +| Entity type | Command | Generated file | +| -------------------- | ---------------------------------------- | ------------------------------------- | +| Object | `yarn twenty dev:add object` | `src/objects/.ts` | +| Field | `yarn twenty dev:add field` | `src/fields/.ts` | +| Logic function | `yarn twenty dev:add logicFunction` | `src/logic-functions/.ts` | +| Front component | `yarn twenty dev:add frontComponent` | `src/front-components/.tsx` | +| Role | `yarn twenty dev:add role` | `src/roles/.ts` | +| Skill | `yarn twenty dev:add skill` | `src/skills/.ts` | +| Agent | `yarn twenty dev:add agent` | `src/agents/.ts` | +| View | `yarn twenty dev:add view` | `src/views/.ts` | +| Navigation menu item | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/.ts` | +| Page layout | `yarn twenty dev:add pageLayout` | `src/page-layouts/.ts` | + +This helps automatically generate required IDs etc. diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/CLAUDE.md b/packages/twenty-apps/internal/twenty-meeting-bot/CLAUDE.md new file mode 100644 index 0000000000..9078a7be23 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/CLAUDE.md @@ -0,0 +1,67 @@ +## Base documentation + +- Getting started: + - https://docs.twenty.com/developers/extend/apps/getting-started/quick-start.md + - https://docs.twenty.com/developers/extend/apps/getting-started/concepts.md + - https://docs.twenty.com/developers/extend/apps/getting-started/project-structure.md + - https://docs.twenty.com/developers/extend/apps/getting-started/local-server.md + - https://docs.twenty.com/developers/extend/apps/getting-started/scaffolding.md + - https://docs.twenty.com/developers/extend/apps/getting-started/troubleshooting.md +- Config: + - https://docs.twenty.com/developers/extend/apps/config/overview.md + - https://docs.twenty.com/developers/extend/apps/config/application.md + - https://docs.twenty.com/developers/extend/apps/config/roles.md + - https://docs.twenty.com/developers/extend/apps/config/install-hooks.md + - https://docs.twenty.com/developers/extend/apps/config/public-assets.md +- Data: + - https://docs.twenty.com/developers/extend/apps/data/overview.md + - https://docs.twenty.com/developers/extend/apps/data/objects.md + - https://docs.twenty.com/developers/extend/apps/data/extending-objects.md + - https://docs.twenty.com/developers/extend/apps/data/relations.md +- Logic: + - https://docs.twenty.com/developers/extend/apps/logic/overview.md + - https://docs.twenty.com/developers/extend/apps/logic/logic-functions.md + - https://docs.twenty.com/developers/extend/apps/logic/skills-and-agents.md + - https://docs.twenty.com/developers/extend/apps/logic/connections.md +- Layout: + - https://docs.twenty.com/developers/extend/apps/layout/overview.md + - https://docs.twenty.com/developers/extend/apps/layout/views.md + - https://docs.twenty.com/developers/extend/apps/layout/navigation-menu-items.md + - https://docs.twenty.com/developers/extend/apps/layout/page-layouts.md + - https://docs.twenty.com/developers/extend/apps/layout/front-components.md + - https://docs.twenty.com/developers/extend/apps/layout/command-menu-items.md +- Operations: + - https://docs.twenty.com/developers/extend/apps/operations/overview.md + - https://docs.twenty.com/developers/extend/apps/operations/cli.md + - https://docs.twenty.com/developers/extend/apps/operations/testing.md + - https://docs.twenty.com/developers/extend/apps/operations/publishing.md +- Rich app example: https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples/postcard + +## UUID requirement + +- All generated UUIDs must be valid UUID v4. + +## 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 unavailable on the left sidebar. +- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab. + +## Best practice + +It's highly recommended to create new app entities using `yarn twenty dev:add`. These are the options: + +| Entity type | Command | Generated file | +| -------------------- | ---------------------------------------- | ------------------------------------- | +| Object | `yarn twenty dev:add object` | `src/objects/.ts` | +| Field | `yarn twenty dev:add field` | `src/fields/.ts` | +| Logic function | `yarn twenty dev:add logicFunction` | `src/logic-functions/.ts` | +| Front component | `yarn twenty dev:add frontComponent` | `src/front-components/.tsx` | +| Role | `yarn twenty dev:add role` | `src/roles/.ts` | +| Skill | `yarn twenty dev:add skill` | `src/skills/.ts` | +| Agent | `yarn twenty dev:add agent` | `src/agents/.ts` | +| View | `yarn twenty dev:add view` | `src/views/.ts` | +| Navigation menu item | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/.ts` | +| Page layout | `yarn twenty dev:add pageLayout` | `src/page-layouts/.ts` | + +This helps automatically generate required IDs etc. diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/README.md b/packages/twenty-apps/internal/twenty-meeting-bot/README.md new file mode 100644 index 0000000000..4728d9ffa0 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/README.md @@ -0,0 +1,22 @@ +This is a [Twenty](https://twenty.com) application bootstrapped with [`create-twenty-app`](https://www.npmjs.com/package/create-twenty-app). + +## Getting Started + +This app was scaffolded with a local Twenty server running at [http://localhost:2020](http://localhost:2020). + +Login with the default development credentials: `tim@apple.dev` / `tim@apple.dev`. + +Run `yarn twenty help` to list all available commands. + +## Useful Commands + +- `yarn twenty dev` - Start the development server and sync your app +- `yarn twenty docker:status` - Check the local Twenty server status +- `yarn twenty docker:start` - Start the local Twenty server +- `yarn test` - Run integration tests + +## Learn More + +- [Twenty Apps documentation](https://docs.twenty.com/developers/extend/apps/getting-started/quick-start) +- [twenty-sdk CLI reference](https://www.npmjs.com/package/twenty-sdk) +- [Discord](https://discord.gg/cx5n4Jzs57) diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/package.json b/packages/twenty-apps/internal/twenty-meeting-bot/package.json new file mode 100644 index 0000000000..c19c9feebf --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/package.json @@ -0,0 +1,33 @@ +{ + "name": "twenty-meeting-bot", + "version": "0.1.0", + "license": "MIT", + "engines": { + "node": "^24.5.0", + "npm": "please-use-yarn", + "yarn": ">=4.0.2" + }, + "keywords": [], + "packageManager": "yarn@4.9.2", + "scripts": { + "twenty": "twenty", + "lint": "oxlint -c .oxlintrc.json .", + "lint:fix": "oxlint --fix -c .oxlintrc.json .", + "test": "vitest run", + "test:watch": "vitest" + }, + "dependencies": { + "twenty-client-sdk": "2.13.0" + }, + "devDependencies": { + "@types/node": "^24.7.2", + "@types/react": "^19.0.0", + "oxlint": "^0.16.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "twenty-sdk": "2.13.0", + "typescript": "^5.9.3", + "vite-tsconfig-paths": "^4.2.1", + "vitest": "^3.1.1" + } +} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/public/logo.svg b/packages/twenty-apps/internal/twenty-meeting-bot/public/logo.svg new file mode 100644 index 0000000000..a8bed68a83 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/public/logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/__tests__/global-setup.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/__tests__/global-setup.ts new file mode 100644 index 0000000000..5d6782a1ce --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/__tests__/global-setup.ts @@ -0,0 +1,100 @@ +import * as fs from 'fs'; +import * as os from 'os'; +import * as path from 'path'; + +import { appDevOnce, appUninstall } from 'twenty-sdk/cli'; + +const APP_PATH = process.cwd(); +const CONFIG_DIR = path.join(os.homedir(), '.twenty'); +const CONFIG_PATH = path.join(CONFIG_DIR, 'config.test.json'); + +function validateEnv(): { apiUrl: string; apiKey: string } { + const apiUrl = process.env.TWENTY_API_URL; + const apiKey = process.env.TWENTY_API_KEY; + + if (!apiUrl || !apiKey) { + throw new Error( + 'TWENTY_API_URL and TWENTY_API_KEY must be set.\n' + + 'Start a local server: yarn twenty docker:start\n' + + 'Or set them in vitest env config.', + ); + } + + return { apiUrl, apiKey }; +} + +async function checkServer(apiUrl: string) { + let response: Response; + + try { + response = await fetch(`${apiUrl}/healthz`); + } catch { + throw new Error( + `Twenty server is not reachable at ${apiUrl}. ` + + 'Make sure the server is running before executing integration tests.', + ); + } + + if (!response.ok) { + throw new Error(`Server at ${apiUrl} returned ${response.status}`); + } +} + +function writeConfig(apiUrl: string, apiKey: string) { + const payload = JSON.stringify( + { + remotes: { + local: { apiUrl, apiKey, accessToken: apiKey }, + }, + defaultRemote: 'local', + }, + null, + 2, + ); + + fs.mkdirSync(CONFIG_DIR, { recursive: true }); + fs.writeFileSync(CONFIG_PATH, payload); +} + +function removeConfig() { + fs.rmSync(CONFIG_PATH, { force: true }); +} + +export async function setup() { + const { apiUrl, apiKey } = validateEnv(); + + await checkServer(apiUrl); + + writeConfig(apiUrl, apiKey); + + await appUninstall({ appPath: APP_PATH }).catch(() => {}); + + const result = await appDevOnce({ + appPath: APP_PATH, + onProgress: (message: string) => console.log(`[dev] ${message}`), + }); + + if (!result.success) { + throw new Error( + `Dev sync failed: ${result.error?.message ?? 'Unknown error'}`, + ); + } +} + +export async function teardown() { + try { + const uninstallResult = await appUninstall({ appPath: APP_PATH }); + + if (!uninstallResult.success) { + console.warn( + `App uninstall failed: ${uninstallResult.error?.message ?? 'Unknown error'}`, + ); + } + } catch (error) { + console.warn( + `App uninstall failed: ${error instanceof Error ? error.message : String(error)}`, + ); + } finally { + removeConfig(); + } +} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/__tests__/schema.integration-test.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/__tests__/schema.integration-test.ts new file mode 100644 index 0000000000..f9e79bcdda --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/__tests__/schema.integration-test.ts @@ -0,0 +1,46 @@ +import { CoreApiClient } from 'twenty-client-sdk/core'; +import { MetadataApiClient } from 'twenty-client-sdk/metadata'; +import { APPLICATION_UNIVERSAL_IDENTIFIER } from 'src/constants/application-universal-identifier'; +import { describe, expect, it } from 'vitest'; + +describe('App installation', () => { + it('should find the installed app in the applications list', async () => { + const client = new MetadataApiClient(); + + const result = await client.query({ + findManyApplications: { + id: true, + name: true, + universalIdentifier: true, + }, + }); + + const app = result.findManyApplications.find( + (a: { universalIdentifier: string }) => + a.universalIdentifier === APPLICATION_UNIVERSAL_IDENTIFIER, + ); + + expect(app).toBeDefined(); + }); +}); + +describe('CoreApiClient', () => { + it('should support CRUD on standard objects', async () => { + const client = new CoreApiClient(); + + const created = await client.mutation({ + createNote: { + __args: { data: { title: 'Integration test note' } }, + id: true, + }, + }); + expect(created.createNote.id).toBeDefined(); + + await client.mutation({ + destroyNote: { + __args: { id: created.createNote.id }, + id: true, + }, + }); + }); +}); diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/application-config.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/application-config.ts new file mode 100644 index 0000000000..c64660ddfd --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/application-config.ts @@ -0,0 +1,12 @@ +import { defineApplication } from 'twenty-sdk/define'; + +import { APP_DESCRIPTION } from 'src/constants/app-description'; +import { APP_DISPLAY_NAME } from 'src/constants/app-display-name'; +import { APPLICATION_UNIVERSAL_IDENTIFIER } from 'src/constants/application-universal-identifier'; + +export default defineApplication({ + universalIdentifier: APPLICATION_UNIVERSAL_IDENTIFIER, + displayName: APP_DISPLAY_NAME, + description: APP_DESCRIPTION, + logoUrl: 'public/logo.svg', +}); diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/app-description.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/app-description.ts new file mode 100644 index 0000000000..e5580e7cae --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/app-description.ts @@ -0,0 +1,2 @@ +export const APP_DESCRIPTION = + 'Capture every customer conversation automatically. A meeting bot joins eligible meetings and records calls for you.'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/app-display-name.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/app-display-name.ts new file mode 100644 index 0000000000..9208fcde47 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/app-display-name.ts @@ -0,0 +1 @@ +export const APP_DISPLAY_NAME = 'Twenty Meeting Bot'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/application-universal-identifier.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/application-universal-identifier.ts new file mode 100644 index 0000000000..b88164429b --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/application-universal-identifier.ts @@ -0,0 +1,2 @@ +export const APPLICATION_UNIVERSAL_IDENTIFIER = + '8da4b8b5-5edf-4880-b51f-ab6e679ec617'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/default-role-universal-identifier.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/default-role-universal-identifier.ts new file mode 100644 index 0000000000..1c23dd519d --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/default-role-universal-identifier.ts @@ -0,0 +1,2 @@ +export const DEFAULT_ROLE_UNIVERSAL_IDENTIFIER = + '5fcf4d3a-0aca-42d9-9beb-7387f43ec180'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-auto-option-id.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-auto-option-id.ts new file mode 100644 index 0000000000..f8dc7f4852 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-auto-option-id.ts @@ -0,0 +1,2 @@ +export const MEETING_BOT_PREFERENCE_AUTO_OPTION_ID = + '72431216-49c4-47c8-99af-de4c3831b0be'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-off-option-id.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-off-option-id.ts new file mode 100644 index 0000000000..7a51ea4c2f --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-off-option-id.ts @@ -0,0 +1,2 @@ +export const MEETING_BOT_PREFERENCE_OFF_OPTION_ID = + 'cc7de62a-08b6-46c8-aa69-f8117e7dd722'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-on-calendar-event-field-universal-identifier.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-on-calendar-event-field-universal-identifier.ts new file mode 100644 index 0000000000..c321578654 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-on-calendar-event-field-universal-identifier.ts @@ -0,0 +1,2 @@ +export const MEETING_BOT_PREFERENCE_ON_CALENDAR_EVENT_FIELD_UNIVERSAL_IDENTIFIER = + '8ee9444a-2437-4def-8e61-6e493862a4fd'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-on-option-id.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-on-option-id.ts new file mode 100644 index 0000000000..92b0081167 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference-on-option-id.ts @@ -0,0 +1,2 @@ +export const MEETING_BOT_PREFERENCE_ON_OPTION_ID = + 'd7b437b1-d6a3-4e99-8bb8-ba632d4a544e'; diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference.ts new file mode 100644 index 0000000000..b4eafb7db4 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/constants/meeting-bot-preference.ts @@ -0,0 +1,5 @@ +export enum MeetingBotPreference { + AUTO = 'AUTO', + ON = 'ON', + OFF = 'OFF', +} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/default-role.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/default-role.ts new file mode 100644 index 0000000000..1a7b2e03ba --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/default-role.ts @@ -0,0 +1,66 @@ +import { + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS, + SystemPermissionFlag, + defineApplicationRole, +} from 'twenty-sdk/define'; + +import { APP_DISPLAY_NAME } from 'src/constants/app-display-name'; +import { DEFAULT_ROLE_UNIVERSAL_IDENTIFIER } from 'src/constants/default-role-universal-identifier'; + +export default defineApplicationRole({ + universalIdentifier: DEFAULT_ROLE_UNIVERSAL_IDENTIFIER, + label: `${APP_DISPLAY_NAME} default role`, + description: + 'Reads calendar events, their calendar channel associations, and workspace member auto-record settings to decide whether the meeting bot should attend a meeting; writes and converges the resulting CallRecording records and serves the transcript viewer front component.', + canReadAllObjectRecords: false, + canUpdateAllObjectRecords: false, + canSoftDeleteAllObjectRecords: false, + canDestroyAllObjectRecords: false, + canUpdateAllSettings: false, + canBeAssignedToAgents: false, + canBeAssignedToUsers: false, + canBeAssignedToApiKeys: false, + objectPermissions: [ + { + objectUniversalIdentifier: + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.calendarEvent.universalIdentifier, + canReadObjectRecords: true, + canUpdateObjectRecords: false, + canSoftDeleteObjectRecords: false, + canDestroyObjectRecords: false, + }, + { + objectUniversalIdentifier: + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.calendarChannelEventAssociation + .universalIdentifier, + canReadObjectRecords: true, + canUpdateObjectRecords: false, + canSoftDeleteObjectRecords: false, + canDestroyObjectRecords: false, + }, + { + objectUniversalIdentifier: + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.workspaceMember + .universalIdentifier, + canReadObjectRecords: true, + canUpdateObjectRecords: false, + canSoftDeleteObjectRecords: false, + canDestroyObjectRecords: false, + }, + { + objectUniversalIdentifier: + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.callRecording.universalIdentifier, + canReadObjectRecords: true, + canUpdateObjectRecords: true, + canSoftDeleteObjectRecords: false, + canDestroyObjectRecords: false, + }, + ], + fieldPermissions: [], + // UPLOAD_FILE: media ingestion uploads Recall artifacts into FILES fields. + // CONNECTED_ACCOUNTS: calendarChannelOwners resolves whose calendar synced a meeting. + permissionFlagUniversalIdentifiers: [ + SystemPermissionFlag.UPLOAD_FILE, + SystemPermissionFlag.CONNECTED_ACCOUNTS, + ], +}); diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/src/fields/meeting-bot-preference-on-calendar-event.field.ts b/packages/twenty-apps/internal/twenty-meeting-bot/src/fields/meeting-bot-preference-on-calendar-event.field.ts new file mode 100644 index 0000000000..7338543ab8 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/src/fields/meeting-bot-preference-on-calendar-event.field.ts @@ -0,0 +1,49 @@ +import { + defineField, + FieldType, + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS, +} from 'twenty-sdk/define'; + +import { MeetingBotPreference } from 'src/constants/meeting-bot-preference'; +import { MEETING_BOT_PREFERENCE_AUTO_OPTION_ID } from 'src/constants/meeting-bot-preference-auto-option-id'; +import { MEETING_BOT_PREFERENCE_OFF_OPTION_ID } from 'src/constants/meeting-bot-preference-off-option-id'; +import { MEETING_BOT_PREFERENCE_ON_CALENDAR_EVENT_FIELD_UNIVERSAL_IDENTIFIER } from 'src/constants/meeting-bot-preference-on-calendar-event-field-universal-identifier'; +import { MEETING_BOT_PREFERENCE_ON_OPTION_ID } from 'src/constants/meeting-bot-preference-on-option-id'; + +export default defineField({ + universalIdentifier: + MEETING_BOT_PREFERENCE_ON_CALENDAR_EVENT_FIELD_UNIVERSAL_IDENTIFIER, + objectUniversalIdentifier: + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.calendarEvent.universalIdentifier, + type: FieldType.SELECT, + name: 'meetingBotPreference', + label: 'Recording Bot', + description: + 'Whether the meeting bot records this event. Auto follows the auto-record settings of participating workspace members.', + icon: 'IconRobot', + isNullable: false, + defaultValue: `'${MeetingBotPreference.AUTO}'`, + options: [ + { + id: MEETING_BOT_PREFERENCE_AUTO_OPTION_ID, + value: MeetingBotPreference.AUTO, + label: 'Auto', + position: 0, + color: 'gray', + }, + { + id: MEETING_BOT_PREFERENCE_ON_OPTION_ID, + value: MeetingBotPreference.ON, + label: 'Recording on', + position: 1, + color: 'green', + }, + { + id: MEETING_BOT_PREFERENCE_OFF_OPTION_ID, + value: MeetingBotPreference.OFF, + label: 'Recording off', + position: 2, + color: 'red', + }, + ], +}); diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/tsconfig.json b/packages/twenty-apps/internal/twenty-meeting-bot/tsconfig.json new file mode 100644 index 0000000000..d574c8c810 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/tsconfig.json @@ -0,0 +1,42 @@ +{ + "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", + "**/*.integration-test.ts" + ], + "references": [ + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/tsconfig.spec.json b/packages/twenty-apps/internal/twenty-meeting-bot/tsconfig.spec.json new file mode 100644 index 0000000000..ea69a6c010 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "composite": true, + "types": ["vitest/globals", "node"] + }, + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/vitest.config.ts b/packages/twenty-apps/internal/twenty-meeting-bot/vitest.config.ts new file mode 100644 index 0000000000..8f359b3659 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/vitest.config.ts @@ -0,0 +1,35 @@ +import { loadEnv } from 'vite'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import { defineConfig } from 'vitest/config'; + +const fileEnv = loadEnv('test', process.cwd(), 'TWENTY_'); + +const TWENTY_API_URL = + process.env.TWENTY_API_URL ?? fileEnv.TWENTY_API_URL ?? 'http://localhost:2020'; +const TWENTY_API_KEY = process.env.TWENTY_API_KEY ?? fileEnv.TWENTY_API_KEY; + +// Make env vars available to globalSetup (test.env only applies to workers) +process.env.TWENTY_API_URL = TWENTY_API_URL; +if (TWENTY_API_KEY) { + process.env.TWENTY_API_KEY = TWENTY_API_KEY; +} + +export default defineConfig({ + plugins: [ + tsconfigPaths({ + projects: ['tsconfig.spec.json'], + ignoreConfigErrors: true, + }), + ], + test: { + testTimeout: 120_000, + hookTimeout: 120_000, + fileParallelism: false, + include: ['src/**/*.integration-test.ts'], + globalSetup: ['src/__tests__/global-setup.ts'], + env: { + TWENTY_API_URL, + ...(TWENTY_API_KEY ? { TWENTY_API_KEY } : {}), + }, + }, +}); diff --git a/packages/twenty-apps/internal/twenty-meeting-bot/yarn.lock b/packages/twenty-apps/internal/twenty-meeting-bot/yarn.lock new file mode 100644 index 0000000000..52e7322532 --- /dev/null +++ b/packages/twenty-apps/internal/twenty-meeting-bot/yarn.lock @@ -0,0 +1,3012 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@alcalzone/ansi-tokenize@npm:^0.2.4": + version: 0.2.5 + resolution: "@alcalzone/ansi-tokenize@npm:0.2.5" + dependencies: + ansi-styles: "npm:^6.2.1" + is-fullwidth-code-point: "npm:^5.0.0" + checksum: 10c0/dd8622288426b5b7dbf8b68d51d4b930cea591d0e3b9dbc3f523131464d78ac922c165fcb7ba5307f133d35dbcaa0e6648a1c3fb6a0dc2725546d6f867b70af4 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/aix-ppc64@npm:0.27.7" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/aix-ppc64@npm:0.28.1" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-arm64@npm:0.27.7" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/android-arm64@npm:0.28.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-arm@npm:0.27.7" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/android-arm@npm:0.28.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-x64@npm:0.27.7" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/android-x64@npm:0.28.1" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/darwin-arm64@npm:0.27.7" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/darwin-arm64@npm:0.28.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/darwin-x64@npm:0.27.7" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/darwin-x64@npm:0.28.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/freebsd-arm64@npm:0.27.7" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/freebsd-arm64@npm:0.28.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/freebsd-x64@npm:0.27.7" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/freebsd-x64@npm:0.28.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-arm64@npm:0.27.7" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-arm64@npm:0.28.1" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-arm@npm:0.27.7" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-arm@npm:0.28.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-ia32@npm:0.27.7" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-ia32@npm:0.28.1" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-loong64@npm:0.27.7" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-loong64@npm:0.28.1" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-mips64el@npm:0.27.7" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-mips64el@npm:0.28.1" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-ppc64@npm:0.27.7" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-ppc64@npm:0.28.1" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-riscv64@npm:0.27.7" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-riscv64@npm:0.28.1" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-s390x@npm:0.27.7" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-s390x@npm:0.28.1" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-x64@npm:0.27.7" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-x64@npm:0.28.1" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/netbsd-arm64@npm:0.27.7" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/netbsd-arm64@npm:0.28.1" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/netbsd-x64@npm:0.27.7" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/netbsd-x64@npm:0.28.1" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openbsd-arm64@npm:0.27.7" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/openbsd-arm64@npm:0.28.1" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openbsd-x64@npm:0.27.7" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/openbsd-x64@npm:0.28.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openharmony-arm64@npm:0.27.7" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/openharmony-arm64@npm:0.28.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/sunos-x64@npm:0.27.7" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/sunos-x64@npm:0.28.1" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-arm64@npm:0.27.7" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/win32-arm64@npm:0.28.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-ia32@npm:0.27.7" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/win32-ia32@npm:0.28.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-x64@npm:0.27.7" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/win32-x64@npm:0.28.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@genql/runtime@npm:^2.10.0": + version: 2.10.0 + resolution: "@genql/runtime@npm:2.10.0" + dependencies: + "@types/qs": "npm:^6.9.0" + "@types/ws": "npm:^6.0.1" + graphql-query-batcher: "npm:^1.0.1" + isomorphic-unfetch: "npm:^3.0.0" + lodash: "npm:^4.17.20" + subscriptions-transport-ws: "npm:^0.9.16" + tslib: "npm:^2.0.0" + utility-types: "npm:^3.10.0" + ws: "npm:^6.1.4" + zen-observable-ts: "npm:^0.8.21" + peerDependencies: + graphql: "*" + checksum: 10c0/e2a886c2469c933681e2b0ddd6a5b7f4cb12932251ba460e3cf2db4246817da79313ea4ba9769ec7cbe53ab9c1cb81ad8fcce6a969cd241185b79398d2a4f3c6 + languageName: node + linkType: hard + +"@inquirer/ansi@npm:^2.0.7": + version: 2.0.7 + resolution: "@inquirer/ansi@npm:2.0.7" + checksum: 10c0/a574f97a899f0d9346fa26b528b3f4a9ba6dcb9172288efb6b4314d8486470ed53d2f538200f66a25b843c6e0cbf83688c6d5174a8dc6eca853b291b09609c5a + languageName: node + linkType: hard + +"@inquirer/checkbox@npm:^5.2.1": + version: 5.2.1 + resolution: "@inquirer/checkbox@npm:5.2.1" + dependencies: + "@inquirer/ansi": "npm:^2.0.7" + "@inquirer/core": "npm:^11.2.1" + "@inquirer/figures": "npm:^2.0.7" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/e3a845156c718fbbec228a0e7fd2a4f10775185615eac1f405b3a2bb2ae607dda6baf178fbd6487db0e12e5e33014536e81acefe65de57cd476a7aeaea6fb35d + languageName: node + linkType: hard + +"@inquirer/confirm@npm:^6.1.1": + version: 6.1.1 + resolution: "@inquirer/confirm@npm:6.1.1" + dependencies: + "@inquirer/core": "npm:^11.2.1" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/4684406161c09327df830b4026f3165b31e13831276d215051586408ed434423263b15686393ce95a4b55058c1b7f9b08aa4b66f5ac930b47523fff75051d36f + languageName: node + linkType: hard + +"@inquirer/core@npm:^11.2.1": + version: 11.2.1 + resolution: "@inquirer/core@npm:11.2.1" + dependencies: + "@inquirer/ansi": "npm:^2.0.7" + "@inquirer/figures": "npm:^2.0.7" + "@inquirer/type": "npm:^4.0.7" + cli-width: "npm:^4.1.0" + fast-wrap-ansi: "npm:^0.2.0" + mute-stream: "npm:^3.0.0" + signal-exit: "npm:^4.1.0" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/b5be386cecd9e441ac2f9d3417a6ae1c4658b3ee6cdf5dae791211400f4de158851f81fca2245e2062833716f95366b9e1717770828cb7365e756c16e822f0d2 + languageName: node + linkType: hard + +"@inquirer/editor@npm:^5.2.2": + version: 5.2.2 + resolution: "@inquirer/editor@npm:5.2.2" + dependencies: + "@inquirer/core": "npm:^11.2.1" + "@inquirer/external-editor": "npm:^3.0.3" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/a75e7012aad3ccc3ec84893463ed689924515a6cbaee8e2a475769fb27c12bcf359fcdd5f62e92107fc4be88fd69444c15adf13071982efc140c7015a6604d9a + languageName: node + linkType: hard + +"@inquirer/expand@npm:^5.1.1": + version: 5.1.1 + resolution: "@inquirer/expand@npm:5.1.1" + dependencies: + "@inquirer/core": "npm:^11.2.1" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/4de661a042147759ce351971a4f92010ab66cb76450424e7d8aec5de79b449d14e8751f54f557d0b047180bca2b76707626f4835ee46603c6200139c31b59652 + languageName: node + linkType: hard + +"@inquirer/external-editor@npm:^3.0.3": + version: 3.0.3 + resolution: "@inquirer/external-editor@npm:3.0.3" + dependencies: + chardet: "npm:^2.1.1" + iconv-lite: "npm:^0.7.2" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/fc24ddbff15f0874db6498c16d2fe153bb19a670d83605f480486d6ff0ea872ae2f32a548fd555797989db09850fa019a6b5e49a8d40cfee0d7deacad17edc1e + languageName: node + linkType: hard + +"@inquirer/figures@npm:^2.0.7": + version: 2.0.7 + resolution: "@inquirer/figures@npm:2.0.7" + checksum: 10c0/e0573dc9ad25fa3628d5164745e52852d8cd832a9918605b7716df2e37a0005a0aaf40b6d81cef2ca09cb708b200e61b82d1dcd17003f572577e233c19a9ec7b + languageName: node + linkType: hard + +"@inquirer/input@npm:^5.1.2": + version: 5.1.2 + resolution: "@inquirer/input@npm:5.1.2" + dependencies: + "@inquirer/core": "npm:^11.2.1" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/9c3614f8d79fc2bec07a088858a58967a162046c9292b0c6f0c6f63396cf391181cfb54bb636f5b3dce8d23924c24ee4a0310183a493c94190e4750218f3744d + languageName: node + linkType: hard + +"@inquirer/number@npm:^4.1.1": + version: 4.1.1 + resolution: "@inquirer/number@npm:4.1.1" + dependencies: + "@inquirer/core": "npm:^11.2.1" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/06210dd70bf89d35242af43009b5e3f76a5f07d6275a9d842bbed61536032f5f349ecba1c20012975d7b0362deb89746d5903e90f21516da10bfd8c2055829a9 + languageName: node + linkType: hard + +"@inquirer/password@npm:^5.1.1": + version: 5.1.1 + resolution: "@inquirer/password@npm:5.1.1" + dependencies: + "@inquirer/ansi": "npm:^2.0.7" + "@inquirer/core": "npm:^11.2.1" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/e4cb3a53b56743808f83958a8fe85738d721599690a4bc7640eaa07fb8f4765bc6f174e40c16efcc8a5958a7169667e240714a706a36e831f9c7a6822cbe8b55 + languageName: node + linkType: hard + +"@inquirer/prompts@npm:^8.5.2": + version: 8.5.2 + resolution: "@inquirer/prompts@npm:8.5.2" + dependencies: + "@inquirer/checkbox": "npm:^5.2.1" + "@inquirer/confirm": "npm:^6.1.1" + "@inquirer/editor": "npm:^5.2.2" + "@inquirer/expand": "npm:^5.1.1" + "@inquirer/input": "npm:^5.1.2" + "@inquirer/number": "npm:^4.1.1" + "@inquirer/password": "npm:^5.1.1" + "@inquirer/rawlist": "npm:^5.3.1" + "@inquirer/search": "npm:^4.2.1" + "@inquirer/select": "npm:^5.2.1" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/253b92e31c6a1f8f00a778eda8196bb53fc931723f7db4a03937f38ccd4d07c987766d4f60b9250b5d90bfe30b04747dfa73927a9f6fb886bd48091ccb202535 + languageName: node + linkType: hard + +"@inquirer/rawlist@npm:^5.3.1": + version: 5.3.1 + resolution: "@inquirer/rawlist@npm:5.3.1" + dependencies: + "@inquirer/core": "npm:^11.2.1" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/a05eb6a16633bd7b32b3b6b2c1f645e6e28d955475b21ba7222e7e66806b1be15be9f91235b2933e8d27e04fdad81ebfb2d64fc1fc0d4b8d82dcd2718817b2b9 + languageName: node + linkType: hard + +"@inquirer/search@npm:^4.2.1": + version: 4.2.1 + resolution: "@inquirer/search@npm:4.2.1" + dependencies: + "@inquirer/core": "npm:^11.2.1" + "@inquirer/figures": "npm:^2.0.7" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/eae9b2d524aae58266f96987696be22ad62f608661d28763c413f2560094d571a39d72a40630d2470f503ad5e6e50d8c574a653cc028bf79b51104fa91f59a67 + languageName: node + linkType: hard + +"@inquirer/select@npm:^5.2.1": + version: 5.2.1 + resolution: "@inquirer/select@npm:5.2.1" + dependencies: + "@inquirer/ansi": "npm:^2.0.7" + "@inquirer/core": "npm:^11.2.1" + "@inquirer/figures": "npm:^2.0.7" + "@inquirer/type": "npm:^4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/3c6d0151b5a29111254a58eaf8b93bb4c476e68b0751526d8bff61a4bea457bdbe782890ae33977c5d2015f436596b5d32a8bb0677bfdf610f5f5998e65f5a92 + languageName: node + linkType: hard + +"@inquirer/type@npm:^4.0.7": + version: 4.0.7 + resolution: "@inquirer/type@npm:4.0.7" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/80678ac1c6e19ce309909e4a54a69adc95697ea3abc2cb92f17b1bc52f4caadbcb4003ae7339fb5a70c0d36d3bde975e1bb4450069662f41c953a0d28695bb70 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@oxlint/darwin-arm64@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/darwin-arm64@npm:0.16.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/darwin-x64@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/darwin-x64@npm:0.16.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/linux-arm64-gnu@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/linux-arm64-gnu@npm:0.16.12" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/linux-arm64-musl@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/linux-arm64-musl@npm:0.16.12" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/linux-x64-gnu@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/linux-x64-gnu@npm:0.16.12" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/linux-x64-musl@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/linux-x64-musl@npm:0.16.12" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/win32-arm64@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/win32-arm64@npm:0.16.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/win32-x64@npm:0.16.12": + version: 0.16.12 + resolution: "@oxlint/win32-x64@npm:0.16.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.61.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-android-arm64@npm:4.61.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.61.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.61.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.61.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.61.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.61.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.61.1" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.61.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.61.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-gnu@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.61.1" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-musl@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.61.1" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-gnu@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.61.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-musl@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.61.1" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.61.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.61.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.61.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.61.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.61.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-openbsd-x64@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-openbsd-x64@npm:4.61.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.61.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.61.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.61.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-gnu@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.61.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.61.1": + version: 4.61.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.61.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sniptt/guards@npm:^0.2.0": + version: 0.2.0 + resolution: "@sniptt/guards@npm:0.2.0" + checksum: 10c0/749bb0f550d1ddd4abdb23dc1076cba26e977659922b73d000bceeb253c09270aaced0d18e92f09d4ce2fdaae33e55f60f2142f5359bc90ba505422af0873526 + languageName: node + linkType: hard + +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" + dependencies: + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f + languageName: node + linkType: hard + +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 + languageName: node + linkType: hard + +"@types/estree@npm:1.0.9, @types/estree@npm:^1.0.0": + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 10c0/3ad3286ca2988cd550dafb8f2ad599c8474868e954fa601a36655bdfefd8039f7c714b8c1c7f2ae219ffbd58bd4660e66fa7479a0120fc02d4777057d4865387 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 25.9.3 + resolution: "@types/node@npm:25.9.3" + dependencies: + undici-types: "npm:>=7.24.0 <7.24.7" + checksum: 10c0/72d3aece9d42c2c641bcd3f3cb2dc2828b4bd384dfcbd910c404b8859a68bd69d50c4769ce7defd4ff5e049768e23e615f09407ea2cbbb5f44b90d75a7c6b8ca + languageName: node + linkType: hard + +"@types/node@npm:^24.7.2": + version: 24.13.2 + resolution: "@types/node@npm:24.13.2" + dependencies: + undici-types: "npm:~7.18.0" + checksum: 10c0/d7d48a88a4feb0a6aac3cbfaf9ef3b12752b4b09447f88dd0b4c77c03b281e3d4330fe6982a99aedcd63fc16c7540a0c248b91eb2abb0b3edd884d7fe684e9ea + languageName: node + linkType: hard + +"@types/qs@npm:^6.9.0": + version: 6.15.1 + resolution: "@types/qs@npm:6.15.1" + checksum: 10c0/1dfdbcb4cf2a8f66d57f0b9a9fe6b1c7091cb816687b6698c1351eaf31f62e412cea9b7453a9637b570cd5fad8dced527e5a9e69b4fcc6e318daacd8b749f094 + languageName: node + linkType: hard + +"@types/react@npm:^19.0.0": + version: 19.2.17 + resolution: "@types/react@npm:19.2.17" + dependencies: + csstype: "npm:^3.2.2" + checksum: 10c0/bc2c4af96b3e480604424de70d5ebda90c5f4b485df471858c0bc2d7d70364b606ec3c4d8579f94f01aa0c6c0591f56bcf14cba5689f5eea4b74250ccdc3a232 + languageName: node + linkType: hard + +"@types/ws@npm:^6.0.1": + version: 6.0.4 + resolution: "@types/ws@npm:6.0.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/fa958e64596ca9487c3ed6012834de70b47f25d971f1950cfb8e6a99cb77ff340ae82ac7627744e01b58010674ef8ede07d5a2ac29ca9ad0d67a430fcc69ae14 + languageName: node + linkType: hard + +"@vitest/expect@npm:3.2.6": + version: 3.2.6 + resolution: "@vitest/expect@npm:3.2.6" + dependencies: + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:3.2.6" + "@vitest/utils": "npm:3.2.6" + chai: "npm:^5.2.0" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/bb51fa6a1f0740b3ee994347bc5067c8a17c2f3dea56b76a8c2c328885cdbfbafbb99b0b94b8166dc605eedbb9f467d37a6a0e0c81855eb18e232417cca4ccbd + languageName: node + linkType: hard + +"@vitest/mocker@npm:3.2.6": + version: 3.2.6 + resolution: "@vitest/mocker@npm:3.2.6" + dependencies: + "@vitest/spy": "npm:3.2.6" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.17" + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/0429d72e52ca1cc25d7ac44fbc251d0486974d8e0e59860c605d72456c0a17fa1d464b2a5e34690c17afcc7be562d7c22595f53503244a858f1f5903998da100 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:3.2.6, @vitest/pretty-format@npm:^3.2.6": + version: 3.2.6 + resolution: "@vitest/pretty-format@npm:3.2.6" + dependencies: + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/9fc2887ef4206c90392de4e205d0109add35382446914d0124c53d1da327f49b9e9535fb336cb260394c176e4bb14b1b3aba0a42ab12b0f8b95034ccd4fed4eb + languageName: node + linkType: hard + +"@vitest/runner@npm:3.2.6": + version: 3.2.6 + resolution: "@vitest/runner@npm:3.2.6" + dependencies: + "@vitest/utils": "npm:3.2.6" + pathe: "npm:^2.0.3" + strip-literal: "npm:^3.0.0" + checksum: 10c0/bfc552ee2424ec62e4d6c075d000348a8187eb1be7ce9ae4673139c2f4a71e271ac15bef4d6af27cb5a29f4776dd437bea9d5819f62f0b5ece3c6dd857fa300d + languageName: node + linkType: hard + +"@vitest/snapshot@npm:3.2.6": + version: 3.2.6 + resolution: "@vitest/snapshot@npm:3.2.6" + dependencies: + "@vitest/pretty-format": "npm:3.2.6" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.3" + checksum: 10c0/b8f73cc2bc50ca6cd013e2dae1f531aa2132d053e52d2055da8544290e6e8a92dd06f8cf07e8fce15137f27e8156f2936eb6bd9fa63c76e6f6a9813cf0820022 + languageName: node + linkType: hard + +"@vitest/spy@npm:3.2.6": + version: 3.2.6 + resolution: "@vitest/spy@npm:3.2.6" + dependencies: + tinyspy: "npm:^4.0.3" + checksum: 10c0/b4b022546523168f361cd640dff68feb9709b259aacc05e12055a4f278d07e58fbb280ae70454425199f91e62729b03f0a16bdfe880c5a0b1b10c02bc334fc30 + languageName: node + linkType: hard + +"@vitest/utils@npm:3.2.6": + version: 3.2.6 + resolution: "@vitest/utils@npm:3.2.6" + dependencies: + "@vitest/pretty-format": "npm:3.2.6" + loupe: "npm:^3.1.4" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/452da757082ebcadf43ce697bf4077d546ea06e094763969440c3cb0d7bb950be0f69d6dbdab297cd0307bdf956294e20b0184d0218a4ef942d3d253995d44ed + languageName: node + linkType: hard + +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 + languageName: node + linkType: hard + +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"ansi-escapes@npm:^7.3.0": + version: 7.3.0 + resolution: "ansi-escapes@npm:7.3.0" + dependencies: + environment: "npm:^1.0.0" + checksum: 10c0/068961d99f0ef28b661a4a9f84a5d645df93ccf3b9b93816cc7d46bbe1913321d4cdf156bb842a4e1e4583b7375c631fa963efb43001c4eb7ff9ab8f78fc0679 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.2.2": + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f + languageName: node + linkType: hard + +"ansi-styles@npm:^6.2.1, ansi-styles@npm:^6.2.3": + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: 10c0/23b8a4ce14e18fb854693b95351e286b771d23d8844057ed2e7d083cd3e708376c3323707ec6a24365f7d7eda3ca00327fe04092e29e551499ec4c8b7bfac868 + languageName: node + linkType: hard + +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 + languageName: node + linkType: hard + +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 10c0/0693d378cfe86842a70d4c849595a0bb50dc44c11649640ca982fa90cbfc74e3cc4753b5a0847e51933f2e9c65ce8e05576e75e5e1fd963a086e673735b35969 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"auto-bind@npm:^5.0.1": + version: 5.0.1 + resolution: "auto-bind@npm:5.0.1" + checksum: 10c0/a703375350ea7b6e92405d8e6bcc6dbfb84b0d7c7172b33e5788a7593929a18227999ff9aa9c32436741d06d021e6672457b1cec73287efe3fab95cff6627eaf + languageName: node + linkType: hard + +"axios@npm:^1.16.0": + version: 1.17.0 + resolution: "axios@npm:1.17.0" + dependencies: + follow-redirects: "npm:^1.16.0" + form-data: "npm:^4.0.5" + https-proxy-agent: "npm:^5.0.1" + proxy-from-env: "npm:^2.1.0" + checksum: 10c0/c4fa19ff3a3a63bde48beec03ad816b133b9a6385cccffffe172577ab18c6a70e299280d57f12c80c867fe25df41f92cb91d3a8258708a6d2be3e9e085f92650 + languageName: node + linkType: hard + +"backo2@npm:^1.0.2": + version: 1.0.2 + resolution: "backo2@npm:1.0.2" + checksum: 10c0/a9e825a6a38a6d1c4a94476eabc13d6127dfaafb0967baf104affbb67806ae26abbb58dab8d572d2cd21ef06634ff57c3ad48dff14b904e18de1474cc2f22bf3 + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"chai@npm:^5.2.0": + version: 5.3.3 + resolution: "chai@npm:5.3.3" + dependencies: + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/b360fd4d38861622e5010c2f709736988b05c7f31042305fa3f4e9911f6adb80ccfb4e302068bf8ed10e835c2e2520cba0f5edc13d878b886987e5aa62483f53 + languageName: node + linkType: hard + +"chalk@npm:^5.3.0, chalk@npm:^5.6.0": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 + languageName: node + linkType: hard + +"chardet@npm:^2.1.1": + version: 2.1.1 + resolution: "chardet@npm:2.1.1" + checksum: 10c0/d8391dd412338442b3de0d3a488aa9327f8bcf74b62b8723d6bd0b85c4084d50b731320e0a7c710edb1d44de75969995d2784b80e4c13b004a6c7a0db4c6e793 + languageName: node + linkType: hard + +"check-error@npm:^2.1.1": + version: 2.1.3 + resolution: "check-error@npm:2.1.3" + checksum: 10c0/878e99038fb6476316b74668cd6a498c7e66df3efe48158fa40db80a06ba4258742ac3ee2229c4a2a98c5e73f5dff84eb3e50ceb6b65bbd8f831eafc8338607d + languageName: node + linkType: hard + +"chokidar@npm:^4.0.0": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"cli-boxes@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-boxes@npm:3.0.0" + checksum: 10c0/4db3e8fbfaf1aac4fb3a6cbe5a2d3fa048bee741a45371b906439b9ffc821c6e626b0f108bdcd3ddf126a4a319409aedcf39a0730573ff050fdd7b6731e99fb9 + languageName: node + linkType: hard + +"cli-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "cli-cursor@npm:4.0.0" + dependencies: + restore-cursor: "npm:^4.0.0" + checksum: 10c0/e776e8c3c6727300d0539b0d25160b2bb56aed1a63942753ba1826b012f337a6f4b7ace3548402e4f2f13b5e16bfd751be672c44b203205e7eca8be94afec42c + languageName: node + linkType: hard + +"cli-truncate@npm:^5.1.1": + version: 5.2.0 + resolution: "cli-truncate@npm:5.2.0" + dependencies: + slice-ansi: "npm:^8.0.0" + string-width: "npm:^8.2.0" + checksum: 10c0/0d4ec94702ca85b64522ac93633837fb5ea7db17b79b1322a60f6045e6ae2b8cd7bd4c1d19ac7d1f9e10e3bbda1112e172e439b68c02b785ee00da8d6a5c5471 + languageName: node + linkType: hard + +"cli-width@npm:^4.1.0": + version: 4.1.0 + resolution: "cli-width@npm:4.1.0" + checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f + languageName: node + linkType: hard + +"code-excerpt@npm:^4.0.0": + version: 4.0.0 + resolution: "code-excerpt@npm:4.0.0" + dependencies: + convert-to-spaces: "npm:^2.0.1" + checksum: 10c0/b6c5a06e039cecd2ab6a0e10ee0831de8362107d1f298ca3558b5f9004cb8e0260b02dd6c07f57b9a0e346c76864d2873311ee1989809fdeb05bd5fbbadde773 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:^12.0.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"convert-to-spaces@npm:^2.0.1": + version: 2.0.1 + resolution: "convert-to-spaces@npm:2.0.1" + checksum: 10c0/d90aa0e3b6a27f9d5265a8d32def3c5c855b3e823a9db1f26d772f8146d6b91020a2fdfd905ce8048a73fad3aaf836fef8188c67602c374405e2ae8396c4ac46 + languageName: node + linkType: hard + +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.1, debug@npm:^4.4.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.3.0": + version: 10.6.0 + resolution: "emoji-regex@npm:10.6.0" + checksum: 10c0/1e4aa097bb007301c3b4b1913879ae27327fdc48e93eeefefe3b87e495eb33c5af155300be951b4349ff6ac084f4403dc9eff970acba7c1c572d89396a9a32d7 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"environment@npm:^1.0.0": + version: 1.1.0 + resolution: "environment@npm:1.1.0" + checksum: 10c0/fb26434b0b581ab397039e51ff3c92b34924a98b2039dcb47e41b7bca577b9dbf134a8eadb364415c74464b682e2d3afe1a4c0eb9873dc44ea814c5d3103331d + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.7.0": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.2 + resolution: "es-object-atoms@npm:1.1.2" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/1772861f094f739d6f41b579cfb9a18579daffeb434552a370a5fbef50a32d22227e27b63fdbb757b7ddd429d1b42fe52ccae7966d9302a2ec221b6f1b41bbc4 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + +"es-toolkit@npm:^1.39.10": + version: 1.47.0 + resolution: "es-toolkit@npm:1.47.0" + dependenciesMeta: + "@trivago/prettier-plugin-sort-imports@4.3.0": + unplugged: true + prettier-plugin-sort-re-exports@0.0.1: + unplugged: true + vitepress-plugin-sandpack@1.1.4: + unplugged: true + checksum: 10c0/6edc9709fccc409fa4adddd318971d8a18335de9225f2dc99021aacba44fe66a2437a831923589c643865caab261a087bd974338294a60bb5a74932caa102901 + languageName: node + linkType: hard + +"esbuild@npm:^0.27.0": + version: 0.27.7 + resolution: "esbuild@npm:0.27.7" + dependencies: + "@esbuild/aix-ppc64": "npm:0.27.7" + "@esbuild/android-arm": "npm:0.27.7" + "@esbuild/android-arm64": "npm:0.27.7" + "@esbuild/android-x64": "npm:0.27.7" + "@esbuild/darwin-arm64": "npm:0.27.7" + "@esbuild/darwin-x64": "npm:0.27.7" + "@esbuild/freebsd-arm64": "npm:0.27.7" + "@esbuild/freebsd-x64": "npm:0.27.7" + "@esbuild/linux-arm": "npm:0.27.7" + "@esbuild/linux-arm64": "npm:0.27.7" + "@esbuild/linux-ia32": "npm:0.27.7" + "@esbuild/linux-loong64": "npm:0.27.7" + "@esbuild/linux-mips64el": "npm:0.27.7" + "@esbuild/linux-ppc64": "npm:0.27.7" + "@esbuild/linux-riscv64": "npm:0.27.7" + "@esbuild/linux-s390x": "npm:0.27.7" + "@esbuild/linux-x64": "npm:0.27.7" + "@esbuild/netbsd-arm64": "npm:0.27.7" + "@esbuild/netbsd-x64": "npm:0.27.7" + "@esbuild/openbsd-arm64": "npm:0.27.7" + "@esbuild/openbsd-x64": "npm:0.27.7" + "@esbuild/openharmony-arm64": "npm:0.27.7" + "@esbuild/sunos-x64": "npm:0.27.7" + "@esbuild/win32-arm64": "npm:0.27.7" + "@esbuild/win32-ia32": "npm:0.27.7" + "@esbuild/win32-x64": "npm:0.27.7" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/ccd51f0555708bc9ff4ec9dc3ac92d3daacd45ecaac949ca8645984c5c323bf8cefe98c2df307418685e0b4ce37f9a3bdbfe8e3651fe632a0059a436195a17d4 + languageName: node + linkType: hard + +"esbuild@npm:^0.28.1": + version: 0.28.1 + resolution: "esbuild@npm:0.28.1" + dependencies: + "@esbuild/aix-ppc64": "npm:0.28.1" + "@esbuild/android-arm": "npm:0.28.1" + "@esbuild/android-arm64": "npm:0.28.1" + "@esbuild/android-x64": "npm:0.28.1" + "@esbuild/darwin-arm64": "npm:0.28.1" + "@esbuild/darwin-x64": "npm:0.28.1" + "@esbuild/freebsd-arm64": "npm:0.28.1" + "@esbuild/freebsd-x64": "npm:0.28.1" + "@esbuild/linux-arm": "npm:0.28.1" + "@esbuild/linux-arm64": "npm:0.28.1" + "@esbuild/linux-ia32": "npm:0.28.1" + "@esbuild/linux-loong64": "npm:0.28.1" + "@esbuild/linux-mips64el": "npm:0.28.1" + "@esbuild/linux-ppc64": "npm:0.28.1" + "@esbuild/linux-riscv64": "npm:0.28.1" + "@esbuild/linux-s390x": "npm:0.28.1" + "@esbuild/linux-x64": "npm:0.28.1" + "@esbuild/netbsd-arm64": "npm:0.28.1" + "@esbuild/netbsd-x64": "npm:0.28.1" + "@esbuild/openbsd-arm64": "npm:0.28.1" + "@esbuild/openbsd-x64": "npm:0.28.1" + "@esbuild/openharmony-arm64": "npm:0.28.1" + "@esbuild/sunos-x64": "npm:0.28.1" + "@esbuild/win32-arm64": "npm:0.28.1" + "@esbuild/win32-ia32": "npm:0.28.1" + "@esbuild/win32-x64": "npm:0.28.1" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/29cd456a79ce35ac2c7e05fe871330416b2c395c045d849653f843e51378d6e0d6e774d6dcd01b35f4e83238a29bf8decd04fcd34b3780c589a250b21e5f92bb + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"eventemitter3@npm:^3.1.0": + version: 3.1.2 + resolution: "eventemitter3@npm:3.1.2" + checksum: 10c0/c67262eccbf85848b7cc6d4abb6c6e34155e15686db2a01c57669fd0d44441a574a19d44d25948b442929e065774cbe5003d8e77eed47674fbf876ac77887793 + languageName: node + linkType: hard + +"expect-type@npm:^1.2.1": + version: 1.3.0 + resolution: "expect-type@npm:1.3.0" + checksum: 10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"fast-string-truncated-width@npm:^3.0.2": + version: 3.0.3 + resolution: "fast-string-truncated-width@npm:3.0.3" + checksum: 10c0/043b8663397d14a3880ce4f3407bcda60b40db9bbeafe62863a35d1f9c69ea17c8da3fcd72de235553e6c9cd053128cde9e24ca0d4a7463208f48db3cd23d981 + languageName: node + linkType: hard + +"fast-string-width@npm:^3.0.2": + version: 3.0.2 + resolution: "fast-string-width@npm:3.0.2" + dependencies: + fast-string-truncated-width: "npm:^3.0.2" + checksum: 10c0/c8822d175315bb353ebe782b65214ac53b13e3bf704e03b132ea7bdfa8de6a636375b3ab7a4097545393d109381c37c4f387c72a462c90b61412dbc4632f39a7 + languageName: node + linkType: hard + +"fast-wrap-ansi@npm:^0.2.0": + version: 0.2.2 + resolution: "fast-wrap-ansi@npm:0.2.2" + dependencies: + fast-string-width: "npm:^3.0.2" + checksum: 10c0/1aa7be4f7cb86f4bdb14691cb6bcc0b8df8b3b89df142ade3ae1602332dcf6f990cd750a923cd581ca0847808cb4ec1aa5afaafa7a72f849e87a2a62c98fa370 + languageName: node + linkType: hard + +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"follow-redirects@npm:^1.16.0": + version: 1.16.0 + resolution: "follow-redirects@npm:1.16.0" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/a1e2900163e6f1b4d1ed5c221b607f41decbab65534c63fe7e287e40a5d552a6496e7d9d7d976fa4ba77b4c51c11e5e9f683f10b43011ea11e442ff128d0e181 + languageName: node + linkType: hard + +"form-data@npm:^4.0.5": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 + languageName: node + linkType: hard + +"get-east-asian-width@npm:^1.0.0, get-east-asian-width@npm:^1.3.1, get-east-asian-width@npm:^1.5.0": + version: 1.6.0 + resolution: "get-east-asian-width@npm:1.6.0" + checksum: 10c0/7e72e9550fd49ca5b246f9af6bb2afc129c96412845ff6556b3274fd44817a381702ca17028efe9866b261a3d44254cbf21e6c90cf05b4b61675630af776d431 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.6": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" + dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + +"globrex@npm:^0.1.2": + version: 0.1.2 + resolution: "globrex@npm:0.1.2" + checksum: 10c0/a54c029520cf58bda1d8884f72bd49b4cd74e977883268d931fd83bcbd1a9eb96d57c7dbd4ad80148fb9247467ebfb9b215630b2ed7563b2a8de02e1ff7f89d1 + languageName: node + linkType: hard + +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphql-query-batcher@npm:^1.0.1": + version: 1.0.1 + resolution: "graphql-query-batcher@npm:1.0.1" + checksum: 10c0/804d0f4064721a2116a16b9eac422e9233e85f4ab5b250cb8f83662725658ffde35779a8ae8211037f3dd2f9717de8cb63b394ad8057ce22171a83db2471196a + languageName: node + linkType: hard + +"graphql-sse@npm:^2.5.4": + version: 2.6.0 + resolution: "graphql-sse@npm:2.6.0" + peerDependencies: + graphql: ">=0.11 <=16" + checksum: 10c0/e05f0b5c8539d61e5ce34af8e0bb418c02bf922d6a7f9232a9abd53c77df5654684ca14f674ac771645c8fba9c37ce666c5d06f46eef54ea07e63653468065b0 + languageName: node + linkType: hard + +"graphql@npm:^16.8.1": + version: 16.14.2 + resolution: "graphql@npm:16.14.2" + checksum: 10c0/a95a96961eaff55cc9fe9d31fae6f33499ac988b972d07ea5085024cb1333f515b902f376e7393a5489aa82200a8aff3eb96580e4d1b69d702ed19b6eb1ce97a + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.4 + resolution: "hasown@npm:2.0.4" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/2d8de939e270b70618f8cebb69746620db10617dbb495bc66ddad326955ea24d3ca4af133aff3eb7c1853e0218f867bc2b050ec26fe02e3aea58f880ffc5e506 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.1": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.7.2": + version: 0.7.2 + resolution: "iconv-lite@npm:0.7.2" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/3c228920f3bd307f56bf8363706a776f4a060eb042f131cd23855ceca962951b264d0997ab38a1ad340e1c5df8499ed26e1f4f0db6b2a2ad9befaff22f14b722 + languageName: node + linkType: hard + +"indent-string@npm:^5.0.0": + version: 5.0.0 + resolution: "indent-string@npm:5.0.0" + checksum: 10c0/8ee77b57d92e71745e133f6f444d6fa3ed503ad0e1bcd7e80c8da08b42375c07117128d670589725ed07b1978065803fa86318c309ba45415b7fe13e7f170220 + languageName: node + linkType: hard + +"ink@npm:^6.8.0": + version: 6.8.0 + resolution: "ink@npm:6.8.0" + dependencies: + "@alcalzone/ansi-tokenize": "npm:^0.2.4" + ansi-escapes: "npm:^7.3.0" + ansi-styles: "npm:^6.2.1" + auto-bind: "npm:^5.0.1" + chalk: "npm:^5.6.0" + cli-boxes: "npm:^3.0.0" + cli-cursor: "npm:^4.0.0" + cli-truncate: "npm:^5.1.1" + code-excerpt: "npm:^4.0.0" + es-toolkit: "npm:^1.39.10" + indent-string: "npm:^5.0.0" + is-in-ci: "npm:^2.0.0" + patch-console: "npm:^2.0.0" + react-reconciler: "npm:^0.33.0" + scheduler: "npm:^0.27.0" + signal-exit: "npm:^3.0.7" + slice-ansi: "npm:^8.0.0" + stack-utils: "npm:^2.0.6" + string-width: "npm:^8.1.1" + terminal-size: "npm:^4.0.1" + type-fest: "npm:^5.4.1" + widest-line: "npm:^6.0.0" + wrap-ansi: "npm:^9.0.0" + ws: "npm:^8.18.0" + yoga-layout: "npm:~3.2.1" + peerDependencies: + "@types/react": ">=19.0.0" + react: ">=19.0.0" + react-devtools-core: ">=6.1.2" + peerDependenciesMeta: + "@types/react": + optional: true + react-devtools-core: + optional: true + checksum: 10c0/50500e547fdf6a1f1d836d6befbd4770e3ab649ef0be1884500a6da411fb68a90e22dd7dcc9c404911d30e9f87506b3b9d8e997c6c6ceac85ee054b4dadefaff + languageName: node + linkType: hard + +"inquirer@npm:^14.0.0": + version: 14.0.2 + resolution: "inquirer@npm:14.0.2" + dependencies: + "@inquirer/ansi": "npm:^2.0.7" + "@inquirer/core": "npm:^11.2.1" + "@inquirer/prompts": "npm:^8.5.2" + "@inquirer/type": "npm:^4.0.7" + mute-stream: "npm:^3.0.0" + run-async: "npm:^4.0.6" + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/31ec80b7d599dcb19568540d694865b1da116f701b75503a23ed38189d96fca70eb1fb6ccb1dbd994f6f79d407d51dc1a94d06dcef5370644ce736792414781b + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^5.0.0, is-fullwidth-code-point@npm:^5.1.0": + version: 5.1.0 + resolution: "is-fullwidth-code-point@npm:5.1.0" + dependencies: + get-east-asian-width: "npm:^1.3.1" + checksum: 10c0/c1172c2e417fb73470c56c431851681591f6a17233603a9e6f94b7ba870b2e8a5266506490573b607fb1081318589372034aa436aec07b465c2029c0bc7f07a4 + languageName: node + linkType: hard + +"is-in-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-in-ci@npm:2.0.0" + bin: + is-in-ci: cli.js + checksum: 10c0/1e1d1056939a681e8206035de5ad84e0404556eaa7622bb55f0f1868b9788bff3df427bc0b1ed5a172623154a90fcb1e759a230817cd73d09435543ae3c71feb + languageName: node + linkType: hard + +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce + languageName: node + linkType: hard + +"isomorphic-unfetch@npm:^3.0.0": + version: 3.1.0 + resolution: "isomorphic-unfetch@npm:3.1.0" + dependencies: + node-fetch: "npm:^2.6.1" + unfetch: "npm:^4.2.0" + checksum: 10c0/d3b61fca06304db692b7f76bdfd3a00f410e42cfa7403c3b250546bf71589d18cf2f355922f57198e4cc4a9872d3647b20397a5c3edf1a347c90d57c83cf2a89 + languageName: node + linkType: hard + +"iterall@npm:^1.2.1": + version: 1.3.0 + resolution: "iterall@npm:1.3.0" + checksum: 10c0/40de624e5fe937c4c0e511981b91caea9ff2142bfc0316cccc8506eaa03aa253820cc17c5bc5f0a98706c7268a373e5ebee9af9a0c8a359730cf7c05938b57b5 + languageName: node + linkType: hard + +"js-tokens@npm:^9.0.1": + version: 9.0.1 + resolution: "js-tokens@npm:9.0.1" + checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.2.0": + version: 3.3.1 + resolution: "jsonc-parser@npm:3.3.1" + checksum: 10c0/269c3ae0a0e4f907a914bf334306c384aabb9929bd8c99f909275ebd5c2d3bc70b9bcd119ad794f339dec9f24b6a4ee9cd5a8ab2e6435e730ad4075388fc2ab6 + languageName: node + linkType: hard + +"lodash@npm:^4.17.20, lodash@npm:^4.17.21": + version: 4.18.1 + resolution: "lodash@npm:4.18.1" + checksum: 10c0/757228fc68805c59789e82185135cf85f05d0b2d3d54631d680ca79ec21944ec8314d4533639a14b8bcfbd97a517e78960933041a5af17ecb693ec6eecb99a27 + languageName: node + linkType: hard + +"loupe@npm:^3.1.0, loupe@npm:^3.1.4": + version: 3.2.1 + resolution: "loupe@npm:3.2.1" + checksum: 10c0/910c872cba291309664c2d094368d31a68907b6f5913e989d301b5c25f30e97d76d77f23ab3bf3b46d0f601ff0b6af8810c10c31b91d2c6b2f132809ca2cc705 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.17": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb + languageName: node + linkType: hard + +"minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"mute-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "mute-stream@npm:3.0.0" + checksum: 10c0/12cdb36a101694c7a6b296632e6d93a30b74401873cf7507c88861441a090c71c77a58f213acadad03bc0c8fa186639dec99d68a14497773a8744320c136e701 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.12": + version: 3.3.12 + resolution: "nanoid@npm:3.3.12" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/ba142b7b39e11e80c16dd74b0365d407880c87c1cf7e1480956981ae940ee36060fa5b6f092cd1e315184dd19244c657bd017d03327bd3c62247d691c5e8edfb + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 12.4.0 + resolution: "node-gyp@npm:12.4.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.5.4" + tinyglobby: "npm:^0.2.12" + undici: "npm:^6.25.0" + which: "npm:^6.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/9acb7c798e124275a6f9c1f7eb64b5abd6196bb885a3945fb44ee0dccf435514e88cdfb0f228ee7ff76ef25107c1f39ff37a067bf92fd00b9aff9234db29ff9e + languageName: node + linkType: hard + +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" + dependencies: + abbrev: "npm:^4.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"oxlint@npm:^0.16.0": + version: 0.16.12 + resolution: "oxlint@npm:0.16.12" + dependencies: + "@oxlint/darwin-arm64": "npm:0.16.12" + "@oxlint/darwin-x64": "npm:0.16.12" + "@oxlint/linux-arm64-gnu": "npm:0.16.12" + "@oxlint/linux-arm64-musl": "npm:0.16.12" + "@oxlint/linux-x64-gnu": "npm:0.16.12" + "@oxlint/linux-x64-musl": "npm:0.16.12" + "@oxlint/win32-arm64": "npm:0.16.12" + "@oxlint/win32-x64": "npm:0.16.12" + dependenciesMeta: + "@oxlint/darwin-arm64": + optional: true + "@oxlint/darwin-x64": + optional: true + "@oxlint/linux-arm64-gnu": + optional: true + "@oxlint/linux-arm64-musl": + optional: true + "@oxlint/linux-x64-gnu": + optional: true + "@oxlint/linux-x64-musl": + optional: true + "@oxlint/win32-arm64": + optional: true + "@oxlint/win32-x64": + optional: true + bin: + oxc_language_server: bin/oxc_language_server + oxlint: bin/oxlint + checksum: 10c0/209c3484039c4f1fdd340689e81be93a70fdf74e8c111731e70d81580d223b0029439107c95fa4118cec3c9b03ba6c56624d3dcb8cdc79af222da3561122b3e7 + languageName: node + linkType: hard + +"patch-console@npm:^2.0.0": + version: 2.0.0 + resolution: "patch-console@npm:2.0.0" + checksum: 10c0/486602591a0af7af8d4c76d8eea42cad32b6de7200488819c6383c75e43733ca7bdc80e30f2e68ce05f06a1607cce1683a1706c6672ca27dada1921b366e8f1c + languageName: node + linkType: hard + +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 + languageName: node + linkType: hard + +"pathval@npm:^2.0.0": + version: 2.0.1 + resolution: "pathval@npm:2.0.1" + checksum: 10c0/460f4709479fbf2c45903a65655fc8f0a5f6d808f989173aeef5fdea4ff4f303dc13f7870303999add60ec49d4c14733895c0a869392e9866f1091fa64fd7581 + languageName: node + linkType: hard + +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": + version: 4.0.4 + resolution: "picomatch@npm:4.0.4" + checksum: 10c0/e2c6023372cc7b5764719a5ffb9da0f8e781212fa7ca4bd0562db929df8e117460f00dff3cb7509dacfc06b86de924b247f504d0ce1806a37fac4633081466b0 + languageName: node + linkType: hard + +"postcss@npm:^8.5.6": + version: 8.5.15 + resolution: "postcss@npm:8.5.15" + dependencies: + nanoid: "npm:^3.3.12" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/7f2e63ae22fbe43aace1bf652bd99da4e90737c64194d49e51ddc9cd0f9e51ff2861a7d734379b494deffa03a880a5c65eec70bc29ee9ebaa7136dde3eee8f31 + languageName: node + linkType: hard + +"preact@npm:^10.28.3": + version: 10.29.2 + resolution: "preact@npm:10.29.2" + checksum: 10c0/2ee161274e475804524608d42bba8c79920636b322293248796a9e5bf4c3332336f8c0eca1b1566ed09cdee95e408eb20b5b7613d95820ea6b6eb8fc090ef60a + languageName: node + linkType: hard + +"prettier@npm:^3.8.3": + version: 3.8.4 + resolution: "prettier@npm:3.8.4" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/b90a0cbe75b88ac0af9c13fe0f359bd19926fabccd88483227b21f71f0c1cc42da056fc1ac3a361e665577c568371d5ccfb2c62c31c8a1186f8d1bd531a063e9 + languageName: node + linkType: hard + +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 + languageName: node + linkType: hard + +"proxy-from-env@npm:^2.1.0": + version: 2.1.0 + resolution: "proxy-from-env@npm:2.1.0" + checksum: 10c0/ed01729fd4d094eab619cd7e17ce3698b3413b31eb102c4904f9875e677cd207392795d5b4adee9cec359dfd31c44d5ad7595a3a3ad51c40250e141512281c58 + languageName: node + linkType: hard + +"react-dom@npm:^19.0.0, react-dom@npm:^19.2.0": + version: 19.2.7 + resolution: "react-dom@npm:19.2.7" + dependencies: + scheduler: "npm:^0.27.0" + peerDependencies: + react: ^19.2.7 + checksum: 10c0/970ff600f6e80d47d39e2f226f12f226173b3cba3382efc97c5f0cd663de9af38c7a4c11c213fb936094faeac83060d660247accaa96b752180d5b951b9cfecb + languageName: node + linkType: hard + +"react-reconciler@npm:^0.33.0": + version: 0.33.0 + resolution: "react-reconciler@npm:0.33.0" + dependencies: + scheduler: "npm:^0.27.0" + peerDependencies: + react: ^19.2.0 + checksum: 10c0/3f7b27ea8d0ff4c8bf0e402a285e1af9b7d0e6f4c1a70a28f4384938bc1130bc82a90a31df0b79ef5e380e2e55e2598bd90b4dbf802b1203d735ba0355817d3a + languageName: node + linkType: hard + +"react@npm:^19.0.0, react@npm:^19.2.0": + version: 19.2.7 + resolution: "react@npm:19.2.7" + checksum: 10c0/0bd0e2f1bbd4ba97561c6597bf8a5fec05e6476fe61e165c1065598d16668efc6715205599c94d3ddd49d36cb0f21cbf1b9bcc18ee840b805ce222c3e8d558ac + languageName: node + linkType: hard + +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 + languageName: node + linkType: hard + +"restore-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "restore-cursor@npm:4.0.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/6f7da8c5e422ac26aa38354870b1afac09963572cf2879443540449068cb43476e9cbccf6f8de3e0171e0d6f7f533c2bc1a0a008003c9a525bbc098e89041318 + languageName: node + linkType: hard + +"rollup@npm:^4.43.0": + version: 4.61.1 + resolution: "rollup@npm:4.61.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.61.1" + "@rollup/rollup-android-arm64": "npm:4.61.1" + "@rollup/rollup-darwin-arm64": "npm:4.61.1" + "@rollup/rollup-darwin-x64": "npm:4.61.1" + "@rollup/rollup-freebsd-arm64": "npm:4.61.1" + "@rollup/rollup-freebsd-x64": "npm:4.61.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.61.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.61.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.61.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.61.1" + "@rollup/rollup-linux-loong64-gnu": "npm:4.61.1" + "@rollup/rollup-linux-loong64-musl": "npm:4.61.1" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.61.1" + "@rollup/rollup-linux-ppc64-musl": "npm:4.61.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.61.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.61.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.61.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.61.1" + "@rollup/rollup-linux-x64-musl": "npm:4.61.1" + "@rollup/rollup-openbsd-x64": "npm:4.61.1" + "@rollup/rollup-openharmony-arm64": "npm:4.61.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.61.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.61.1" + "@rollup/rollup-win32-x64-gnu": "npm:4.61.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.61.1" + "@types/estree": "npm:1.0.9" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true + "@rollup/rollup-linux-ppc64-gnu": + optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-openbsd-x64": + optional: true + "@rollup/rollup-openharmony-arm64": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/6f35736125f3c28c5d8ce1c89c9653b282833b93f60fe29fcc20169bac46579b4d4bcfcb2bfb7e36dcfd4a7bbd6d84e4adf58c2bf9e6dbb4a3c1ed5c932ba8c6 + languageName: node + linkType: hard + +"run-async@npm:^4.0.6": + version: 4.0.6 + resolution: "run-async@npm:4.0.6" + checksum: 10c0/3e512c689d356238a06a59839deddeb09aec23bc66f780fe970fcf12b64bfc00c6880e9530ea22b8cf88a927145561f5a43343d8be87166e849ec0daaa3d4cf4 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 + languageName: node + linkType: hard + +"semver@npm:^7.3.5": + version: 7.8.4 + resolution: "semver@npm:7.8.4" + bin: + semver: bin/semver.js + checksum: 10c0/81b7c296fd7927b80f67fa516b75fa1017caac8167795320de28e76ccbc6f7f01763c30ecd10d6a0d8fd089708ab0548a5aebb94b0870e99c2a2b4600a46389b + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"slice-ansi@npm:^8.0.0": + version: 8.0.0 + resolution: "slice-ansi@npm:8.0.0" + dependencies: + ansi-styles: "npm:^6.2.3" + is-fullwidth-code-point: "npm:^5.1.0" + checksum: 10c0/0ce4aa91febb7cea4a00c2c27bb820fa53b6d2862ce0f80f7120134719f7914fc416b0ed966cf35250a3169e152916392f35917a2d7cad0fcc5d8b841010fa9a + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.6": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: "npm:^2.0.0" + checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"std-env@npm:^3.9.0": + version: 3.10.0 + resolution: "std-env@npm:3.10.0" + checksum: 10c0/1814927a45004d36dde6707eaf17552a546769bc79a6421be2c16ce77d238158dfe5de30910b78ec30d95135cc1c59ea73ee22d2ca170f8b9753f84da34c427f + languageName: node + linkType: hard + +"string-width@npm:^7.0.0": + version: 7.2.0 + resolution: "string-width@npm:7.2.0" + dependencies: + emoji-regex: "npm:^10.3.0" + get-east-asian-width: "npm:^1.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9 + languageName: node + linkType: hard + +"string-width@npm:^8.1.0, string-width@npm:^8.1.1, string-width@npm:^8.2.0": + version: 8.2.1 + resolution: "string-width@npm:8.2.1" + dependencies: + get-east-asian-width: "npm:^1.5.0" + strip-ansi: "npm:^7.1.2" + checksum: 10c0/d467b4eaf4c40a01bb438a2620e77badd2456ffd5131c9973abe4f3acf7c802d5b21f3b6a00a5e33a7fc28ca8f9c103226e01bac61e9f259659c6f46d78e353a + languageName: node + linkType: hard + +"strip-ansi@npm:^7.1.0, strip-ansi@npm:^7.1.2": + version: 7.2.0 + resolution: "strip-ansi@npm:7.2.0" + dependencies: + ansi-regex: "npm:^6.2.2" + checksum: 10c0/544d13b7582f8254811ea97db202f519e189e59d35740c46095897e254e4f1aa9fe1524a83ad6bc5ad67d4dd6c0281d2e0219ed62b880a6238a16a17d375f221 + languageName: node + linkType: hard + +"strip-literal@npm:^3.0.0": + version: 3.1.0 + resolution: "strip-literal@npm:3.1.0" + dependencies: + js-tokens: "npm:^9.0.1" + checksum: 10c0/50918f669915d9ad0fe4b7599902b735f853f2201c97791ead00104a654259c0c61bc2bc8fa3db05109339b61f4cf09e47b94ecc874ffbd0e013965223893af8 + languageName: node + linkType: hard + +"subscriptions-transport-ws@npm:^0.9.16": + version: 0.9.19 + resolution: "subscriptions-transport-ws@npm:0.9.19" + dependencies: + backo2: "npm:^1.0.2" + eventemitter3: "npm:^3.1.0" + iterall: "npm:^1.2.1" + symbol-observable: "npm:^1.0.4" + ws: "npm:^5.2.0 || ^6.0.0 || ^7.0.0" + peerDependencies: + graphql: ">=0.10.0" + checksum: 10c0/6f2ade56865f0ba291d3ff82c79781b051c2374873bac853286fedfdbc05001b8c4018ab7cba44af667ead7f573e48d18892d58a8f9ca8d90dfb4bff5c125045 + languageName: node + linkType: hard + +"symbol-observable@npm:^1.0.4": + version: 1.2.0 + resolution: "symbol-observable@npm:1.2.0" + checksum: 10c0/009fee50798ef80ed4b8195048288f108b03de162db07493f2e1fd993b33fafa72d659e832b584da5a2427daa78e5a738fb2a9ab027ee9454252e0bedbcd1fdc + languageName: node + linkType: hard + +"tagged-tag@npm:^1.0.0": + version: 1.0.0 + resolution: "tagged-tag@npm:1.0.0" + checksum: 10c0/91d25c9ffb86a91f20522cefb2cbec9b64caa1febe27ad0df52f08993ff60888022d771e868e6416cf2e72dab68449d2139e8709ba009b74c6c7ecd4000048d1 + languageName: node + linkType: hard + +"tar@npm:^7.5.4": + version: 7.5.16 + resolution: "tar@npm:7.5.16" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/4f37f3c4bd2ca2755fd736a5df1d573c1a868ec1b1e893346aeafa95ac510f9e2fd1469420bd866cc7904799e5bd4ac62b5d4f03fe27747d6e1e373b44505c5c + languageName: node + linkType: hard + +"terminal-size@npm:^4.0.1": + version: 4.0.1 + resolution: "terminal-size@npm:4.0.1" + checksum: 10c0/89afd9d816dd9dbfe4499da9aeea70491bbde4ff4592226a9c8ac71074a7580afead6a78e95ecc35f6d42e09087b55ffcb1019302cd55e0cc957b6ce5c4847e8 + languageName: node + linkType: hard + +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.2": + version: 0.3.2 + resolution: "tinyexec@npm:0.3.2" + checksum: 10c0/3efbf791a911be0bf0821eab37a3445c2ba07acc1522b1fa84ae1e55f10425076f1290f680286345ed919549ad67527d07281f1c19d584df3b74326909eb1f90 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/7f7bb0f197c88bc4b20c231e0deca4240ca3bf313a88f5a7fee93a872b84966a4d50220947c0455ad07a60b3b360961c5b7fd979222aeb716a9f99b412002e4c + languageName: node + linkType: hard + +"tinypool@npm:^1.1.1": + version: 1.1.1 + resolution: "tinypool@npm:1.1.1" + checksum: 10c0/bf26727d01443061b04fa863f571016950888ea994ba0cd8cba3a1c51e2458d84574341ab8dbc3664f1c3ab20885c8cf9ff1cc4b18201f04c2cde7d317fff69b + languageName: node + linkType: hard + +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 10c0/c83c52bef4e0ae7fb8ec6a722f70b5b6fa8d8be1c85792e829f56c0e1be94ab70b293c032dc5048d4d37cfe678f1f5babb04bdc65fd123098800148ca989184f + languageName: node + linkType: hard + +"tinyspy@npm:^4.0.3": + version: 4.0.4 + resolution: "tinyspy@npm:4.0.4" + checksum: 10c0/a8020fc17799251e06a8398dcc352601d2770aa91c556b9531ecd7a12581161fd1c14e81cbdaff0c1306c93bfdde8ff6d1c1a3f9bbe6d91604f0fd4e01e2f1eb + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"tsconfck@npm:^3.0.3": + version: 3.1.6 + resolution: "tsconfck@npm:3.1.6" + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + bin: + tsconfck: bin/tsconfck.js + checksum: 10c0/269c3c513540be44844117bb9b9258fe6f8aeab026d32aeebf458d5299125f330711429dbb556dbf125a0bc25f4a81e6c24ac96de2740badd295c3fb400f66c4 + languageName: node + linkType: hard + +"tslib@npm:^1.9.3": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tslib@npm:^2.0.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + +"twenty-client-sdk@npm:2.13.0": + version: 2.13.0 + resolution: "twenty-client-sdk@npm:2.13.0" + dependencies: + "@genql/runtime": "npm:^2.10.0" + esbuild: "npm:^0.28.1" + graphql: "npm:^16.8.1" + lodash: "npm:^4.17.21" + prettier: "npm:^3.8.3" + checksum: 10c0/740464acec94c1d4cc5fa50ed6b190a7f1d1681963f61437a6c704835c05ffe0f5a13e254e57601a99b07bbe0f68483dee19211731853aafbcc15ec79f8039ce + languageName: node + linkType: hard + +"twenty-meeting-bot@workspace:.": + version: 0.0.0-use.local + resolution: "twenty-meeting-bot@workspace:." + dependencies: + "@types/node": "npm:^24.7.2" + "@types/react": "npm:^19.0.0" + oxlint: "npm:^0.16.0" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" + twenty-client-sdk: "npm:2.13.0" + twenty-sdk: "npm:2.13.0" + typescript: "npm:^5.9.3" + vite-tsconfig-paths: "npm:^4.2.1" + vitest: "npm:^3.1.1" + languageName: unknown + linkType: soft + +"twenty-sdk@npm:2.13.0": + version: 2.13.0 + resolution: "twenty-sdk@npm:2.13.0" + dependencies: + "@sniptt/guards": "npm:^0.2.0" + axios: "npm:^1.16.0" + chalk: "npm:^5.3.0" + chokidar: "npm:^4.0.0" + commander: "npm:^12.0.0" + esbuild: "npm:^0.28.1" + graphql: "npm:^16.8.1" + graphql-sse: "npm:^2.5.4" + ink: "npm:^6.8.0" + inquirer: "npm:^14.0.0" + jsonc-parser: "npm:^3.2.0" + preact: "npm:^10.28.3" + react: "npm:^19.2.0" + react-dom: "npm:^19.2.0" + tinyglobby: "npm:^0.2.15" + twenty-client-sdk: "npm:2.13.0" + typescript: "npm:^5.9.3" + uuid: "npm:^13.0.2" + bin: + twenty: dist/cli.cjs + checksum: 10c0/51c350abe5d344fcad3c961a77632fd3cb2d91e357d0562b3eb02f05f66dbc41221c5463d0f91c022316a16af03a05ad43f038d9534c0ae31c060008d0e48672 + languageName: node + linkType: hard + +"type-fest@npm:^5.4.1": + version: 5.7.0 + resolution: "type-fest@npm:5.7.0" + dependencies: + tagged-tag: "npm:^1.0.0" + checksum: 10c0/f71ed17b753649421e419db8cc2e140f930333a1467b1d9cca2e0e4052900fd442f2360bae73f3a6bf9340d949ac46d9a1598c709b4c8089272e7624df9c8716 + languageName: node + linkType: hard + +"typescript@npm:^5.9.3": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.9.3#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 + languageName: node + linkType: hard + +"undici-types@npm:>=7.24.0 <7.24.7": + version: 7.24.6 + resolution: "undici-types@npm:7.24.6" + checksum: 10c0/d9cd8befb643ac904615c280a095ba4240531f6bb4a5e75a22a7483630ca8d3f1016d2ab6ace6ceda1f63b3a2db2fe037fafe121d6917a0187573aa548ff78ca + languageName: node + linkType: hard + +"undici-types@npm:~7.18.0": + version: 7.18.2 + resolution: "undici-types@npm:7.18.2" + checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d + languageName: node + linkType: hard + +"undici@npm:^6.25.0": + version: 6.26.0 + resolution: "undici@npm:6.26.0" + checksum: 10c0/cf2b4caf58c33d6582970991290cc7a6486d6e738845f25dcdd16952d708ec844815c6d30362919764fcaf30f719891289341f1ada496f003ce2700310453a47 + languageName: node + linkType: hard + +"unfetch@npm:^4.2.0": + version: 4.2.0 + resolution: "unfetch@npm:4.2.0" + checksum: 10c0/a5c0a896a6f09f278b868075aea65652ad185db30e827cb7df45826fe5ab850124bf9c44c4dafca4bf0c55a0844b17031e8243467fcc38dd7a7d435007151f1b + languageName: node + linkType: hard + +"utility-types@npm:^3.10.0": + version: 3.11.0 + resolution: "utility-types@npm:3.11.0" + checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 + languageName: node + linkType: hard + +"uuid@npm:^13.0.2": + version: 13.0.2 + resolution: "uuid@npm:13.0.2" + bin: + uuid: dist-node/bin/uuid + checksum: 10c0/32c7ee84fa7c7966cc09b3a1514a752a8e2f609f15c00033fbaedc0255d577d1877b839f11ee537f37e587bbc620bbb98c3b3a1482931b8ed47d79497cd7a7cd + languageName: node + linkType: hard + +"vite-node@npm:3.2.4": + version: 3.2.4 + resolution: "vite-node@npm:3.2.4" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.4.1" + es-module-lexer: "npm:^1.7.0" + pathe: "npm:^2.0.3" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/6ceca67c002f8ef6397d58b9539f80f2b5d79e103a18367288b3f00a8ab55affa3d711d86d9112fce5a7fa658a212a087a005a045eb8f4758947dd99af2a6c6b + languageName: node + linkType: hard + +"vite-tsconfig-paths@npm:^4.2.1": + version: 4.3.2 + resolution: "vite-tsconfig-paths@npm:4.3.2" + dependencies: + debug: "npm:^4.1.1" + globrex: "npm:^0.1.2" + tsconfck: "npm:^3.0.3" + peerDependencies: + vite: "*" + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/f390ac1d1c3992fc5ac50f9274c1090f8b55ab34a89ea88893db9a6924a3b26c9f64bc1163615150ad100749db73b6b2cf1d57f6cd60df6e762ceb5b8ad30024 + languageName: node + linkType: hard + +"vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0": + version: 7.3.5 + resolution: "vite@npm:7.3.5" + dependencies: + esbuild: "npm:^0.27.0" + fdir: "npm:^6.5.0" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.6" + rollup: "npm:^4.43.0" + tinyglobby: "npm:^0.2.15" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/4ad700649ed2ebd1e726d32f3f6e41eecbec4e29bcb5977805f3d43a5659280518aa431b0fc61adc1879df4fe1978d7cfc7dbbe54cdf014022385052967721e8 + languageName: node + linkType: hard + +"vitest@npm:^3.1.1": + version: 3.2.6 + resolution: "vitest@npm:3.2.6" + dependencies: + "@types/chai": "npm:^5.2.2" + "@vitest/expect": "npm:3.2.6" + "@vitest/mocker": "npm:3.2.6" + "@vitest/pretty-format": "npm:^3.2.6" + "@vitest/runner": "npm:3.2.6" + "@vitest/snapshot": "npm:3.2.6" + "@vitest/spy": "npm:3.2.6" + "@vitest/utils": "npm:3.2.6" + chai: "npm:^5.2.0" + debug: "npm:^4.4.1" + expect-type: "npm:^1.2.1" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.2" + std-env: "npm:^3.9.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.2" + tinyglobby: "npm:^0.2.14" + tinypool: "npm:^1.1.1" + tinyrainbow: "npm:^2.0.0" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" + vite-node: "npm:3.2.4" + why-is-node-running: "npm:^2.3.0" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/debug": ^4.1.12 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@vitest/browser": 3.2.6 + "@vitest/ui": 3.2.6 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/debug": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10c0/ea222dcd7310188479e37dbea4fbcbdcdb8db97f952b4813e7e7b370b329485c2de4622551e61076ffd75d4d811a6800a0da1e31520067614c51528f26704758 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"which@npm:^6.0.0": + version: 6.0.1 + resolution: "which@npm:6.0.1" + dependencies: + isexe: "npm:^4.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/7e710e54ea36d2d6183bee2f9caa27a3b47b9baf8dee55a199b736fcf85eab3b9df7556fca3d02b50af7f3dfba5ea3a45644189836df06267df457e354da66d5 + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.3.0": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + languageName: node + linkType: hard + +"widest-line@npm:^6.0.0": + version: 6.0.0 + resolution: "widest-line@npm:6.0.0" + dependencies: + string-width: "npm:^8.1.0" + checksum: 10c0/735f1fdcd97fe765a07bb8b5e73c020bed8e53ab34e83ce0ef01693ba3c914d9e7977fe5f5facf0d0b670297a82dd5e376d3efa0896860dfcdaf7cd6924c0fb7 + languageName: node + linkType: hard + +"wrap-ansi@npm:^9.0.0": + version: 9.0.2 + resolution: "wrap-ansi@npm:9.0.2" + dependencies: + ansi-styles: "npm:^6.2.1" + string-width: "npm:^7.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/3305839b9a0d6fb930cb63a52f34d3936013d8b0682ff3ec133c9826512620f213800ffa19ea22904876d5b7e9a3c1f40682f03597d986a4ca881fa7b033688c + languageName: node + linkType: hard + +"ws@npm:^5.2.0 || ^6.0.0 || ^7.0.0": + version: 7.5.11 + resolution: "ws@npm:7.5.11" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/7972670b676fb1ccba73b0899ca3c2e04e8c2075629c2614cced7f556536f96a672bbf4619fc5a06c8b8720bb839a47ca88c69c95dc14c9c61a99fbecba1c866 + languageName: node + linkType: hard + +"ws@npm:^6.1.4": + version: 6.2.4 + resolution: "ws@npm:6.2.4" + dependencies: + async-limiter: "npm:~1.0.0" + checksum: 10c0/5c2b9474164f9cb68c7776a1d10b0461c186f3a69bffb1028fca33eba5ab7206a09173fb0b311d6c5a81c8cf148406f8deb0b7d899542ab8ca67407d99717dad + languageName: node + linkType: hard + +"ws@npm:^8.18.0": + version: 8.21.0 + resolution: "ws@npm:8.21.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/ef4a243476283fc49bc7550966c4af4aa0eef56273837211e700de3b664e08604a760cdddcb5ba43c049140e74ccfec5b0ee0bb439e08c2adf9138902fdde5f9 + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yoga-layout@npm:~3.2.1": + version: 3.2.1 + resolution: "yoga-layout@npm:3.2.1" + checksum: 10c0/9001e51be993c85e03757e5a04a2b61b8b30c9e5a7865d0156ca87a6431a3b717d51eb4990bfe588189fcfeac688dd9c3de707bbd50d1c344a84e63974cc54a8 + languageName: node + linkType: hard + +"zen-observable-ts@npm:^0.8.21": + version: 0.8.21 + resolution: "zen-observable-ts@npm:0.8.21" + dependencies: + tslib: "npm:^1.9.3" + zen-observable: "npm:^0.8.0" + checksum: 10c0/fe4a02f862b5f7e8ae0f86230c37b84c7d5611f5c206981afb4043e732d04cf7067a6cbe1ba82d20f18b735a3387937195a12542158a631d308ae3959a1d93c4 + languageName: node + linkType: hard + +"zen-observable@npm:^0.8.0": + version: 0.8.15 + resolution: "zen-observable@npm:0.8.15" + checksum: 10c0/71cc2f2bbb537300c3f569e25693d37b3bc91f225cefce251a71c30bc6bb3e7f8e9420ca0eb57f2ac9e492b085b8dfa075fd1e8195c40b83c951dd59c6e4fbf8 + languageName: node + linkType: hard diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/2-10-workspace-command-1799000055000-sync-call-recording-standard-objects.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/2-10-workspace-command-1799000055000-sync-call-recording-standard-objects.command.ts index ae4eca907b..8c0ef145f8 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/2-10-workspace-command-1799000055000-sync-call-recording-standard-objects.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/2-10-workspace-command-1799000055000-sync-call-recording-standard-objects.command.ts @@ -1,9 +1,12 @@ import { Command } from 'nest-commander'; +import { TWENTY_STANDARD_APPLICATION_UNIVERSAL_IDENTIFIER } from 'twenty-shared/application'; import { STANDARD_OBJECTS, STANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERS, } from 'twenty-shared/metadata'; +import { FieldMetadataType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; +import { v4 as uuidv4 } from 'uuid'; import { ActiveOrSuspendedWorkspaceCommandRunner } from 'src/database/commands/command-runners/active-or-suspended-workspace.command-runner'; import { WorkspaceIteratorService } from 'src/database/commands/command-runners/workspace-iterator.service'; @@ -12,6 +15,7 @@ import { buildNavigationCommandMenuItemOperationsOrThrow } from 'src/database/co import { buildCalendarEventFieldRenameUpdates, buildCallRecordingObjectRenameUpdates, + LEGACY_CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER, } from 'src/database/commands/upgrade-version-command/2-10/utils/call-recording-name-collision.util'; import { getExistingOrStandardFlatEntityOrThrow, @@ -43,7 +47,6 @@ const CALL_RECORDING_OBJECT_METADATA_UNIVERSAL_IDENTIFIERS = [ const CALL_RECORDING_FIELD_METADATA_UNIVERSAL_IDENTIFIERS = [ ...getUniversalIdentifiers(STANDARD_OBJECTS.callRecording.fields), - STANDARD_OBJECTS.calendarEvent.fields.recordingPreference.universalIdentifier, STANDARD_OBJECTS.calendarEvent.fields.callRecordings.universalIdentifier, ]; @@ -92,6 +95,91 @@ const CALL_RECORDING_PAGE_LAYOUT_WIDGET_UNIVERSAL_IDENTIFIERS = [ .timeline.widgets.timeline.universalIdentifier, ]; +// Preserves the shipped 2.10 upgrade path after recordingPreference moved out of +// current standard metadata. +const buildLegacyCalendarEventRecordingPreferenceFieldMetadata = ({ + calendarEventObjectMetadata, + now, + twentyStandardApplicationId, + workspaceId, +}: { + calendarEventObjectMetadata: FlatObjectMetadata; + now: string; + twentyStandardApplicationId: string; + workspaceId: string; +}): FlatFieldMetadata => ({ + id: uuidv4(), + universalIdentifier: + LEGACY_CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER, + applicationId: twentyStandardApplicationId, + workspaceId, + objectMetadataId: calendarEventObjectMetadata.id, + type: FieldMetadataType.SELECT, + name: 'recordingPreference', + label: 'Recording Preference', + description: + 'Whether to record this event, applied on top of the workspace policy', + icon: 'IconSettingsAutomation', + isActive: true, + isSystem: false, + isNullable: false, + isUnique: false, + isUIEditable: true, + isLabelSyncedWithName: false, + standardOverrides: null, + defaultValue: "'AUTO'", + settings: null, + options: [ + { + id: '4c4761ce-ffbf-4176-be7f-5cf5257c8bff', + value: 'AUTO', + label: 'Auto', + position: 0, + color: 'blue', + }, + { + id: '1ae19135-e1a1-4a96-b866-91643622e554', + value: 'ON', + label: 'On', + position: 1, + color: 'green', + }, + { + id: '8c69a74f-2ab7-4c19-a813-eb0ea3533fd3', + value: 'OFF', + label: 'Off', + position: 2, + color: 'gray', + }, + ], + relationTargetFieldMetadataId: null, + relationTargetObjectMetadataId: null, + morphId: null, + viewFieldIds: [], + viewFilterIds: [], + fieldPermissionIds: [], + kanbanAggregateOperationViewIds: [], + calendarViewIds: [], + mainGroupByFieldMetadataViewIds: [], + createdAt: now, + updatedAt: now, + applicationUniversalIdentifier: + TWENTY_STANDARD_APPLICATION_UNIVERSAL_IDENTIFIER, + objectMetadataUniversalIdentifier: + STANDARD_OBJECTS.calendarEvent.universalIdentifier, + relationTargetObjectMetadataUniversalIdentifier: null, + relationTargetFieldMetadataUniversalIdentifier: null, + viewFilterUniversalIdentifiers: [], + viewFieldUniversalIdentifiers: [], + fieldPermissionUniversalIdentifiers: [], + kanbanAggregateOperationViewUniversalIdentifiers: [], + calendarViewUniversalIdentifiers: [], + mainGroupByFieldMetadataViewUniversalIdentifiers: [], + viewSortIds: [], + viewSortUniversalIdentifiers: [], + universalSettings: null, +}); + @RegisteredWorkspaceCommand('2.10.0', 1799000055000) @Command({ name: 'upgrade:2-10:sync-call-recording-standard-objects', @@ -200,6 +288,22 @@ export class SyncCallRecordingStandardObjectsCommand extends ActiveOrSuspendedWo renamedCollisionObjectMetadatas, }); + const legacyCalendarEventRecordingPreferenceFieldMetadata = + flatFieldMetadataMaps.byUniversalIdentifier[ + LEGACY_CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER + ]; + const legacyCalendarEventRecordingPreferenceFieldMetadataToCreate = + isDefined(legacyCalendarEventRecordingPreferenceFieldMetadata) + ? [] + : [ + buildLegacyCalendarEventRecordingPreferenceFieldMetadata({ + calendarEventObjectMetadata, + now, + twentyStandardApplicationId: twentyStandardFlatApplication.id, + workspaceId, + }), + ]; + const allFlatEntityOperationByMetadataName = { objectMetadata: { flatEntityToCreate: @@ -214,14 +318,16 @@ export class SyncCallRecordingStandardObjectsCommand extends ActiveOrSuspendedWo flatEntityToUpdate: [], }, fieldMetadata: { - flatEntityToCreate: - getStandardFlatEntitiesToCreateOrThrow({ + flatEntityToCreate: [ + ...getStandardFlatEntitiesToCreateOrThrow({ standardFlatEntityMaps: standardAllFlatEntityMaps.flatFieldMetadataMaps, existingFlatEntityMaps: flatFieldMetadataMaps, universalIdentifiers: CALL_RECORDING_FIELD_METADATA_UNIVERSAL_IDENTIFIERS, }), + ...legacyCalendarEventRecordingPreferenceFieldMetadataToCreate, + ], flatEntityToDelete: [], flatEntityToUpdate: [], }, diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/__tests__/call-recording-name-collision.util.spec.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/__tests__/call-recording-name-collision.util.spec.ts index 07de873525..57ca81dc1e 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/__tests__/call-recording-name-collision.util.spec.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/__tests__/call-recording-name-collision.util.spec.ts @@ -6,6 +6,7 @@ import { buildCallRecordingObjectRenameUpdates, findCalendarEventFieldNameCollisionsForCallRecording, findCallRecordingObjectNameCollisions, + LEGACY_CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER, resolveAvailableOldCalendarEventFieldName, resolveAvailableOldCallRecordingObjectNames, } from 'src/database/commands/upgrade-version-command/2-10/utils/call-recording-name-collision.util'; @@ -327,8 +328,7 @@ describe('findCalendarEventFieldNameCollisionsForCallRecording', () => { const maps = buildFlatFieldMetadataMaps([ getCalendarEventFieldMetadataMock({ universalIdentifier: - STANDARD_OBJECTS.calendarEvent.fields.recordingPreference - .universalIdentifier, + LEGACY_CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER, name: 'recordingPreference', }), getCalendarEventFieldMetadataMock({ diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/call-recording-name-collision.util.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/call-recording-name-collision.util.ts index 39ed382e38..8686ae1ba4 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/call-recording-name-collision.util.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/2-10/utils/call-recording-name-collision.util.ts @@ -15,6 +15,9 @@ const FIELD_OLD_NAME_SUFFIX = 'Old'; const FIELD_OLD_LABEL_SUFFIX = ' (Old)'; const MAX_OLD_NAME_ATTEMPTS = 100; +export const LEGACY_CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER = + '1d231e7e-9bbe-410b-8007-ea7678a83e58'; + const CALL_RECORDING_CALENDAR_EVENT_FIELD_NAMES = [ CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_NAME, CALENDAR_EVENT_CALL_RECORDINGS_FIELD_NAME, @@ -22,8 +25,7 @@ const CALL_RECORDING_CALENDAR_EVENT_FIELD_NAMES = [ const CALL_RECORDING_CALENDAR_EVENT_FIELD_UNIVERSAL_IDENTIFIERS = new Set([ - STANDARD_OBJECTS.calendarEvent.fields.recordingPreference - .universalIdentifier, + LEGACY_CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER, STANDARD_OBJECTS.calendarEvent.fields.callRecordings.universalIdentifier, ]); diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-upgrade-version-command.module.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-upgrade-version-command.module.ts index 329d384c36..6c2f24578a 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-upgrade-version-command.module.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-upgrade-version-command.module.ts @@ -1,6 +1,8 @@ import { Module } from '@nestjs/common'; import { WorkspaceIteratorModule } from 'src/database/commands/command-runners/workspace-iterator.module'; +import { SyncCallRecordingRequestStatusCommand } from 'src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000065000-sync-call-recording-request-status.command'; +import { DropCalendarEventRecordingPreferenceCommand } from 'src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000066000-drop-calendar-event-recording-preference.command'; import { FixStandardRelationFieldLabelsIconsCommand } from 'src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000040000-fix-standard-relation-field-labels-icons.command'; import { ApplicationModule } from 'src/engine/core-modules/application/application.module'; import { WorkspaceCacheModule } from 'src/engine/workspace-cache/workspace-cache.module'; @@ -13,6 +15,10 @@ import { WorkspaceMigrationModule } from 'src/engine/workspace-manager/workspace WorkspaceIteratorModule, WorkspaceMigrationModule, ], - providers: [FixStandardRelationFieldLabelsIconsCommand], + providers: [ + FixStandardRelationFieldLabelsIconsCommand, + SyncCallRecordingRequestStatusCommand, + DropCalendarEventRecordingPreferenceCommand, + ], }) export class V2_14_UpgradeVersionCommandModule {} diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000065000-sync-call-recording-request-status.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000065000-sync-call-recording-request-status.command.ts new file mode 100644 index 0000000000..108bad3f03 --- /dev/null +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000065000-sync-call-recording-request-status.command.ts @@ -0,0 +1,193 @@ +import { Command } from 'nest-commander'; + +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; +import { isDefined } from 'twenty-shared/utils'; + +import { ActiveOrSuspendedWorkspaceCommandRunner } from 'src/database/commands/command-runners/active-or-suspended-workspace.command-runner'; +import { WorkspaceIteratorService } from 'src/database/commands/command-runners/workspace-iterator.service'; +import { type RunOnWorkspaceArgs } from 'src/database/commands/command-runners/workspace.command-runner'; +import { getStandardFlatEntitiesToCreateOrThrow } from 'src/database/commands/upgrade-version-command/2-10/utils/get-standard-flat-entities-to-create-or-throw.util'; +import { ApplicationService } from 'src/engine/core-modules/application/application.service'; +import { RegisteredWorkspaceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-workspace-command.decorator'; +import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; +import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; +import { type FlatViewField } from 'src/engine/metadata-modules/flat-view-field/types/flat-view-field.type'; +import { WorkspaceCacheService } from 'src/engine/workspace-cache/services/workspace-cache.service'; +import { computeTwentyStandardApplicationAllFlatEntityMaps } from 'src/engine/workspace-manager/twenty-standard-application/utils/twenty-standard-application-all-flat-entity-maps.constant'; +import { WorkspaceMigrationValidateBuildAndRunService } from 'src/engine/workspace-manager/workspace-migration/services/workspace-migration-validate-build-and-run-service'; + +const CALL_RECORDING_OBJECT_UNIVERSAL_IDENTIFIER = + STANDARD_OBJECTS.callRecording.universalIdentifier; +const CALL_RECORDING_REQUEST_STATUS_FIELD_UNIVERSAL_IDENTIFIER = + STANDARD_OBJECTS.callRecording.fields.recordingRequestStatus + .universalIdentifier; +const CALL_RECORDING_REQUEST_STATUS_VIEW_FIELD_UNIVERSAL_IDENTIFIERS = [ + STANDARD_OBJECTS.callRecording.views.allCallRecordings.viewFields + .recordingRequestStatus.universalIdentifier, + STANDARD_OBJECTS.callRecording.views.callRecordingRecordPageFields.viewFields + .recordingRequestStatus.universalIdentifier, +]; +const CALL_RECORDING_REQUEST_STATUS_FIELD_NAME = 'recordingRequestStatus'; + +@RegisteredWorkspaceCommand('2.14.0', 1799000065000) +@Command({ + name: 'upgrade:2-14:sync-call-recording-request-status', + description: + 'Create the CallRecording recordingRequestStatus metadata in existing workspaces', +}) +export class SyncCallRecordingRequestStatusCommand extends ActiveOrSuspendedWorkspaceCommandRunner { + constructor( + protected readonly workspaceIteratorService: WorkspaceIteratorService, + private readonly applicationService: ApplicationService, + private readonly workspaceCacheService: WorkspaceCacheService, + private readonly workspaceMigrationValidateBuildAndRunService: WorkspaceMigrationValidateBuildAndRunService, + ) { + super(workspaceIteratorService); + } + + override async runOnWorkspace({ + workspaceId, + options, + }: RunOnWorkspaceArgs): Promise { + const isDryRun = options.dryRun ?? false; + + const { twentyStandardFlatApplication } = + await this.applicationService.findWorkspaceTwentyStandardAndCustomApplicationOrThrow( + { workspaceId }, + ); + + const { flatFieldMetadataMaps, flatObjectMetadataMaps, flatViewFieldMaps } = + await this.workspaceCacheService.getOrRecompute(workspaceId, [ + 'flatFieldMetadataMaps', + 'flatObjectMetadataMaps', + 'flatViewFieldMaps', + ]); + + const existingCallRecordingObjectMetadata = + flatObjectMetadataMaps.byUniversalIdentifier[ + CALL_RECORDING_OBJECT_UNIVERSAL_IDENTIFIER + ]; + + if (!isDefined(existingCallRecordingObjectMetadata)) { + this.logger.log( + `CallRecording object metadata does not exist for workspace ${workspaceId}, skipping`, + ); + + return; + } + + const existingRecordingRequestStatusField = + flatFieldMetadataMaps.byUniversalIdentifier[ + CALL_RECORDING_REQUEST_STATUS_FIELD_UNIVERSAL_IDENTIFIER + ]; + + if ( + !isDefined(existingRecordingRequestStatusField) && + hasFieldNameConflict({ + flatFieldMetadatas: Object.values( + flatFieldMetadataMaps.byUniversalIdentifier, + ).filter(isDefined), + callRecordingObjectMetadata: existingCallRecordingObjectMetadata, + }) + ) { + this.logger.warn( + `Field name "${CALL_RECORDING_REQUEST_STATUS_FIELD_NAME}" is already taken on CallRecording for workspace ${workspaceId}; skipping`, + ); + + return; + } + + const { allFlatEntityMaps: standardAllFlatEntityMaps } = + computeTwentyStandardApplicationAllFlatEntityMaps({ + now: new Date().toISOString(), + workspaceId, + twentyStandardApplicationId: twentyStandardFlatApplication.id, + }); + + const recordingRequestStatusFieldsToCreate = + getStandardFlatEntitiesToCreateOrThrow({ + standardFlatEntityMaps: standardAllFlatEntityMaps.flatFieldMetadataMaps, + existingFlatEntityMaps: flatFieldMetadataMaps, + universalIdentifiers: [ + CALL_RECORDING_REQUEST_STATUS_FIELD_UNIVERSAL_IDENTIFIER, + ], + }); + const recordingRequestStatusViewFieldsToCreate = + getStandardFlatEntitiesToCreateOrThrow({ + standardFlatEntityMaps: standardAllFlatEntityMaps.flatViewFieldMaps, + existingFlatEntityMaps: flatViewFieldMaps, + universalIdentifiers: + CALL_RECORDING_REQUEST_STATUS_VIEW_FIELD_UNIVERSAL_IDENTIFIERS, + }); + + const totalOperationCount = + recordingRequestStatusFieldsToCreate.length + + recordingRequestStatusViewFieldsToCreate.length; + + if (totalOperationCount === 0) { + this.logger.log( + `CallRecording recordingRequestStatus metadata already exists for workspace ${workspaceId}, skipping`, + ); + + return; + } + + this.logger.log( + `${isDryRun ? '[DRY RUN] ' : ''}Creating ${totalOperationCount} CallRecording recordingRequestStatus metadata item(s) for workspace ${workspaceId}`, + ); + + if (isDryRun) { + return; + } + + const validateAndBuildResult = + await this.workspaceMigrationValidateBuildAndRunService.validateBuildAndRunWorkspaceMigration( + { + isSystemBuild: true, + applicationUniversalIdentifier: + twentyStandardFlatApplication.universalIdentifier, + workspaceId, + allFlatEntityOperationByMetadataName: { + fieldMetadata: { + flatEntityToCreate: recordingRequestStatusFieldsToCreate, + flatEntityToDelete: [], + flatEntityToUpdate: [], + }, + viewField: { + flatEntityToCreate: recordingRequestStatusViewFieldsToCreate, + flatEntityToDelete: [], + flatEntityToUpdate: [], + }, + }, + }, + ); + + if (validateAndBuildResult.status === 'fail') { + throw new Error( + `Failed to create CallRecording recordingRequestStatus metadata for workspace ${workspaceId}: ${JSON.stringify( + validateAndBuildResult, + null, + 2, + )}`, + ); + } + + this.logger.log( + `Created ${totalOperationCount} CallRecording recordingRequestStatus metadata item(s) for workspace ${workspaceId}`, + ); + } +} + +const hasFieldNameConflict = ({ + flatFieldMetadatas, + callRecordingObjectMetadata, +}: { + flatFieldMetadatas: FlatFieldMetadata[]; + callRecordingObjectMetadata: FlatObjectMetadata; +}): boolean => + flatFieldMetadatas.some( + (flatFieldMetadata) => + flatFieldMetadata.objectMetadataUniversalIdentifier === + callRecordingObjectMetadata.universalIdentifier && + flatFieldMetadata.name === CALL_RECORDING_REQUEST_STATUS_FIELD_NAME, + ); diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000066000-drop-calendar-event-recording-preference.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000066000-drop-calendar-event-recording-preference.command.ts new file mode 100644 index 0000000000..4eab7403a3 --- /dev/null +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/2-14/2-14-workspace-command-1799000066000-drop-calendar-event-recording-preference.command.ts @@ -0,0 +1,109 @@ +import { Command } from 'nest-commander'; + +import { ActiveOrSuspendedWorkspaceCommandRunner } from 'src/database/commands/command-runners/active-or-suspended-workspace.command-runner'; +import { WorkspaceIteratorService } from 'src/database/commands/command-runners/workspace-iterator.service'; +import { type RunOnWorkspaceArgs } from 'src/database/commands/command-runners/workspace.command-runner'; +import { ApplicationService } from 'src/engine/core-modules/application/application.service'; +import { RegisteredWorkspaceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-workspace-command.decorator'; +import { findFlatEntityByUniversalIdentifier } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier.util'; +import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; +import { WorkspaceCacheService } from 'src/engine/workspace-cache/services/workspace-cache.service'; +import { WorkspaceMigrationValidateBuildAndRunService } from 'src/engine/workspace-manager/workspace-migration/services/workspace-migration-validate-build-and-run-service'; + +const CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER = + '1d231e7e-9bbe-410b-8007-ea7678a83e58'; + +@RegisteredWorkspaceCommand('2.14.0', 1799000066000) +@Command({ + name: 'upgrade:2-14:drop-calendar-event-recording-preference', + description: 'Drop the CalendarEvent recordingPreference field metadata', +}) +export class DropCalendarEventRecordingPreferenceCommand extends ActiveOrSuspendedWorkspaceCommandRunner { + constructor( + protected readonly workspaceIteratorService: WorkspaceIteratorService, + private readonly applicationService: ApplicationService, + private readonly workspaceMigrationValidateBuildAndRunService: WorkspaceMigrationValidateBuildAndRunService, + private readonly workspaceCacheService: WorkspaceCacheService, + ) { + super(workspaceIteratorService); + } + + override async runOnWorkspace({ + workspaceId, + options, + }: RunOnWorkspaceArgs): Promise { + const isDryRun = options.dryRun ?? false; + + this.logger.log( + `${isDryRun ? '[DRY RUN] ' : ''}Starting CalendarEvent recordingPreference field removal for workspace ${workspaceId}`, + ); + + const { flatFieldMetadataMaps } = + await this.workspaceCacheService.getOrRecompute(workspaceId, [ + 'flatFieldMetadataMaps', + ]); + + const recordingPreferenceFieldMetadata = + findFlatEntityByUniversalIdentifier({ + flatEntityMaps: flatFieldMetadataMaps, + universalIdentifier: + CALENDAR_EVENT_RECORDING_PREFERENCE_FIELD_UNIVERSAL_IDENTIFIER, + }); + + if (!recordingPreferenceFieldMetadata) { + this.logger.log( + `CalendarEvent recordingPreference field already absent for workspace ${workspaceId}`, + ); + + return; + } + + if (isDryRun) { + this.logger.log( + `[DRY RUN] Would delete CalendarEvent recordingPreference field for workspace ${workspaceId}`, + ); + + return; + } + + const { twentyStandardFlatApplication } = + await this.applicationService.findWorkspaceTwentyStandardAndCustomApplicationOrThrow( + { workspaceId }, + ); + + const validateAndBuildResult = + await this.workspaceMigrationValidateBuildAndRunService.validateBuildAndRunWorkspaceMigration( + { + isSystemBuild: true, + allFlatEntityOperationByMetadataName: { + fieldMetadata: { + flatEntityToCreate: [], + flatEntityToDelete: [recordingPreferenceFieldMetadata], + flatEntityToUpdate: [], + }, + }, + workspaceId, + applicationUniversalIdentifier: + twentyStandardFlatApplication.universalIdentifier, + }, + ); + + if (validateAndBuildResult.status === 'fail') { + this.logger.error( + `Failed to delete CalendarEvent recordingPreference field:\n${JSON.stringify( + validateAndBuildResult, + null, + 2, + )}`, + ); + + throw new Error( + `Failed to delete CalendarEvent recordingPreference field for workspace ${workspaceId}`, + ); + } + + this.logger.log( + `Deleted CalendarEvent recordingPreference field for workspace ${workspaceId}`, + ); + } +} diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap index 6ccc45210d..545852c749 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap @@ -282,7 +282,7 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000134", }, "callRecordings": { - "id": "00000000-0000-0000-0000-000000000136", + "id": "00000000-0000-0000-0000-000000000135", }, "conferenceLink": { "id": "00000000-0000-0000-0000-000000000132", @@ -294,7 +294,7 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000118", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000137", + "id": "00000000-0000-0000-0000-000000000136", }, "deletedAt": { "id": "00000000-0000-0000-0000-000000000120", @@ -327,13 +327,10 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000129", }, "position": { - "id": "00000000-0000-0000-0000-000000000139", - }, - "recordingPreference": { - "id": "00000000-0000-0000-0000-000000000135", + "id": "00000000-0000-0000-0000-000000000138", }, "searchVector": { - "id": "00000000-0000-0000-0000-000000000140", + "id": "00000000-0000-0000-0000-000000000139", }, "startsAt": { "id": "00000000-0000-0000-0000-000000000124", @@ -345,39 +342,39 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000119", }, "updatedBy": { - "id": "00000000-0000-0000-0000-000000000138", + "id": "00000000-0000-0000-0000-000000000137", }, }, - "id": "00000000-0000-0000-0000-000000000150", + "id": "00000000-0000-0000-0000-000000000149", "views": { "allCalendarEvents": { - "id": "00000000-0000-0000-0000-000000000149", + "id": "00000000-0000-0000-0000-000000000148", "viewFieldGroups": {}, "viewFields": { "conferenceLink": { - "id": "00000000-0000-0000-0000-000000000146", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000148", - }, - "endsAt": { - "id": "00000000-0000-0000-0000-000000000143", - }, - "isCanceled": { - "id": "00000000-0000-0000-0000-000000000147", - }, - "isFullDay": { - "id": "00000000-0000-0000-0000-000000000144", - }, - "location": { "id": "00000000-0000-0000-0000-000000000145", }, - "startsAt": { + "createdAt": { + "id": "00000000-0000-0000-0000-000000000147", + }, + "endsAt": { "id": "00000000-0000-0000-0000-000000000142", }, - "title": { + "isCanceled": { + "id": "00000000-0000-0000-0000-000000000146", + }, + "isFullDay": { + "id": "00000000-0000-0000-0000-000000000143", + }, + "location": { + "id": "00000000-0000-0000-0000-000000000144", + }, + "startsAt": { "id": "00000000-0000-0000-0000-000000000141", }, + "title": { + "id": "00000000-0000-0000-0000-000000000140", + }, }, "viewGroups": {}, }, @@ -519,13 +516,13 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000166", }, "createdAt": { - "id": "00000000-0000-0000-0000-000000000152", + "id": "00000000-0000-0000-0000-000000000151", }, "createdBy": { "id": "00000000-0000-0000-0000-000000000167", }, "deletedAt": { - "id": "00000000-0000-0000-0000-000000000154", + "id": "00000000-0000-0000-0000-000000000153", }, "endedAt": { "id": "00000000-0000-0000-0000-000000000161", @@ -537,11 +534,14 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000159", }, "id": { - "id": "00000000-0000-0000-0000-000000000151", + "id": "00000000-0000-0000-0000-000000000150", }, "position": { "id": "00000000-0000-0000-0000-000000000169", }, + "recordingRequestStatus": { + "id": "00000000-0000-0000-0000-000000000156", + }, "searchVector": { "id": "00000000-0000-0000-0000-000000000170", }, @@ -549,19 +549,19 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000160", }, "status": { - "id": "00000000-0000-0000-0000-000000000156", + "id": "00000000-0000-0000-0000-000000000155", }, "summary": { "id": "00000000-0000-0000-0000-000000000165", }, "title": { - "id": "00000000-0000-0000-0000-000000000155", + "id": "00000000-0000-0000-0000-000000000154", }, "transcript": { "id": "00000000-0000-0000-0000-000000000164", }, "updatedAt": { - "id": "00000000-0000-0000-0000-000000000153", + "id": "00000000-0000-0000-0000-000000000152", }, "updatedBy": { "id": "00000000-0000-0000-0000-000000000168", @@ -570,55 +570,61 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000162", }, }, - "id": "00000000-0000-0000-0000-000000000185", + "id": "00000000-0000-0000-0000-000000000187", "views": { "allCallRecordings": { - "id": "00000000-0000-0000-0000-000000000174", + "id": "00000000-0000-0000-0000-000000000175", "viewFieldGroups": {}, "viewFields": { + "recordingRequestStatus": { + "id": "00000000-0000-0000-0000-000000000172", + }, "startedAt": { - "id": "00000000-0000-0000-0000-000000000173", + "id": "00000000-0000-0000-0000-000000000174", }, "status": { "id": "00000000-0000-0000-0000-000000000171", }, "title": { - "id": "00000000-0000-0000-0000-000000000172", + "id": "00000000-0000-0000-0000-000000000173", }, }, "viewGroups": {}, }, "callRecordingRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000184", + "id": "00000000-0000-0000-0000-000000000186", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000183", + "id": "00000000-0000-0000-0000-000000000185", }, }, "viewFields": { "audio": { - "id": "00000000-0000-0000-0000-000000000180", + "id": "00000000-0000-0000-0000-000000000182", }, "endedAt": { + "id": "00000000-0000-0000-0000-000000000180", + }, + "recordingRequestStatus": { "id": "00000000-0000-0000-0000-000000000178", }, "startedAt": { - "id": "00000000-0000-0000-0000-000000000177", + "id": "00000000-0000-0000-0000-000000000179", }, "status": { - "id": "00000000-0000-0000-0000-000000000176", + "id": "00000000-0000-0000-0000-000000000177", }, "summary": { - "id": "00000000-0000-0000-0000-000000000182", + "id": "00000000-0000-0000-0000-000000000184", }, "title": { - "id": "00000000-0000-0000-0000-000000000175", + "id": "00000000-0000-0000-0000-000000000176", }, "transcript": { - "id": "00000000-0000-0000-0000-000000000181", + "id": "00000000-0000-0000-0000-000000000183", }, "video": { - "id": "00000000-0000-0000-0000-000000000179", + "id": "00000000-0000-0000-0000-000000000181", }, }, "viewGroups": {}, @@ -628,158 +634,158 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "company": { "fields": { "accountOwner": { - "id": "00000000-0000-0000-0000-000000000199", - }, - "address": { - "id": "00000000-0000-0000-0000-000000000192", - }, - "annualRevenue": { - "id": "00000000-0000-0000-0000-000000000194", - }, - "attachments": { - "id": "00000000-0000-0000-0000-000000000203", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000187", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000196", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000189", - }, - "domainName": { - "id": "00000000-0000-0000-0000-000000000191", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000186", - }, - "linkedinLink": { - "id": "00000000-0000-0000-0000-000000000193", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000190", - }, - "noteTargets": { "id": "00000000-0000-0000-0000-000000000201", }, - "opportunities": { - "id": "00000000-0000-0000-0000-000000000202", + "address": { + "id": "00000000-0000-0000-0000-000000000194", }, - "people": { - "id": "00000000-0000-0000-0000-000000000198", + "annualRevenue": { + "id": "00000000-0000-0000-0000-000000000196", }, - "position": { - "id": "00000000-0000-0000-0000-000000000195", - }, - "searchVector": { + "attachments": { "id": "00000000-0000-0000-0000-000000000205", }, - "taskTargets": { - "id": "00000000-0000-0000-0000-000000000200", + "createdAt": { + "id": "00000000-0000-0000-0000-000000000189", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000204", + "createdBy": { + "id": "00000000-0000-0000-0000-000000000198", }, - "updatedAt": { + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000191", + }, + "domainName": { + "id": "00000000-0000-0000-0000-000000000193", + }, + "id": { "id": "00000000-0000-0000-0000-000000000188", }, - "updatedBy": { + "linkedinLink": { + "id": "00000000-0000-0000-0000-000000000195", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000192", + }, + "noteTargets": { + "id": "00000000-0000-0000-0000-000000000203", + }, + "opportunities": { + "id": "00000000-0000-0000-0000-000000000204", + }, + "people": { + "id": "00000000-0000-0000-0000-000000000200", + }, + "position": { "id": "00000000-0000-0000-0000-000000000197", }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000207", + }, + "taskTargets": { + "id": "00000000-0000-0000-0000-000000000202", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000206", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000190", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000199", + }, }, - "id": "00000000-0000-0000-0000-000000000234", + "id": "00000000-0000-0000-0000-000000000236", "views": { "allCompanies": { - "id": "00000000-0000-0000-0000-000000000213", + "id": "00000000-0000-0000-0000-000000000215", "viewFieldGroups": {}, "viewFields": { "accountOwner": { - "id": "00000000-0000-0000-0000-000000000209", - }, - "address": { - "id": "00000000-0000-0000-0000-000000000212", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000210", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000208", - }, - "domainName": { - "id": "00000000-0000-0000-0000-000000000207", - }, - "linkedinLink": { "id": "00000000-0000-0000-0000-000000000211", }, + "address": { + "id": "00000000-0000-0000-0000-000000000214", + }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000212", + }, + "createdBy": { + "id": "00000000-0000-0000-0000-000000000210", + }, + "domainName": { + "id": "00000000-0000-0000-0000-000000000209", + }, + "linkedinLink": { + "id": "00000000-0000-0000-0000-000000000213", + }, "name": { - "id": "00000000-0000-0000-0000-000000000206", + "id": "00000000-0000-0000-0000-000000000208", }, }, "viewGroups": {}, }, "companyRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000233", + "id": "00000000-0000-0000-0000-000000000235", "viewFieldGroups": { "business": { - "id": "00000000-0000-0000-0000-000000000230", + "id": "00000000-0000-0000-0000-000000000232", }, "contact": { - "id": "00000000-0000-0000-0000-000000000231", + "id": "00000000-0000-0000-0000-000000000233", }, "general": { - "id": "00000000-0000-0000-0000-000000000229", + "id": "00000000-0000-0000-0000-000000000231", }, "system": { - "id": "00000000-0000-0000-0000-000000000232", + "id": "00000000-0000-0000-0000-000000000234", }, }, "viewFields": { "accountOwner": { - "id": "00000000-0000-0000-0000-000000000215", - }, - "address": { - "id": "00000000-0000-0000-0000-000000000218", - }, - "annualRevenue": { - "id": "00000000-0000-0000-0000-000000000216", - }, - "attachments": { - "id": "00000000-0000-0000-0000-000000000227", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000219", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000220", - }, - "domainName": { - "id": "00000000-0000-0000-0000-000000000214", - }, - "linkedinLink": { "id": "00000000-0000-0000-0000-000000000217", }, - "noteTargets": { - "id": "00000000-0000-0000-0000-000000000225", + "address": { + "id": "00000000-0000-0000-0000-000000000220", }, - "opportunities": { - "id": "00000000-0000-0000-0000-000000000226", + "annualRevenue": { + "id": "00000000-0000-0000-0000-000000000218", }, - "people": { - "id": "00000000-0000-0000-0000-000000000223", + "attachments": { + "id": "00000000-0000-0000-0000-000000000229", }, - "taskTargets": { - "id": "00000000-0000-0000-0000-000000000224", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000228", - }, - "updatedAt": { + "createdAt": { "id": "00000000-0000-0000-0000-000000000221", }, - "updatedBy": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000222", }, + "domainName": { + "id": "00000000-0000-0000-0000-000000000216", + }, + "linkedinLink": { + "id": "00000000-0000-0000-0000-000000000219", + }, + "noteTargets": { + "id": "00000000-0000-0000-0000-000000000227", + }, + "opportunities": { + "id": "00000000-0000-0000-0000-000000000228", + }, + "people": { + "id": "00000000-0000-0000-0000-000000000225", + }, + "taskTargets": { + "id": "00000000-0000-0000-0000-000000000226", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000230", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000223", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000224", + }, }, "viewGroups": {}, }, @@ -788,59 +794,59 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "dashboard": { "fields": { "attachments": { - "id": "00000000-0000-0000-0000-000000000245", + "id": "00000000-0000-0000-0000-000000000247", }, "createdAt": { - "id": "00000000-0000-0000-0000-000000000236", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000242", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000238", }, - "id": { - "id": "00000000-0000-0000-0000-000000000235", - }, - "pageLayoutId": { - "id": "00000000-0000-0000-0000-000000000241", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000240", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000246", - }, - "timelineActivities": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000244", }, - "title": { - "id": "00000000-0000-0000-0000-000000000239", + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000240", }, - "updatedAt": { + "id": { "id": "00000000-0000-0000-0000-000000000237", }, - "updatedBy": { + "pageLayoutId": { "id": "00000000-0000-0000-0000-000000000243", }, + "position": { + "id": "00000000-0000-0000-0000-000000000242", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000248", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000246", + }, + "title": { + "id": "00000000-0000-0000-0000-000000000241", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000239", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000245", + }, }, - "id": "00000000-0000-0000-0000-000000000252", + "id": "00000000-0000-0000-0000-000000000254", "views": { "allDashboards": { - "id": "00000000-0000-0000-0000-000000000251", + "id": "00000000-0000-0000-0000-000000000253", "viewFieldGroups": {}, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000249", + "id": "00000000-0000-0000-0000-000000000251", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000248", + "id": "00000000-0000-0000-0000-000000000250", }, "title": { - "id": "00000000-0000-0000-0000-000000000247", + "id": "00000000-0000-0000-0000-000000000249", }, "updatedAt": { - "id": "00000000-0000-0000-0000-000000000250", + "id": "00000000-0000-0000-0000-000000000252", }, }, "viewGroups": {}, @@ -850,83 +856,83 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "message": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000401", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000413", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000403", }, - "deliveryStatus": { - "id": "00000000-0000-0000-0000-000000000412", - }, - "headerMessageId": { - "id": "00000000-0000-0000-0000-000000000404", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000400", - }, - "messageCampaign": { - "id": "00000000-0000-0000-0000-000000000411", - }, - "messageChannelMessageAssociations": { - "id": "00000000-0000-0000-0000-000000000410", - }, - "messageParticipants": { - "id": "00000000-0000-0000-0000-000000000409", - }, - "messageThread": { - "id": "00000000-0000-0000-0000-000000000405", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000415", }, - "receivedAt": { - "id": "00000000-0000-0000-0000-000000000408", + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000405", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000416", - }, - "subject": { - "id": "00000000-0000-0000-0000-000000000406", - }, - "text": { - "id": "00000000-0000-0000-0000-000000000407", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000402", - }, - "updatedBy": { + "deliveryStatus": { "id": "00000000-0000-0000-0000-000000000414", }, + "headerMessageId": { + "id": "00000000-0000-0000-0000-000000000406", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000402", + }, + "messageCampaign": { + "id": "00000000-0000-0000-0000-000000000413", + }, + "messageChannelMessageAssociations": { + "id": "00000000-0000-0000-0000-000000000412", + }, + "messageParticipants": { + "id": "00000000-0000-0000-0000-000000000411", + }, + "messageThread": { + "id": "00000000-0000-0000-0000-000000000407", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000417", + }, + "receivedAt": { + "id": "00000000-0000-0000-0000-000000000410", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000418", + }, + "subject": { + "id": "00000000-0000-0000-0000-000000000408", + }, + "text": { + "id": "00000000-0000-0000-0000-000000000409", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000404", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000416", + }, }, - "id": "00000000-0000-0000-0000-000000000425", + "id": "00000000-0000-0000-0000-000000000427", "views": { "allMessages": { - "id": "00000000-0000-0000-0000-000000000424", + "id": "00000000-0000-0000-0000-000000000426", "viewFieldGroups": {}, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000423", + "id": "00000000-0000-0000-0000-000000000425", }, "headerMessageId": { - "id": "00000000-0000-0000-0000-000000000421", + "id": "00000000-0000-0000-0000-000000000423", }, "messageParticipants": { - "id": "00000000-0000-0000-0000-000000000419", + "id": "00000000-0000-0000-0000-000000000421", }, "messageThread": { - "id": "00000000-0000-0000-0000-000000000418", - }, - "receivedAt": { "id": "00000000-0000-0000-0000-000000000420", }, + "receivedAt": { + "id": "00000000-0000-0000-0000-000000000422", + }, "subject": { - "id": "00000000-0000-0000-0000-000000000417", + "id": "00000000-0000-0000-0000-000000000419", }, "text": { - "id": "00000000-0000-0000-0000-000000000422", + "id": "00000000-0000-0000-0000-000000000424", }, }, "viewGroups": {}, @@ -936,163 +942,163 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "messageCampaign": { "fields": { "bodyTemplate": { - "id": "00000000-0000-0000-0000-000000000262", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000254", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000257", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000256", - }, - "fromAddress": { - "id": "00000000-0000-0000-0000-000000000263", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000253", - }, - "list": { - "id": "00000000-0000-0000-0000-000000000267", - }, - "messages": { - "id": "00000000-0000-0000-0000-000000000269", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000259", - }, - "recipients": { - "id": "00000000-0000-0000-0000-000000000270", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000260", - }, - "sentAt": { - "id": "00000000-0000-0000-0000-000000000265", - }, - "status": { "id": "00000000-0000-0000-0000-000000000264", }, - "subject": { - "id": "00000000-0000-0000-0000-000000000261", + "createdAt": { + "id": "00000000-0000-0000-0000-000000000256", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000268", + "createdBy": { + "id": "00000000-0000-0000-0000-000000000259", }, - "unsubscribeTopicId": { - "id": "00000000-0000-0000-0000-000000000266", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000255", - }, - "updatedBy": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000258", }, + "fromAddress": { + "id": "00000000-0000-0000-0000-000000000265", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000255", + }, + "list": { + "id": "00000000-0000-0000-0000-000000000269", + }, + "messages": { + "id": "00000000-0000-0000-0000-000000000271", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000261", + }, + "recipients": { + "id": "00000000-0000-0000-0000-000000000272", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000262", + }, + "sentAt": { + "id": "00000000-0000-0000-0000-000000000267", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000266", + }, + "subject": { + "id": "00000000-0000-0000-0000-000000000263", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000270", + }, + "unsubscribeTopicId": { + "id": "00000000-0000-0000-0000-000000000268", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000257", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000260", + }, }, - "id": "00000000-0000-0000-0000-000000000271", + "id": "00000000-0000-0000-0000-000000000273", "views": undefined, }, "messageChannelMessageAssociation": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000297", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000306", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000299", }, - "direction": { - "id": "00000000-0000-0000-0000-000000000305", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000296", - }, - "message": { - "id": "00000000-0000-0000-0000-000000000301", - }, - "messageChannelId": { - "id": "00000000-0000-0000-0000-000000000300", - }, - "messageExternalId": { - "id": "00000000-0000-0000-0000-000000000302", - }, - "messageFolders": { - "id": "00000000-0000-0000-0000-000000000310", - }, - "messageThread": { - "id": "00000000-0000-0000-0000-000000000303", - }, - "messageThreadExternalId": { - "id": "00000000-0000-0000-0000-000000000304", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000308", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000309", + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000301", }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000298", - }, - "updatedBy": { + "direction": { "id": "00000000-0000-0000-0000-000000000307", }, + "id": { + "id": "00000000-0000-0000-0000-000000000298", + }, + "message": { + "id": "00000000-0000-0000-0000-000000000303", + }, + "messageChannelId": { + "id": "00000000-0000-0000-0000-000000000302", + }, + "messageExternalId": { + "id": "00000000-0000-0000-0000-000000000304", + }, + "messageFolders": { + "id": "00000000-0000-0000-0000-000000000312", + }, + "messageThread": { + "id": "00000000-0000-0000-0000-000000000305", + }, + "messageThreadExternalId": { + "id": "00000000-0000-0000-0000-000000000306", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000310", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000311", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000300", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000309", + }, }, - "id": "00000000-0000-0000-0000-000000000326", + "id": "00000000-0000-0000-0000-000000000328", "views": { "allMessageChannelMessageAssociations": { - "id": "00000000-0000-0000-0000-000000000316", + "id": "00000000-0000-0000-0000-000000000318", "viewFieldGroups": {}, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000315", + "id": "00000000-0000-0000-0000-000000000317", }, "direction": { - "id": "00000000-0000-0000-0000-000000000314", + "id": "00000000-0000-0000-0000-000000000316", }, "message": { - "id": "00000000-0000-0000-0000-000000000312", + "id": "00000000-0000-0000-0000-000000000314", }, "messageChannelId": { - "id": "00000000-0000-0000-0000-000000000311", + "id": "00000000-0000-0000-0000-000000000313", }, "messageExternalId": { - "id": "00000000-0000-0000-0000-000000000313", + "id": "00000000-0000-0000-0000-000000000315", }, }, "viewGroups": {}, }, "messageChannelMessageAssociationRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000325", + "id": "00000000-0000-0000-0000-000000000327", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000323", + "id": "00000000-0000-0000-0000-000000000325", }, "system": { - "id": "00000000-0000-0000-0000-000000000324", + "id": "00000000-0000-0000-0000-000000000326", }, }, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000321", + "id": "00000000-0000-0000-0000-000000000323", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000322", + "id": "00000000-0000-0000-0000-000000000324", }, "direction": { - "id": "00000000-0000-0000-0000-000000000320", + "id": "00000000-0000-0000-0000-000000000322", }, "message": { - "id": "00000000-0000-0000-0000-000000000318", + "id": "00000000-0000-0000-0000-000000000320", }, "messageChannelId": { - "id": "00000000-0000-0000-0000-000000000317", + "id": "00000000-0000-0000-0000-000000000319", }, "messageExternalId": { - "id": "00000000-0000-0000-0000-000000000319", + "id": "00000000-0000-0000-0000-000000000321", }, }, "viewGroups": {}, @@ -1102,76 +1108,76 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "messageChannelMessageAssociationMessageFolder": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000328", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000331", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000330", }, - "id": { - "id": "00000000-0000-0000-0000-000000000327", - }, - "messageChannelMessageAssociation": { - "id": "00000000-0000-0000-0000-000000000335", - }, - "messageFolderId": { - "id": "00000000-0000-0000-0000-000000000336", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000333", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000334", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000329", - }, - "updatedBy": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000332", }, + "id": { + "id": "00000000-0000-0000-0000-000000000329", + }, + "messageChannelMessageAssociation": { + "id": "00000000-0000-0000-0000-000000000337", + }, + "messageFolderId": { + "id": "00000000-0000-0000-0000-000000000338", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000335", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000336", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000331", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000334", + }, }, - "id": "00000000-0000-0000-0000-000000000348", + "id": "00000000-0000-0000-0000-000000000350", "views": { "allMessageChannelMessageAssociationMessageFolders": { - "id": "00000000-0000-0000-0000-000000000340", + "id": "00000000-0000-0000-0000-000000000342", "viewFieldGroups": {}, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000339", + "id": "00000000-0000-0000-0000-000000000341", }, "messageChannelMessageAssociation": { - "id": "00000000-0000-0000-0000-000000000337", + "id": "00000000-0000-0000-0000-000000000339", }, "messageFolderId": { - "id": "00000000-0000-0000-0000-000000000338", + "id": "00000000-0000-0000-0000-000000000340", }, }, "viewGroups": {}, }, "messageChannelMessageAssociationMessageFolderRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000347", + "id": "00000000-0000-0000-0000-000000000349", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000345", + "id": "00000000-0000-0000-0000-000000000347", }, "system": { - "id": "00000000-0000-0000-0000-000000000346", + "id": "00000000-0000-0000-0000-000000000348", }, }, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000343", + "id": "00000000-0000-0000-0000-000000000345", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000344", + "id": "00000000-0000-0000-0000-000000000346", }, "messageChannelMessageAssociation": { - "id": "00000000-0000-0000-0000-000000000341", + "id": "00000000-0000-0000-0000-000000000343", }, "messageFolderId": { - "id": "00000000-0000-0000-0000-000000000342", + "id": "00000000-0000-0000-0000-000000000344", }, }, "viewGroups": {}, @@ -1181,190 +1187,190 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "messageList": { "fields": { "campaigns": { - "id": "00000000-0000-0000-0000-000000000282", + "id": "00000000-0000-0000-0000-000000000284", }, "createdAt": { - "id": "00000000-0000-0000-0000-000000000273", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000276", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000275", }, - "id": { - "id": "00000000-0000-0000-0000-000000000272", - }, - "members": { - "id": "00000000-0000-0000-0000-000000000281", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000280", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000278", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000279", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000283", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000274", - }, - "updatedBy": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000277", }, + "id": { + "id": "00000000-0000-0000-0000-000000000274", + }, + "members": { + "id": "00000000-0000-0000-0000-000000000283", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000282", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000280", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000281", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000285", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000276", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000279", + }, }, - "id": "00000000-0000-0000-0000-000000000284", + "id": "00000000-0000-0000-0000-000000000286", "views": undefined, }, "messageListMember": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000286", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000289", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000288", }, - "id": { - "id": "00000000-0000-0000-0000-000000000285", - }, - "list": { - "id": "00000000-0000-0000-0000-000000000294", - }, - "person": { - "id": "00000000-0000-0000-0000-000000000293", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000291", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000292", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000287", - }, - "updatedBy": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000290", }, + "id": { + "id": "00000000-0000-0000-0000-000000000287", + }, + "list": { + "id": "00000000-0000-0000-0000-000000000296", + }, + "person": { + "id": "00000000-0000-0000-0000-000000000295", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000293", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000294", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000289", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000292", + }, }, - "id": "00000000-0000-0000-0000-000000000295", + "id": "00000000-0000-0000-0000-000000000297", "views": undefined, }, "messageParticipant": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000350", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000360", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000352", }, - "displayName": { - "id": "00000000-0000-0000-0000-000000000356", - }, - "handle": { - "id": "00000000-0000-0000-0000-000000000355", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000349", - }, - "message": { - "id": "00000000-0000-0000-0000-000000000353", - }, - "messageCampaign": { - "id": "00000000-0000-0000-0000-000000000359", - }, - "person": { - "id": "00000000-0000-0000-0000-000000000357", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000362", }, - "role": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000354", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000363", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000351", - }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000000361", - }, - "workspaceMember": { + "displayName": { "id": "00000000-0000-0000-0000-000000000358", }, + "handle": { + "id": "00000000-0000-0000-0000-000000000357", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000351", + }, + "message": { + "id": "00000000-0000-0000-0000-000000000355", + }, + "messageCampaign": { + "id": "00000000-0000-0000-0000-000000000361", + }, + "person": { + "id": "00000000-0000-0000-0000-000000000359", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000364", + }, + "role": { + "id": "00000000-0000-0000-0000-000000000356", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000365", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000353", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000363", + }, + "workspaceMember": { + "id": "00000000-0000-0000-0000-000000000360", + }, }, - "id": "00000000-0000-0000-0000-000000000382", + "id": "00000000-0000-0000-0000-000000000384", "views": { "allMessageParticipants": { - "id": "00000000-0000-0000-0000-000000000371", + "id": "00000000-0000-0000-0000-000000000373", "viewFieldGroups": {}, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000370", + "id": "00000000-0000-0000-0000-000000000372", }, "displayName": { - "id": "00000000-0000-0000-0000-000000000367", + "id": "00000000-0000-0000-0000-000000000369", }, "handle": { - "id": "00000000-0000-0000-0000-000000000366", - }, - "message": { - "id": "00000000-0000-0000-0000-000000000364", - }, - "person": { "id": "00000000-0000-0000-0000-000000000368", }, + "message": { + "id": "00000000-0000-0000-0000-000000000366", + }, + "person": { + "id": "00000000-0000-0000-0000-000000000370", + }, "role": { - "id": "00000000-0000-0000-0000-000000000365", + "id": "00000000-0000-0000-0000-000000000367", }, "workspaceMember": { - "id": "00000000-0000-0000-0000-000000000369", + "id": "00000000-0000-0000-0000-000000000371", }, }, "viewGroups": {}, }, "messageParticipantRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000381", + "id": "00000000-0000-0000-0000-000000000383", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000379", + "id": "00000000-0000-0000-0000-000000000381", }, "system": { - "id": "00000000-0000-0000-0000-000000000380", + "id": "00000000-0000-0000-0000-000000000382", }, }, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000377", + "id": "00000000-0000-0000-0000-000000000379", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000378", + "id": "00000000-0000-0000-0000-000000000380", }, "displayName": { - "id": "00000000-0000-0000-0000-000000000374", + "id": "00000000-0000-0000-0000-000000000376", }, "message": { - "id": "00000000-0000-0000-0000-000000000372", + "id": "00000000-0000-0000-0000-000000000374", }, "person": { - "id": "00000000-0000-0000-0000-000000000375", + "id": "00000000-0000-0000-0000-000000000377", }, "role": { - "id": "00000000-0000-0000-0000-000000000373", + "id": "00000000-0000-0000-0000-000000000375", }, "workspaceMember": { - "id": "00000000-0000-0000-0000-000000000376", + "id": "00000000-0000-0000-0000-000000000378", }, }, "viewGroups": {}, @@ -1374,56 +1380,56 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "messageThread": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000384", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000389", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000386", }, - "id": { - "id": "00000000-0000-0000-0000-000000000383", - }, - "messageChannelMessageAssociations": { - "id": "00000000-0000-0000-0000-000000000388", - }, - "messages": { - "id": "00000000-0000-0000-0000-000000000387", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000391", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000392", + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000388", }, - "subject": { - "id": "00000000-0000-0000-0000-000000000393", - }, - "updatedAt": { + "id": { "id": "00000000-0000-0000-0000-000000000385", }, - "updatedBy": { + "messageChannelMessageAssociations": { "id": "00000000-0000-0000-0000-000000000390", }, + "messages": { + "id": "00000000-0000-0000-0000-000000000389", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000393", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000394", + }, + "subject": { + "id": "00000000-0000-0000-0000-000000000395", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000387", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000392", + }, }, - "id": "00000000-0000-0000-0000-000000000399", + "id": "00000000-0000-0000-0000-000000000401", "views": { "allMessageThreads": { - "id": "00000000-0000-0000-0000-000000000398", + "id": "00000000-0000-0000-0000-000000000400", "viewFieldGroups": {}, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000397", + "id": "00000000-0000-0000-0000-000000000399", }, "messages": { - "id": "00000000-0000-0000-0000-000000000395", + "id": "00000000-0000-0000-0000-000000000397", }, "subject": { - "id": "00000000-0000-0000-0000-000000000394", + "id": "00000000-0000-0000-0000-000000000396", }, "updatedAt": { - "id": "00000000-0000-0000-0000-000000000396", + "id": "00000000-0000-0000-0000-000000000398", }, }, "viewGroups": {}, @@ -1433,103 +1439,103 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "note": { "fields": { "attachments": { - "id": "00000000-0000-0000-0000-000000000436", - }, - "bodyV2": { - "id": "00000000-0000-0000-0000-000000000432", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000427", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000433", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000429", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000426", - }, - "noteTargets": { - "id": "00000000-0000-0000-0000-000000000435", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000430", - }, - "searchVector": { "id": "00000000-0000-0000-0000-000000000438", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000437", - }, - "title": { - "id": "00000000-0000-0000-0000-000000000431", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000428", - }, - "updatedBy": { + "bodyV2": { "id": "00000000-0000-0000-0000-000000000434", }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000429", + }, + "createdBy": { + "id": "00000000-0000-0000-0000-000000000435", + }, + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000431", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000428", + }, + "noteTargets": { + "id": "00000000-0000-0000-0000-000000000437", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000432", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000440", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000439", + }, + "title": { + "id": "00000000-0000-0000-0000-000000000433", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000430", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000436", + }, }, - "id": "00000000-0000-0000-0000-000000000456", + "id": "00000000-0000-0000-0000-000000000458", "views": { "allNotes": { - "id": "00000000-0000-0000-0000-000000000444", + "id": "00000000-0000-0000-0000-000000000446", "viewFieldGroups": {}, "viewFields": { "bodyV2": { - "id": "00000000-0000-0000-0000-000000000441", - }, - "createdAt": { "id": "00000000-0000-0000-0000-000000000443", }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000442", - }, - "noteTargets": { - "id": "00000000-0000-0000-0000-000000000440", - }, - "title": { - "id": "00000000-0000-0000-0000-000000000439", - }, - }, - "viewGroups": {}, - }, - "noteRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000455", - "viewFieldGroups": { - "general": { - "id": "00000000-0000-0000-0000-000000000453", - }, - "system": { - "id": "00000000-0000-0000-0000-000000000454", - }, - }, - "viewFields": { - "attachments": { - "id": "00000000-0000-0000-0000-000000000451", - }, - "bodyV2": { - "id": "00000000-0000-0000-0000-000000000448", - }, "createdAt": { "id": "00000000-0000-0000-0000-000000000445", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000446", + "id": "00000000-0000-0000-0000-000000000444", }, "noteTargets": { + "id": "00000000-0000-0000-0000-000000000442", + }, + "title": { + "id": "00000000-0000-0000-0000-000000000441", + }, + }, + "viewGroups": {}, + }, + "noteRecordPageFields": { + "id": "00000000-0000-0000-0000-000000000457", + "viewFieldGroups": { + "general": { + "id": "00000000-0000-0000-0000-000000000455", + }, + "system": { + "id": "00000000-0000-0000-0000-000000000456", + }, + }, + "viewFields": { + "attachments": { + "id": "00000000-0000-0000-0000-000000000453", + }, + "bodyV2": { + "id": "00000000-0000-0000-0000-000000000450", + }, + "createdAt": { "id": "00000000-0000-0000-0000-000000000447", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000452", + "createdBy": { + "id": "00000000-0000-0000-0000-000000000448", }, - "updatedAt": { + "noteTargets": { "id": "00000000-0000-0000-0000-000000000449", }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000454", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000451", + }, "updatedBy": { - "id": "00000000-0000-0000-0000-000000000450", + "id": "00000000-0000-0000-0000-000000000452", }, }, "viewGroups": {}, @@ -1539,62 +1545,62 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "noteTarget": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000458", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000465", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000460", }, - "id": { - "id": "00000000-0000-0000-0000-000000000457", - }, - "note": { - "id": "00000000-0000-0000-0000-000000000461", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000467", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000468", - }, - "targetCompany": { - "id": "00000000-0000-0000-0000-000000000463", - }, - "targetOpportunity": { - "id": "00000000-0000-0000-0000-000000000464", - }, - "targetPerson": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000462", }, - "updatedAt": { + "id": { "id": "00000000-0000-0000-0000-000000000459", }, - "updatedBy": { + "note": { + "id": "00000000-0000-0000-0000-000000000463", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000469", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000470", + }, + "targetCompany": { + "id": "00000000-0000-0000-0000-000000000465", + }, + "targetOpportunity": { "id": "00000000-0000-0000-0000-000000000466", }, + "targetPerson": { + "id": "00000000-0000-0000-0000-000000000464", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000461", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000468", + }, }, - "id": "00000000-0000-0000-0000-000000000475", + "id": "00000000-0000-0000-0000-000000000477", "views": { "allNoteTargets": { - "id": "00000000-0000-0000-0000-000000000474", + "id": "00000000-0000-0000-0000-000000000476", "viewFieldGroups": {}, "viewFields": { "id": { - "id": "00000000-0000-0000-0000-000000000469", + "id": "00000000-0000-0000-0000-000000000471", }, "note": { - "id": "00000000-0000-0000-0000-000000000470", - }, - "targetCompany": { "id": "00000000-0000-0000-0000-000000000472", }, + "targetCompany": { + "id": "00000000-0000-0000-0000-000000000474", + }, "targetOpportunity": { - "id": "00000000-0000-0000-0000-000000000473", + "id": "00000000-0000-0000-0000-000000000475", }, "targetPerson": { - "id": "00000000-0000-0000-0000-000000000471", + "id": "00000000-0000-0000-0000-000000000473", }, }, "viewGroups": {}, @@ -1604,187 +1610,187 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "opportunity": { "fields": { "amount": { - "id": "00000000-0000-0000-0000-000000000481", - }, - "attachments": { - "id": "00000000-0000-0000-0000-000000000492", - }, - "closeDate": { - "id": "00000000-0000-0000-0000-000000000482", - }, - "company": { - "id": "00000000-0000-0000-0000-000000000488", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000477", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000485", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000479", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000476", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000480", - }, - "noteTargets": { - "id": "00000000-0000-0000-0000-000000000491", - }, - "owner": { - "id": "00000000-0000-0000-0000-000000000489", - }, - "pointOfContact": { - "id": "00000000-0000-0000-0000-000000000487", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000484", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000494", - }, - "stage": { "id": "00000000-0000-0000-0000-000000000483", }, - "taskTargets": { + "attachments": { + "id": "00000000-0000-0000-0000-000000000494", + }, + "closeDate": { + "id": "00000000-0000-0000-0000-000000000484", + }, + "company": { "id": "00000000-0000-0000-0000-000000000490", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000493", + "createdAt": { + "id": "00000000-0000-0000-0000-000000000479", }, - "updatedAt": { + "createdBy": { + "id": "00000000-0000-0000-0000-000000000487", + }, + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000481", + }, + "id": { "id": "00000000-0000-0000-0000-000000000478", }, - "updatedBy": { + "name": { + "id": "00000000-0000-0000-0000-000000000482", + }, + "noteTargets": { + "id": "00000000-0000-0000-0000-000000000493", + }, + "owner": { + "id": "00000000-0000-0000-0000-000000000491", + }, + "pointOfContact": { + "id": "00000000-0000-0000-0000-000000000489", + }, + "position": { "id": "00000000-0000-0000-0000-000000000486", }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000496", + }, + "stage": { + "id": "00000000-0000-0000-0000-000000000485", + }, + "taskTargets": { + "id": "00000000-0000-0000-0000-000000000492", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000495", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000480", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000488", + }, }, - "id": "00000000-0000-0000-0000-000000000532", + "id": "00000000-0000-0000-0000-000000000534", "views": { "allOpportunities": { - "id": "00000000-0000-0000-0000-000000000501", + "id": "00000000-0000-0000-0000-000000000503", "viewFieldGroups": {}, "viewFields": { "amount": { - "id": "00000000-0000-0000-0000-000000000496", - }, - "closeDate": { "id": "00000000-0000-0000-0000-000000000498", }, + "closeDate": { + "id": "00000000-0000-0000-0000-000000000500", + }, "company": { - "id": "00000000-0000-0000-0000-000000000499", + "id": "00000000-0000-0000-0000-000000000501", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000497", + "id": "00000000-0000-0000-0000-000000000499", }, "name": { - "id": "00000000-0000-0000-0000-000000000495", + "id": "00000000-0000-0000-0000-000000000497", }, "pointOfContact": { - "id": "00000000-0000-0000-0000-000000000500", + "id": "00000000-0000-0000-0000-000000000502", }, }, "viewGroups": {}, }, "byStage": { - "id": "00000000-0000-0000-0000-000000000513", + "id": "00000000-0000-0000-0000-000000000515", "viewFieldGroups": {}, "viewFields": { "amount": { - "id": "00000000-0000-0000-0000-000000000503", - }, - "closeDate": { "id": "00000000-0000-0000-0000-000000000505", }, + "closeDate": { + "id": "00000000-0000-0000-0000-000000000507", + }, "company": { - "id": "00000000-0000-0000-0000-000000000506", + "id": "00000000-0000-0000-0000-000000000508", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000504", + "id": "00000000-0000-0000-0000-000000000506", }, "name": { - "id": "00000000-0000-0000-0000-000000000502", + "id": "00000000-0000-0000-0000-000000000504", }, "pointOfContact": { - "id": "00000000-0000-0000-0000-000000000507", + "id": "00000000-0000-0000-0000-000000000509", }, }, "viewGroups": { "customer": { - "id": "00000000-0000-0000-0000-000000000512", + "id": "00000000-0000-0000-0000-000000000514", }, "meeting": { - "id": "00000000-0000-0000-0000-000000000510", + "id": "00000000-0000-0000-0000-000000000512", }, "new": { - "id": "00000000-0000-0000-0000-000000000508", + "id": "00000000-0000-0000-0000-000000000510", }, "proposal": { - "id": "00000000-0000-0000-0000-000000000511", + "id": "00000000-0000-0000-0000-000000000513", }, "screening": { - "id": "00000000-0000-0000-0000-000000000509", + "id": "00000000-0000-0000-0000-000000000511", }, }, }, "opportunityRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000531", + "id": "00000000-0000-0000-0000-000000000533", "viewFieldGroups": { "deal": { - "id": "00000000-0000-0000-0000-000000000528", + "id": "00000000-0000-0000-0000-000000000530", }, "relations": { - "id": "00000000-0000-0000-0000-000000000529", + "id": "00000000-0000-0000-0000-000000000531", }, "system": { - "id": "00000000-0000-0000-0000-000000000530", + "id": "00000000-0000-0000-0000-000000000532", }, }, "viewFields": { "amount": { - "id": "00000000-0000-0000-0000-000000000514", - }, - "attachments": { - "id": "00000000-0000-0000-0000-000000000526", - }, - "closeDate": { - "id": "00000000-0000-0000-0000-000000000515", - }, - "company": { - "id": "00000000-0000-0000-0000-000000000517", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000520", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000521", - }, - "noteTargets": { - "id": "00000000-0000-0000-0000-000000000525", - }, - "owner": { - "id": "00000000-0000-0000-0000-000000000519", - }, - "pointOfContact": { - "id": "00000000-0000-0000-0000-000000000518", - }, - "stage": { "id": "00000000-0000-0000-0000-000000000516", }, - "taskTargets": { - "id": "00000000-0000-0000-0000-000000000524", + "attachments": { + "id": "00000000-0000-0000-0000-000000000528", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000527", + "closeDate": { + "id": "00000000-0000-0000-0000-000000000517", }, - "updatedAt": { + "company": { + "id": "00000000-0000-0000-0000-000000000519", + }, + "createdAt": { "id": "00000000-0000-0000-0000-000000000522", }, - "updatedBy": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000523", }, + "noteTargets": { + "id": "00000000-0000-0000-0000-000000000527", + }, + "owner": { + "id": "00000000-0000-0000-0000-000000000521", + }, + "pointOfContact": { + "id": "00000000-0000-0000-0000-000000000520", + }, + "stage": { + "id": "00000000-0000-0000-0000-000000000518", + }, + "taskTargets": { + "id": "00000000-0000-0000-0000-000000000526", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000529", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000524", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000525", + }, }, "viewGroups": {}, }, @@ -1793,182 +1799,182 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "person": { "fields": { "attachments": { - "id": "00000000-0000-0000-0000-000000000551", - }, - "avatarFile": { - "id": "00000000-0000-0000-0000-000000000543", - }, - "avatarUrl": { - "id": "00000000-0000-0000-0000-000000000542", - }, - "calendarEventParticipants": { "id": "00000000-0000-0000-0000-000000000553", }, - "company": { - "id": "00000000-0000-0000-0000-000000000547", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000534", - }, - "createdBy": { + "avatarFile": { "id": "00000000-0000-0000-0000-000000000545", }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000536", - }, - "emails": { - "id": "00000000-0000-0000-0000-000000000538", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000533", - }, - "jobTitle": { - "id": "00000000-0000-0000-0000-000000000540", - }, - "linkedinLink": { - "id": "00000000-0000-0000-0000-000000000539", - }, - "listMemberships": { - "id": "00000000-0000-0000-0000-000000000555", - }, - "messageParticipants": { - "id": "00000000-0000-0000-0000-000000000552", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000537", - }, - "noteTargets": { - "id": "00000000-0000-0000-0000-000000000550", - }, - "phones": { - "id": "00000000-0000-0000-0000-000000000541", - }, - "pointOfContactForOpportunities": { - "id": "00000000-0000-0000-0000-000000000548", - }, - "position": { + "avatarUrl": { "id": "00000000-0000-0000-0000-000000000544", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000556", + "calendarEventParticipants": { + "id": "00000000-0000-0000-0000-000000000555", }, - "taskTargets": { + "company": { "id": "00000000-0000-0000-0000-000000000549", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000554", + "createdAt": { + "id": "00000000-0000-0000-0000-000000000536", }, - "updatedAt": { + "createdBy": { + "id": "00000000-0000-0000-0000-000000000547", + }, + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000538", + }, + "emails": { + "id": "00000000-0000-0000-0000-000000000540", + }, + "id": { "id": "00000000-0000-0000-0000-000000000535", }, - "updatedBy": { + "jobTitle": { + "id": "00000000-0000-0000-0000-000000000542", + }, + "linkedinLink": { + "id": "00000000-0000-0000-0000-000000000541", + }, + "listMemberships": { + "id": "00000000-0000-0000-0000-000000000557", + }, + "messageParticipants": { + "id": "00000000-0000-0000-0000-000000000554", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000539", + }, + "noteTargets": { + "id": "00000000-0000-0000-0000-000000000552", + }, + "phones": { + "id": "00000000-0000-0000-0000-000000000543", + }, + "pointOfContactForOpportunities": { + "id": "00000000-0000-0000-0000-000000000550", + }, + "position": { "id": "00000000-0000-0000-0000-000000000546", }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000558", + }, + "taskTargets": { + "id": "00000000-0000-0000-0000-000000000551", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000556", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000537", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000548", + }, }, - "id": "00000000-0000-0000-0000-000000000589", + "id": "00000000-0000-0000-0000-000000000591", "views": { "allPeople": { - "id": "00000000-0000-0000-0000-000000000565", + "id": "00000000-0000-0000-0000-000000000567", "viewFieldGroups": {}, "viewFields": { "company": { - "id": "00000000-0000-0000-0000-000000000560", - }, - "createdAt": { "id": "00000000-0000-0000-0000-000000000562", }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000559", - }, - "emails": { - "id": "00000000-0000-0000-0000-000000000558", - }, - "jobTitle": { - "id": "00000000-0000-0000-0000-000000000563", - }, - "linkedinLink": { + "createdAt": { "id": "00000000-0000-0000-0000-000000000564", }, + "createdBy": { + "id": "00000000-0000-0000-0000-000000000561", + }, + "emails": { + "id": "00000000-0000-0000-0000-000000000560", + }, + "jobTitle": { + "id": "00000000-0000-0000-0000-000000000565", + }, + "linkedinLink": { + "id": "00000000-0000-0000-0000-000000000566", + }, "name": { - "id": "00000000-0000-0000-0000-000000000557", + "id": "00000000-0000-0000-0000-000000000559", }, "phones": { - "id": "00000000-0000-0000-0000-000000000561", + "id": "00000000-0000-0000-0000-000000000563", }, }, "viewGroups": {}, }, "personRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000588", + "id": "00000000-0000-0000-0000-000000000590", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000584", - }, - "social": { "id": "00000000-0000-0000-0000-000000000586", }, + "social": { + "id": "00000000-0000-0000-0000-000000000588", + }, "system": { - "id": "00000000-0000-0000-0000-000000000587", + "id": "00000000-0000-0000-0000-000000000589", }, "work": { - "id": "00000000-0000-0000-0000-000000000585", + "id": "00000000-0000-0000-0000-000000000587", }, }, "viewFields": { "attachments": { - "id": "00000000-0000-0000-0000-000000000580", - }, - "avatarFile": { - "id": "00000000-0000-0000-0000-000000000576", - }, - "avatarUrl": { - "id": "00000000-0000-0000-0000-000000000571", - }, - "calendarEventParticipants": { "id": "00000000-0000-0000-0000-000000000582", }, - "company": { - "id": "00000000-0000-0000-0000-000000000568", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000572", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000573", - }, - "emails": { - "id": "00000000-0000-0000-0000-000000000566", - }, - "jobTitle": { - "id": "00000000-0000-0000-0000-000000000569", - }, - "linkedinLink": { - "id": "00000000-0000-0000-0000-000000000570", - }, - "messageParticipants": { - "id": "00000000-0000-0000-0000-000000000581", - }, - "noteTargets": { - "id": "00000000-0000-0000-0000-000000000579", - }, - "phones": { - "id": "00000000-0000-0000-0000-000000000567", - }, - "pointOfContactForOpportunities": { - "id": "00000000-0000-0000-0000-000000000577", - }, - "taskTargets": { + "avatarFile": { "id": "00000000-0000-0000-0000-000000000578", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000583", + "avatarUrl": { + "id": "00000000-0000-0000-0000-000000000573", }, - "updatedAt": { + "calendarEventParticipants": { + "id": "00000000-0000-0000-0000-000000000584", + }, + "company": { + "id": "00000000-0000-0000-0000-000000000570", + }, + "createdAt": { "id": "00000000-0000-0000-0000-000000000574", }, - "updatedBy": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000575", }, + "emails": { + "id": "00000000-0000-0000-0000-000000000568", + }, + "jobTitle": { + "id": "00000000-0000-0000-0000-000000000571", + }, + "linkedinLink": { + "id": "00000000-0000-0000-0000-000000000572", + }, + "messageParticipants": { + "id": "00000000-0000-0000-0000-000000000583", + }, + "noteTargets": { + "id": "00000000-0000-0000-0000-000000000581", + }, + "phones": { + "id": "00000000-0000-0000-0000-000000000569", + }, + "pointOfContactForOpportunities": { + "id": "00000000-0000-0000-0000-000000000579", + }, + "taskTargets": { + "id": "00000000-0000-0000-0000-000000000580", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000585", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000576", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000577", + }, }, "viewGroups": {}, }, @@ -1977,203 +1983,203 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "task": { "fields": { "assignee": { - "id": "00000000-0000-0000-0000-000000000603", - }, - "attachments": { - "id": "00000000-0000-0000-0000-000000000602", - }, - "bodyV2": { - "id": "00000000-0000-0000-0000-000000000596", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000591", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000599", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000593", - }, - "dueAt": { - "id": "00000000-0000-0000-0000-000000000597", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000590", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000594", - }, - "searchVector": { "id": "00000000-0000-0000-0000-000000000605", }, - "status": { - "id": "00000000-0000-0000-0000-000000000598", - }, - "taskTargets": { - "id": "00000000-0000-0000-0000-000000000601", - }, - "timelineActivities": { + "attachments": { "id": "00000000-0000-0000-0000-000000000604", }, - "title": { + "bodyV2": { + "id": "00000000-0000-0000-0000-000000000598", + }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000593", + }, + "createdBy": { + "id": "00000000-0000-0000-0000-000000000601", + }, + "deletedAt": { "id": "00000000-0000-0000-0000-000000000595", }, - "updatedAt": { + "dueAt": { + "id": "00000000-0000-0000-0000-000000000599", + }, + "id": { "id": "00000000-0000-0000-0000-000000000592", }, - "updatedBy": { + "position": { + "id": "00000000-0000-0000-0000-000000000596", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000607", + }, + "status": { "id": "00000000-0000-0000-0000-000000000600", }, + "taskTargets": { + "id": "00000000-0000-0000-0000-000000000603", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000606", + }, + "title": { + "id": "00000000-0000-0000-0000-000000000597", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000594", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000602", + }, }, - "id": "00000000-0000-0000-0000-000000000650", + "id": "00000000-0000-0000-0000-000000000652", "views": { "allTasks": { - "id": "00000000-0000-0000-0000-000000000614", + "id": "00000000-0000-0000-0000-000000000616", "viewFieldGroups": {}, "viewFields": { "assignee": { - "id": "00000000-0000-0000-0000-000000000611", - }, - "bodyV2": { - "id": "00000000-0000-0000-0000-000000000612", - }, - "createdAt": { "id": "00000000-0000-0000-0000-000000000613", }, + "bodyV2": { + "id": "00000000-0000-0000-0000-000000000614", + }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000615", + }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000609", + "id": "00000000-0000-0000-0000-000000000611", }, "dueAt": { - "id": "00000000-0000-0000-0000-000000000610", + "id": "00000000-0000-0000-0000-000000000612", }, "status": { - "id": "00000000-0000-0000-0000-000000000607", + "id": "00000000-0000-0000-0000-000000000609", }, "taskTargets": { - "id": "00000000-0000-0000-0000-000000000608", + "id": "00000000-0000-0000-0000-000000000610", }, "title": { - "id": "00000000-0000-0000-0000-000000000606", + "id": "00000000-0000-0000-0000-000000000608", }, }, "viewGroups": {}, }, "assignedToMe": { - "id": "00000000-0000-0000-0000-000000000626", + "id": "00000000-0000-0000-0000-000000000628", "viewFieldGroups": {}, "viewFields": { "assignee": { - "id": "00000000-0000-0000-0000-000000000619", - }, - "bodyV2": { - "id": "00000000-0000-0000-0000-000000000620", - }, - "createdAt": { "id": "00000000-0000-0000-0000-000000000621", }, + "bodyV2": { + "id": "00000000-0000-0000-0000-000000000622", + }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000623", + }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000617", + "id": "00000000-0000-0000-0000-000000000619", }, "dueAt": { - "id": "00000000-0000-0000-0000-000000000618", + "id": "00000000-0000-0000-0000-000000000620", }, "taskTargets": { - "id": "00000000-0000-0000-0000-000000000616", + "id": "00000000-0000-0000-0000-000000000618", }, "title": { - "id": "00000000-0000-0000-0000-000000000615", + "id": "00000000-0000-0000-0000-000000000617", }, }, "viewGroups": { "done": { - "id": "00000000-0000-0000-0000-000000000624", + "id": "00000000-0000-0000-0000-000000000626", }, "empty": { - "id": "00000000-0000-0000-0000-000000000625", + "id": "00000000-0000-0000-0000-000000000627", }, "inProgress": { - "id": "00000000-0000-0000-0000-000000000623", + "id": "00000000-0000-0000-0000-000000000625", }, "todo": { - "id": "00000000-0000-0000-0000-000000000622", + "id": "00000000-0000-0000-0000-000000000624", }, }, }, "byStatus": { - "id": "00000000-0000-0000-0000-000000000635", + "id": "00000000-0000-0000-0000-000000000637", "viewFieldGroups": {}, "viewFields": { "assignee": { - "id": "00000000-0000-0000-0000-000000000630", + "id": "00000000-0000-0000-0000-000000000632", }, "createdAt": { - "id": "00000000-0000-0000-0000-000000000631", + "id": "00000000-0000-0000-0000-000000000633", }, "dueAt": { - "id": "00000000-0000-0000-0000-000000000629", + "id": "00000000-0000-0000-0000-000000000631", }, "status": { - "id": "00000000-0000-0000-0000-000000000628", + "id": "00000000-0000-0000-0000-000000000630", }, "title": { - "id": "00000000-0000-0000-0000-000000000627", + "id": "00000000-0000-0000-0000-000000000629", }, }, "viewGroups": { "done": { - "id": "00000000-0000-0000-0000-000000000634", + "id": "00000000-0000-0000-0000-000000000636", }, "inProgress": { - "id": "00000000-0000-0000-0000-000000000633", + "id": "00000000-0000-0000-0000-000000000635", }, "todo": { - "id": "00000000-0000-0000-0000-000000000632", + "id": "00000000-0000-0000-0000-000000000634", }, }, }, "taskRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000649", + "id": "00000000-0000-0000-0000-000000000651", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000647", + "id": "00000000-0000-0000-0000-000000000649", }, "system": { - "id": "00000000-0000-0000-0000-000000000648", + "id": "00000000-0000-0000-0000-000000000650", }, }, "viewFields": { "assignee": { - "id": "00000000-0000-0000-0000-000000000638", - }, - "attachments": { - "id": "00000000-0000-0000-0000-000000000645", - }, - "bodyV2": { - "id": "00000000-0000-0000-0000-000000000642", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000639", - }, - "createdBy": { "id": "00000000-0000-0000-0000-000000000640", }, - "dueAt": { - "id": "00000000-0000-0000-0000-000000000636", + "attachments": { + "id": "00000000-0000-0000-0000-000000000647", }, - "status": { - "id": "00000000-0000-0000-0000-000000000637", + "bodyV2": { + "id": "00000000-0000-0000-0000-000000000644", }, - "taskTargets": { + "createdAt": { "id": "00000000-0000-0000-0000-000000000641", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000646", + "createdBy": { + "id": "00000000-0000-0000-0000-000000000642", }, - "updatedAt": { + "dueAt": { + "id": "00000000-0000-0000-0000-000000000638", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000639", + }, + "taskTargets": { "id": "00000000-0000-0000-0000-000000000643", }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000648", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000645", + }, "updatedBy": { - "id": "00000000-0000-0000-0000-000000000644", + "id": "00000000-0000-0000-0000-000000000646", }, }, "viewGroups": {}, @@ -2183,62 +2189,62 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "taskTarget": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000652", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000659", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000654", }, - "id": { - "id": "00000000-0000-0000-0000-000000000651", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000661", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000662", - }, - "targetCompany": { - "id": "00000000-0000-0000-0000-000000000657", - }, - "targetOpportunity": { - "id": "00000000-0000-0000-0000-000000000658", - }, - "targetPerson": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000656", }, - "task": { - "id": "00000000-0000-0000-0000-000000000655", - }, - "updatedAt": { + "id": { "id": "00000000-0000-0000-0000-000000000653", }, - "updatedBy": { + "position": { + "id": "00000000-0000-0000-0000-000000000663", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000664", + }, + "targetCompany": { + "id": "00000000-0000-0000-0000-000000000659", + }, + "targetOpportunity": { "id": "00000000-0000-0000-0000-000000000660", }, + "targetPerson": { + "id": "00000000-0000-0000-0000-000000000658", + }, + "task": { + "id": "00000000-0000-0000-0000-000000000657", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000655", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000662", + }, }, - "id": "00000000-0000-0000-0000-000000000669", + "id": "00000000-0000-0000-0000-000000000671", "views": { "allTaskTargets": { - "id": "00000000-0000-0000-0000-000000000668", + "id": "00000000-0000-0000-0000-000000000670", "viewFieldGroups": {}, "viewFields": { "id": { - "id": "00000000-0000-0000-0000-000000000663", - }, - "targetCompany": { - "id": "00000000-0000-0000-0000-000000000666", - }, - "targetOpportunity": { - "id": "00000000-0000-0000-0000-000000000667", - }, - "targetPerson": { "id": "00000000-0000-0000-0000-000000000665", }, + "targetCompany": { + "id": "00000000-0000-0000-0000-000000000668", + }, + "targetOpportunity": { + "id": "00000000-0000-0000-0000-000000000669", + }, + "targetPerson": { + "id": "00000000-0000-0000-0000-000000000667", + }, "task": { - "id": "00000000-0000-0000-0000-000000000664", + "id": "00000000-0000-0000-0000-000000000666", }, }, "viewGroups": {}, @@ -2248,131 +2254,131 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "timelineActivity": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000671", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000692", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000673", }, - "happensAt": { - "id": "00000000-0000-0000-0000-000000000674", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000670", - }, - "linkedObjectMetadataId": { - "id": "00000000-0000-0000-0000-000000000691", - }, - "linkedRecordCachedName": { - "id": "00000000-0000-0000-0000-000000000689", - }, - "linkedRecordId": { - "id": "00000000-0000-0000-0000-000000000690", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000675", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000694", }, - "properties": { + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000675", + }, + "happensAt": { "id": "00000000-0000-0000-0000-000000000676", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000695", - }, - "targetCompany": { - "id": "00000000-0000-0000-0000-000000000679", - }, - "targetDashboard": { - "id": "00000000-0000-0000-0000-000000000686", - }, - "targetMessageCampaign": { - "id": "00000000-0000-0000-0000-000000000688", - }, - "targetMessageList": { - "id": "00000000-0000-0000-0000-000000000687", - }, - "targetNote": { - "id": "00000000-0000-0000-0000-000000000682", - }, - "targetOpportunity": { - "id": "00000000-0000-0000-0000-000000000680", - }, - "targetPerson": { - "id": "00000000-0000-0000-0000-000000000678", - }, - "targetTask": { - "id": "00000000-0000-0000-0000-000000000681", - }, - "targetWorkflow": { - "id": "00000000-0000-0000-0000-000000000683", - }, - "targetWorkflowRun": { - "id": "00000000-0000-0000-0000-000000000685", - }, - "targetWorkflowVersion": { - "id": "00000000-0000-0000-0000-000000000684", - }, - "updatedAt": { + "id": { "id": "00000000-0000-0000-0000-000000000672", }, - "updatedBy": { + "linkedObjectMetadataId": { "id": "00000000-0000-0000-0000-000000000693", }, - "workspaceMember": { + "linkedRecordCachedName": { + "id": "00000000-0000-0000-0000-000000000691", + }, + "linkedRecordId": { + "id": "00000000-0000-0000-0000-000000000692", + }, + "name": { "id": "00000000-0000-0000-0000-000000000677", }, + "position": { + "id": "00000000-0000-0000-0000-000000000696", + }, + "properties": { + "id": "00000000-0000-0000-0000-000000000678", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000697", + }, + "targetCompany": { + "id": "00000000-0000-0000-0000-000000000681", + }, + "targetDashboard": { + "id": "00000000-0000-0000-0000-000000000688", + }, + "targetMessageCampaign": { + "id": "00000000-0000-0000-0000-000000000690", + }, + "targetMessageList": { + "id": "00000000-0000-0000-0000-000000000689", + }, + "targetNote": { + "id": "00000000-0000-0000-0000-000000000684", + }, + "targetOpportunity": { + "id": "00000000-0000-0000-0000-000000000682", + }, + "targetPerson": { + "id": "00000000-0000-0000-0000-000000000680", + }, + "targetTask": { + "id": "00000000-0000-0000-0000-000000000683", + }, + "targetWorkflow": { + "id": "00000000-0000-0000-0000-000000000685", + }, + "targetWorkflowRun": { + "id": "00000000-0000-0000-0000-000000000687", + }, + "targetWorkflowVersion": { + "id": "00000000-0000-0000-0000-000000000686", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000674", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000695", + }, + "workspaceMember": { + "id": "00000000-0000-0000-0000-000000000679", + }, }, - "id": "00000000-0000-0000-0000-000000000711", + "id": "00000000-0000-0000-0000-000000000713", "views": { "allTimelineActivities": { - "id": "00000000-0000-0000-0000-000000000710", + "id": "00000000-0000-0000-0000-000000000712", "viewFieldGroups": {}, "viewFields": { "happensAt": { - "id": "00000000-0000-0000-0000-000000000697", + "id": "00000000-0000-0000-0000-000000000699", }, "linkedRecordCachedName": { - "id": "00000000-0000-0000-0000-000000000700", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000696", - }, - "properties": { - "id": "00000000-0000-0000-0000-000000000698", - }, - "targetCompany": { "id": "00000000-0000-0000-0000-000000000702", }, - "targetDashboard": { - "id": "00000000-0000-0000-0000-000000000709", + "name": { + "id": "00000000-0000-0000-0000-000000000698", }, - "targetNote": { - "id": "00000000-0000-0000-0000-000000000705", + "properties": { + "id": "00000000-0000-0000-0000-000000000700", }, - "targetOpportunity": { - "id": "00000000-0000-0000-0000-000000000703", - }, - "targetPerson": { - "id": "00000000-0000-0000-0000-000000000701", - }, - "targetTask": { + "targetCompany": { "id": "00000000-0000-0000-0000-000000000704", }, - "targetWorkflow": { - "id": "00000000-0000-0000-0000-000000000706", + "targetDashboard": { + "id": "00000000-0000-0000-0000-000000000711", }, - "targetWorkflowRun": { - "id": "00000000-0000-0000-0000-000000000708", - }, - "targetWorkflowVersion": { + "targetNote": { "id": "00000000-0000-0000-0000-000000000707", }, + "targetOpportunity": { + "id": "00000000-0000-0000-0000-000000000705", + }, + "targetPerson": { + "id": "00000000-0000-0000-0000-000000000703", + }, + "targetTask": { + "id": "00000000-0000-0000-0000-000000000706", + }, + "targetWorkflow": { + "id": "00000000-0000-0000-0000-000000000708", + }, + "targetWorkflowRun": { + "id": "00000000-0000-0000-0000-000000000710", + }, + "targetWorkflowVersion": { + "id": "00000000-0000-0000-0000-000000000709", + }, "workspaceMember": { - "id": "00000000-0000-0000-0000-000000000699", + "id": "00000000-0000-0000-0000-000000000701", }, }, "viewGroups": {}, @@ -2382,78 +2388,78 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "workflow": { "fields": { "attachments": { - "id": "00000000-0000-0000-0000-000000000724", - }, - "automatedTriggers": { - "id": "00000000-0000-0000-0000-000000000722", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000713", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000725", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000715", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000712", - }, - "lastPublishedVersionId": { - "id": "00000000-0000-0000-0000-000000000717", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000716", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000719", - }, - "runs": { - "id": "00000000-0000-0000-0000-000000000721", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000727", - }, - "statuses": { - "id": "00000000-0000-0000-0000-000000000718", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000723", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000714", - }, - "updatedBy": { "id": "00000000-0000-0000-0000-000000000726", }, - "versions": { + "automatedTriggers": { + "id": "00000000-0000-0000-0000-000000000724", + }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000715", + }, + "createdBy": { + "id": "00000000-0000-0000-0000-000000000727", + }, + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000717", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000714", + }, + "lastPublishedVersionId": { + "id": "00000000-0000-0000-0000-000000000719", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000718", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000721", + }, + "runs": { + "id": "00000000-0000-0000-0000-000000000723", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000729", + }, + "statuses": { "id": "00000000-0000-0000-0000-000000000720", }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000725", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000716", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000728", + }, + "versions": { + "id": "00000000-0000-0000-0000-000000000722", + }, }, - "id": "00000000-0000-0000-0000-000000000735", + "id": "00000000-0000-0000-0000-000000000737", "views": { "allWorkflows": { - "id": "00000000-0000-0000-0000-000000000734", + "id": "00000000-0000-0000-0000-000000000736", "viewFieldGroups": {}, "viewFields": { "createdBy": { - "id": "00000000-0000-0000-0000-000000000731", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000728", - }, - "runs": { "id": "00000000-0000-0000-0000-000000000733", }, - "statuses": { - "id": "00000000-0000-0000-0000-000000000729", - }, - "updatedAt": { + "name": { "id": "00000000-0000-0000-0000-000000000730", }, - "versions": { + "runs": { + "id": "00000000-0000-0000-0000-000000000735", + }, + "statuses": { + "id": "00000000-0000-0000-0000-000000000731", + }, + "updatedAt": { "id": "00000000-0000-0000-0000-000000000732", }, + "versions": { + "id": "00000000-0000-0000-0000-000000000734", + }, }, "viewGroups": {}, }, @@ -2462,79 +2468,79 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "workflowAutomatedTrigger": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000737", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000743", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000739", }, - "id": { - "id": "00000000-0000-0000-0000-000000000736", - }, - "position": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000745", }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000746", - }, - "settings": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000741", }, - "type": { - "id": "00000000-0000-0000-0000-000000000740", - }, - "updatedAt": { + "id": { "id": "00000000-0000-0000-0000-000000000738", }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000000744", + "position": { + "id": "00000000-0000-0000-0000-000000000747", }, - "workflow": { + "searchVector": { + "id": "00000000-0000-0000-0000-000000000748", + }, + "settings": { + "id": "00000000-0000-0000-0000-000000000743", + }, + "type": { "id": "00000000-0000-0000-0000-000000000742", }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000740", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000746", + }, + "workflow": { + "id": "00000000-0000-0000-0000-000000000744", + }, }, - "id": "00000000-0000-0000-0000-000000000758", + "id": "00000000-0000-0000-0000-000000000760", "views": { "allWorkflowAutomatedTriggers": { - "id": "00000000-0000-0000-0000-000000000750", + "id": "00000000-0000-0000-0000-000000000752", "viewFieldGroups": {}, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000749", + "id": "00000000-0000-0000-0000-000000000751", }, "type": { - "id": "00000000-0000-0000-0000-000000000747", + "id": "00000000-0000-0000-0000-000000000749", }, "workflow": { - "id": "00000000-0000-0000-0000-000000000748", + "id": "00000000-0000-0000-0000-000000000750", }, }, "viewGroups": {}, }, "workflowAutomatedTriggerRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000757", + "id": "00000000-0000-0000-0000-000000000759", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000755", + "id": "00000000-0000-0000-0000-000000000757", }, "system": { - "id": "00000000-0000-0000-0000-000000000756", + "id": "00000000-0000-0000-0000-000000000758", }, }, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000753", + "id": "00000000-0000-0000-0000-000000000755", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000754", + "id": "00000000-0000-0000-0000-000000000756", }, "type": { - "id": "00000000-0000-0000-0000-000000000751", + "id": "00000000-0000-0000-0000-000000000753", }, "workflow": { - "id": "00000000-0000-0000-0000-000000000752", + "id": "00000000-0000-0000-0000-000000000754", }, }, "viewGroups": {}, @@ -2544,133 +2550,133 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "workflowRun": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000760", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000771", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000762", }, - "endedAt": { - "id": "00000000-0000-0000-0000-000000000768", - }, - "enqueuedAt": { - "id": "00000000-0000-0000-0000-000000000766", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000759", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000763", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000770", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000776", - }, - "startedAt": { - "id": "00000000-0000-0000-0000-000000000767", - }, - "state": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000773", }, - "status": { - "id": "00000000-0000-0000-0000-000000000769", - }, - "stepLogs": { - "id": "00000000-0000-0000-0000-000000000774", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000775", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000761", - }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000000772", - }, - "workflow": { - "id": "00000000-0000-0000-0000-000000000765", - }, - "workflowVersion": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000764", }, + "endedAt": { + "id": "00000000-0000-0000-0000-000000000770", + }, + "enqueuedAt": { + "id": "00000000-0000-0000-0000-000000000768", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000761", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000765", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000772", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000778", + }, + "startedAt": { + "id": "00000000-0000-0000-0000-000000000769", + }, + "state": { + "id": "00000000-0000-0000-0000-000000000775", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000771", + }, + "stepLogs": { + "id": "00000000-0000-0000-0000-000000000776", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000777", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000763", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000774", + }, + "workflow": { + "id": "00000000-0000-0000-0000-000000000767", + }, + "workflowVersion": { + "id": "00000000-0000-0000-0000-000000000766", + }, }, - "id": "00000000-0000-0000-0000-000000000799", + "id": "00000000-0000-0000-0000-000000000801", "views": { "allWorkflowRuns": { - "id": "00000000-0000-0000-0000-000000000783", + "id": "00000000-0000-0000-0000-000000000785", "viewFieldGroups": {}, "viewFields": { "createdBy": { - "id": "00000000-0000-0000-0000-000000000781", + "id": "00000000-0000-0000-0000-000000000783", }, "name": { - "id": "00000000-0000-0000-0000-000000000777", - }, - "startedAt": { - "id": "00000000-0000-0000-0000-000000000780", - }, - "status": { "id": "00000000-0000-0000-0000-000000000779", }, + "startedAt": { + "id": "00000000-0000-0000-0000-000000000782", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000781", + }, "workflow": { - "id": "00000000-0000-0000-0000-000000000778", + "id": "00000000-0000-0000-0000-000000000780", }, "workflowVersion": { - "id": "00000000-0000-0000-0000-000000000782", + "id": "00000000-0000-0000-0000-000000000784", }, }, "viewGroups": {}, }, "workflowRunRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000798", + "id": "00000000-0000-0000-0000-000000000800", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000796", + "id": "00000000-0000-0000-0000-000000000798", }, "system": { - "id": "00000000-0000-0000-0000-000000000797", + "id": "00000000-0000-0000-0000-000000000799", }, }, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000789", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000790", - }, - "endedAt": { - "id": "00000000-0000-0000-0000-000000000788", - }, - "enqueuedAt": { "id": "00000000-0000-0000-0000-000000000791", }, - "startedAt": { - "id": "00000000-0000-0000-0000-000000000787", - }, - "state": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000792", }, - "status": { - "id": "00000000-0000-0000-0000-000000000784", + "endedAt": { + "id": "00000000-0000-0000-0000-000000000790", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000795", - }, - "updatedAt": { + "enqueuedAt": { "id": "00000000-0000-0000-0000-000000000793", }, - "updatedBy": { + "startedAt": { + "id": "00000000-0000-0000-0000-000000000789", + }, + "state": { "id": "00000000-0000-0000-0000-000000000794", }, + "status": { + "id": "00000000-0000-0000-0000-000000000786", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000797", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000795", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000796", + }, "workflow": { - "id": "00000000-0000-0000-0000-000000000785", + "id": "00000000-0000-0000-0000-000000000787", }, "workflowVersion": { - "id": "00000000-0000-0000-0000-000000000786", + "id": "00000000-0000-0000-0000-000000000788", }, }, "viewGroups": {}, @@ -2680,115 +2686,115 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "workflowVersion": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000801", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000813", - }, - "deletedAt": { "id": "00000000-0000-0000-0000-000000000803", }, - "id": { - "id": "00000000-0000-0000-0000-000000000800", + "createdBy": { + "id": "00000000-0000-0000-0000-000000000815", }, - "name": { - "id": "00000000-0000-0000-0000-000000000804", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000808", - }, - "runs": { - "id": "00000000-0000-0000-0000-000000000809", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000812", - }, - "status": { - "id": "00000000-0000-0000-0000-000000000807", - }, - "steps": { - "id": "00000000-0000-0000-0000-000000000810", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000811", - }, - "trigger": { - "id": "00000000-0000-0000-0000-000000000806", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000802", - }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000000814", - }, - "workflow": { + "deletedAt": { "id": "00000000-0000-0000-0000-000000000805", }, + "id": { + "id": "00000000-0000-0000-0000-000000000802", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000806", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000810", + }, + "runs": { + "id": "00000000-0000-0000-0000-000000000811", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000814", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000809", + }, + "steps": { + "id": "00000000-0000-0000-0000-000000000812", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000813", + }, + "trigger": { + "id": "00000000-0000-0000-0000-000000000808", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000804", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000816", + }, + "workflow": { + "id": "00000000-0000-0000-0000-000000000807", + }, }, - "id": "00000000-0000-0000-0000-000000000834", + "id": "00000000-0000-0000-0000-000000000836", "views": { "allWorkflowVersions": { - "id": "00000000-0000-0000-0000-000000000820", + "id": "00000000-0000-0000-0000-000000000822", "viewFieldGroups": {}, "viewFields": { "name": { - "id": "00000000-0000-0000-0000-000000000815", - }, - "runs": { - "id": "00000000-0000-0000-0000-000000000819", - }, - "status": { "id": "00000000-0000-0000-0000-000000000817", }, + "runs": { + "id": "00000000-0000-0000-0000-000000000821", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000819", + }, "updatedAt": { - "id": "00000000-0000-0000-0000-000000000818", + "id": "00000000-0000-0000-0000-000000000820", }, "workflow": { - "id": "00000000-0000-0000-0000-000000000816", + "id": "00000000-0000-0000-0000-000000000818", }, }, "viewGroups": {}, }, "workflowVersionRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000833", + "id": "00000000-0000-0000-0000-000000000835", "viewFieldGroups": { "general": { - "id": "00000000-0000-0000-0000-000000000831", + "id": "00000000-0000-0000-0000-000000000833", }, "system": { - "id": "00000000-0000-0000-0000-000000000832", + "id": "00000000-0000-0000-0000-000000000834", }, }, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000824", - }, - "createdBy": { "id": "00000000-0000-0000-0000-000000000826", }, - "runs": { - "id": "00000000-0000-0000-0000-000000000829", - }, - "status": { - "id": "00000000-0000-0000-0000-000000000821", - }, - "steps": { - "id": "00000000-0000-0000-0000-000000000825", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000830", - }, - "trigger": { - "id": "00000000-0000-0000-0000-000000000823", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000827", - }, - "updatedBy": { + "createdBy": { "id": "00000000-0000-0000-0000-000000000828", }, + "runs": { + "id": "00000000-0000-0000-0000-000000000831", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000823", + }, + "steps": { + "id": "00000000-0000-0000-0000-000000000827", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000832", + }, + "trigger": { + "id": "00000000-0000-0000-0000-000000000825", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000829", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000830", + }, "workflow": { - "id": "00000000-0000-0000-0000-000000000822", + "id": "00000000-0000-0000-0000-000000000824", }, }, "viewGroups": {}, @@ -2798,122 +2804,122 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "workspaceMember": { "fields": { "accountOwnerForCompanies": { - "id": "00000000-0000-0000-0000-000000000848", - }, - "assignedTasks": { - "id": "00000000-0000-0000-0000-000000000846", - }, - "avatarUrl": { - "id": "00000000-0000-0000-0000-000000000843", - }, - "blocklist": { "id": "00000000-0000-0000-0000-000000000850", }, - "calendarEventParticipants": { - "id": "00000000-0000-0000-0000-000000000851", + "assignedTasks": { + "id": "00000000-0000-0000-0000-000000000848", }, - "calendarStartDay": { - "id": "00000000-0000-0000-0000-000000000857", - }, - "colorScheme": { - "id": "00000000-0000-0000-0000-000000000841", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000836", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000859", - }, - "dateFormat": { - "id": "00000000-0000-0000-0000-000000000854", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000838", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000835", - }, - "locale": { - "id": "00000000-0000-0000-0000-000000000842", - }, - "messageParticipants": { - "id": "00000000-0000-0000-0000-000000000849", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000840", - }, - "numberFormat": { - "id": "00000000-0000-0000-0000-000000000858", - }, - "ownedOpportunities": { - "id": "00000000-0000-0000-0000-000000000847", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000839", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000856", - }, - "timeFormat": { - "id": "00000000-0000-0000-0000-000000000855", - }, - "timeZone": { - "id": "00000000-0000-0000-0000-000000000853", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000852", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000837", - }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000000860", - }, - "userEmail": { - "id": "00000000-0000-0000-0000-000000000844", - }, - "userId": { + "avatarUrl": { "id": "00000000-0000-0000-0000-000000000845", }, + "blocklist": { + "id": "00000000-0000-0000-0000-000000000852", + }, + "calendarEventParticipants": { + "id": "00000000-0000-0000-0000-000000000853", + }, + "calendarStartDay": { + "id": "00000000-0000-0000-0000-000000000859", + }, + "colorScheme": { + "id": "00000000-0000-0000-0000-000000000843", + }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000838", + }, + "createdBy": { + "id": "00000000-0000-0000-0000-000000000861", + }, + "dateFormat": { + "id": "00000000-0000-0000-0000-000000000856", + }, + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000840", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000837", + }, + "locale": { + "id": "00000000-0000-0000-0000-000000000844", + }, + "messageParticipants": { + "id": "00000000-0000-0000-0000-000000000851", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000842", + }, + "numberFormat": { + "id": "00000000-0000-0000-0000-000000000860", + }, + "ownedOpportunities": { + "id": "00000000-0000-0000-0000-000000000849", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000841", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000858", + }, + "timeFormat": { + "id": "00000000-0000-0000-0000-000000000857", + }, + "timeZone": { + "id": "00000000-0000-0000-0000-000000000855", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000854", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000839", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000862", + }, + "userEmail": { + "id": "00000000-0000-0000-0000-000000000846", + }, + "userId": { + "id": "00000000-0000-0000-0000-000000000847", + }, }, - "id": "00000000-0000-0000-0000-000000000873", + "id": "00000000-0000-0000-0000-000000000875", "views": { "allWorkspaceMembers": { - "id": "00000000-0000-0000-0000-000000000872", + "id": "00000000-0000-0000-0000-000000000874", "viewFieldGroups": {}, "viewFields": { "assignedTasks": { - "id": "00000000-0000-0000-0000-000000000871", + "id": "00000000-0000-0000-0000-000000000873", }, "avatarUrl": { - "id": "00000000-0000-0000-0000-000000000863", - }, - "colorScheme": { - "id": "00000000-0000-0000-0000-000000000864", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000869", - }, - "dateFormat": { - "id": "00000000-0000-0000-0000-000000000867", - }, - "locale": { "id": "00000000-0000-0000-0000-000000000865", }, - "name": { - "id": "00000000-0000-0000-0000-000000000861", - }, - "ownedOpportunities": { - "id": "00000000-0000-0000-0000-000000000870", - }, - "timeFormat": { - "id": "00000000-0000-0000-0000-000000000868", - }, - "timeZone": { + "colorScheme": { "id": "00000000-0000-0000-0000-000000000866", }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000871", + }, + "dateFormat": { + "id": "00000000-0000-0000-0000-000000000869", + }, + "locale": { + "id": "00000000-0000-0000-0000-000000000867", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000863", + }, + "ownedOpportunities": { + "id": "00000000-0000-0000-0000-000000000872", + }, + "timeFormat": { + "id": "00000000-0000-0000-0000-000000000870", + }, + "timeZone": { + "id": "00000000-0000-0000-0000-000000000868", + }, "userEmail": { - "id": "00000000-0000-0000-0000-000000000862", + "id": "00000000-0000-0000-0000-000000000864", }, }, "viewGroups": {}, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/compute-call-recording-standard-metadata.spec.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/compute-call-recording-standard-metadata.spec.ts index ad4b4ce4f9..29f25245ef 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/compute-call-recording-standard-metadata.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/compute-call-recording-standard-metadata.spec.ts @@ -55,17 +55,7 @@ describe('CallRecording standard metadata build', () => { expect(calendarEventIdIndex).toBeDefined(); }); - it('stores the per-event recording preference on calendarEvent', () => { - const recordingPreferenceField = - allFlatEntityMaps.flatFieldMetadataMaps.byUniversalIdentifier[ - STANDARD_OBJECTS.calendarEvent.fields.recordingPreference - .universalIdentifier - ]; - - expect(recordingPreferenceField).toBeDefined(); - }); - - it('keeps the callRecording table view focused on its label identifier and status', () => { + it('keeps the callRecording table view focused on its label identifier and statuses', () => { const viewFieldFieldUniversalIdentifiers = Object.values( allFlatEntityMaps.flatViewFieldMaps.byUniversalIdentifier, ) @@ -78,11 +68,13 @@ describe('CallRecording standard metadata build', () => { ) .map((viewField) => viewField.fieldMetadataUniversalIdentifier); - expect(viewFieldFieldUniversalIdentifiers).toHaveLength(3); + expect(viewFieldFieldUniversalIdentifiers).toHaveLength(4); expect(viewFieldFieldUniversalIdentifiers).toEqual( expect.arrayContaining([ STANDARD_OBJECTS.callRecording.fields.title.universalIdentifier, STANDARD_OBJECTS.callRecording.fields.status.universalIdentifier, + STANDARD_OBJECTS.callRecording.fields.recordingRequestStatus + .universalIdentifier, STANDARD_OBJECTS.callRecording.fields.startedAt.universalIdentifier, ]), ); @@ -101,11 +93,13 @@ describe('CallRecording standard metadata build', () => { ) .map((viewField) => viewField.fieldMetadataUniversalIdentifier); - expect(viewFieldFieldUniversalIdentifiers).toHaveLength(8); + expect(viewFieldFieldUniversalIdentifiers).toHaveLength(9); expect(viewFieldFieldUniversalIdentifiers).toEqual( expect.arrayContaining([ STANDARD_OBJECTS.callRecording.fields.title.universalIdentifier, STANDARD_OBJECTS.callRecording.fields.status.universalIdentifier, + STANDARD_OBJECTS.callRecording.fields.recordingRequestStatus + .universalIdentifier, STANDARD_OBJECTS.callRecording.fields.startedAt.universalIdentifier, STANDARD_OBJECTS.callRecording.fields.endedAt.universalIdentifier, STANDARD_OBJECTS.callRecording.fields.video.universalIdentifier, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-calendar-event-standard-flat-field-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-calendar-event-standard-flat-field-metadata.util.ts index 5e3f32b43f..c6165ee628 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-calendar-event-standard-flat-field-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-calendar-event-standard-flat-field-metadata.util.ts @@ -401,48 +401,6 @@ export const buildCalendarEventStandardFlatFieldMetadatas = ({ twentyStandardApplicationId, now, }), - recordingPreference: createStandardFieldFlatMetadata({ - objectName, - workspaceId, - context: { - fieldName: 'recordingPreference', - type: FieldMetadataType.SELECT, - label: i18nLabel(msg`Recording Preference`), - description: i18nLabel( - msg`Whether to record this event, applied on top of the workspace policy`, - ), - icon: 'IconSettingsAutomation', - isNullable: false, - defaultValue: "'AUTO'", - options: [ - { - id: '4c4761ce-ffbf-4176-be7f-5cf5257c8bff', - value: 'AUTO', - label: i18nLabel(msg`Auto`), - position: 0, - color: 'blue', - }, - { - id: '1ae19135-e1a1-4a96-b866-91643622e554', - value: 'ON', - label: i18nLabel(msg`On`), - position: 1, - color: 'green', - }, - { - id: '8c69a74f-2ab7-4c19-a813-eb0ea3533fd3', - value: 'OFF', - label: i18nLabel(msg`Off`), - position: 2, - color: 'gray', - }, - ], - }, - standardObjectMetadataRelatedEntityIds, - dependencyFlatEntityMaps, - twentyStandardApplicationId, - now, - }), calendarChannelEventAssociations: createStandardRelationFieldFlatMetadata({ objectName, workspaceId, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-call-recording-standard-flat-field-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-call-recording-standard-flat-field-metadata.util.ts index 6e6e44aaf6..9107d786f4 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-call-recording-standard-flat-field-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-call-recording-standard-flat-field-metadata.util.ts @@ -15,6 +15,8 @@ import { } from 'src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/create-standard-field-flat-metadata.util'; import { createStandardRelationFieldFlatMetadata } from 'src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/create-standard-relation-field-flat-metadata.util'; import { getTsVectorColumnExpressionFromFields } from 'src/engine/workspace-manager/utils/get-ts-vector-column-expression.util'; +import { CallRecordingRequestStatus } from 'src/modules/call-recording/common/enums/call-recording-request-status.enum'; +import { CallRecordingStatus } from 'src/modules/call-recording/common/enums/call-recording-status.enum'; export const buildCallRecordingStandardFlatFieldMetadatas = ({ now, @@ -137,42 +139,42 @@ export const buildCallRecordingStandardFlatFieldMetadatas = ({ options: [ { id: '7fa515ba-e3cb-48f7-914f-e1f664d5d920', - value: 'SCHEDULED', + value: CallRecordingStatus.SCHEDULED, label: i18nLabel(msg`Scheduled`), position: 0, color: 'sky', }, { id: '96844ba3-364b-4975-8abc-886cca92ec99', - value: 'JOINING', + value: CallRecordingStatus.JOINING, label: i18nLabel(msg`Joining`), position: 1, color: 'blue', }, { id: 'eccdad8b-8424-48ba-ad7f-f38517fa83fc', - value: 'RECORDING', + value: CallRecordingStatus.RECORDING, label: i18nLabel(msg`Recording`), position: 2, color: 'red', }, { id: 'c8222203-5b44-4ac6-8142-0a7eb2074d7b', - value: 'PROCESSING', + value: CallRecordingStatus.PROCESSING, label: i18nLabel(msg`Processing`), position: 3, color: 'orange', }, { id: 'd17faf71-af3c-4260-9021-2ffaaa5648c4', - value: 'COMPLETED', + value: CallRecordingStatus.COMPLETED, label: i18nLabel(msg`Completed`), position: 4, color: 'green', }, { id: '4800777e-54a8-4464-9c01-07d6eefd04da', - value: 'FAILED_UNKNOWN', + value: CallRecordingStatus.FAILED_UNKNOWN, label: i18nLabel(msg`Failed`), position: 5, color: 'gray', @@ -184,6 +186,40 @@ export const buildCallRecordingStandardFlatFieldMetadatas = ({ twentyStandardApplicationId, now, }), + recordingRequestStatus: createStandardFieldFlatMetadata({ + objectName, + workspaceId, + context: { + fieldName: 'recordingRequestStatus', + type: FieldMetadataType.SELECT, + label: i18nLabel(msg`Request Status`), + description: i18nLabel(msg`Recording request status`), + icon: 'IconCircleCheck', + isNullable: false, + isUIEditable: false, + defaultValue: "'REQUESTED'", + options: [ + { + id: 'fe992923-2f51-494d-bb32-42e96a703778', + value: CallRecordingRequestStatus.REQUESTED, + label: i18nLabel(msg`Requested`), + position: 0, + color: 'sky', + }, + { + id: '485767c2-2dda-4b83-91d8-6025cdb4b9df', + value: CallRecordingRequestStatus.CANCELED, + label: i18nLabel(msg`Canceled`), + position: 1, + color: 'gray', + }, + ], + }, + standardObjectMetadataRelatedEntityIds, + dependencyFlatEntityMaps, + twentyStandardApplicationId, + now, + }), applicationId: createStandardFieldFlatMetadata({ objectName, workspaceId, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-call-recording-view-fields.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-call-recording-view-fields.util.ts index 34e8d9d3ee..36eccdee80 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-call-recording-view-fields.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-call-recording-view-fields.util.ts @@ -40,11 +40,24 @@ export const computeStandardCallRecordingViewFields = ( viewName: 'allCallRecordings', viewFieldName: 'startedAt', fieldName: 'startedAt', - position: 2, + position: 3, isVisible: true, size: 150, }, }), + allCallRecordingsRecordingRequestStatus: + createStandardViewFieldFlatMetadata({ + ...args, + objectName: 'callRecording', + context: { + viewName: 'allCallRecordings', + viewFieldName: 'recordingRequestStatus', + fieldName: 'recordingRequestStatus', + position: 2, + isVisible: true, + size: 150, + }, + }), callRecordingRecordPageFieldsTitle: createStandardViewFieldFlatMetadata({ ...args, objectName: 'callRecording', @@ -79,7 +92,7 @@ export const computeStandardCallRecordingViewFields = ( viewName: 'callRecordingRecordPageFields', viewFieldName: 'startedAt', fieldName: 'startedAt', - position: 2, + position: 3, isVisible: true, size: 150, viewFieldGroupName: 'general', @@ -93,12 +106,26 @@ export const computeStandardCallRecordingViewFields = ( viewName: 'callRecordingRecordPageFields', viewFieldName: 'endedAt', fieldName: 'endedAt', - position: 3, + position: 4, isVisible: true, size: 150, viewFieldGroupName: 'general', }, }), + callRecordingRecordPageFieldsRecordingRequestStatus: + createStandardViewFieldFlatMetadata({ + ...args, + objectName: 'callRecording', + context: { + viewName: 'callRecordingRecordPageFields', + viewFieldName: 'recordingRequestStatus', + fieldName: 'recordingRequestStatus', + position: 2, + isVisible: true, + size: 150, + viewFieldGroupName: 'general', + }, + }), callRecordingRecordPageFieldsVideo: createStandardViewFieldFlatMetadata({ ...args, objectName: 'callRecording', @@ -106,7 +133,7 @@ export const computeStandardCallRecordingViewFields = ( viewName: 'callRecordingRecordPageFields', viewFieldName: 'video', fieldName: 'video', - position: 4, + position: 5, isVisible: true, size: 150, viewFieldGroupName: 'general', @@ -119,7 +146,7 @@ export const computeStandardCallRecordingViewFields = ( viewName: 'callRecordingRecordPageFields', viewFieldName: 'audio', fieldName: 'audio', - position: 5, + position: 6, isVisible: true, size: 150, viewFieldGroupName: 'general', @@ -133,7 +160,7 @@ export const computeStandardCallRecordingViewFields = ( viewName: 'callRecordingRecordPageFields', viewFieldName: 'transcript', fieldName: 'transcript', - position: 6, + position: 7, isVisible: true, size: 150, viewFieldGroupName: 'general', @@ -146,7 +173,7 @@ export const computeStandardCallRecordingViewFields = ( viewName: 'callRecordingRecordPageFields', viewFieldName: 'summary', fieldName: 'summary', - position: 7, + position: 8, isVisible: true, size: 200, viewFieldGroupName: 'general', diff --git a/packages/twenty-server/src/modules/calendar/common/query-hooks/calendar-event/services/apply-calendar-events-visibility-restrictions.service.spec.ts b/packages/twenty-server/src/modules/calendar/common/query-hooks/calendar-event/services/apply-calendar-events-visibility-restrictions.service.spec.ts index 5140089c08..a680d2c19f 100644 --- a/packages/twenty-server/src/modules/calendar/common/query-hooks/calendar-event/services/apply-calendar-events-visibility-restrictions.service.spec.ts +++ b/packages/twenty-server/src/modules/calendar/common/query-hooks/calendar-event/services/apply-calendar-events-visibility-restrictions.service.spec.ts @@ -37,7 +37,6 @@ const createMockCalendarEvent = ( updatedAt: '2024-03-20T09:00:00Z', iCalUid: '', conferenceSolution: '', - recordingPreference: 'AUTO', calendarChannelEventAssociations: [], calendarEventParticipants: [], }); diff --git a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts index d79555c29f..ab73d8c54e 100644 --- a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts +++ b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts @@ -25,7 +25,6 @@ export class CalendarEventWorkspaceEntity extends BaseWorkspaceEntity { iCalUid: string | null; conferenceSolution: string | null; conferenceLink: LinksMetadata; - recordingPreference: string; calendarChannelEventAssociations: EntityRelation< CalendarChannelEventAssociationWorkspaceEntity[] >; diff --git a/packages/twenty-server/src/modules/call-recording/common/enums/call-recording-request-status.enum.ts b/packages/twenty-server/src/modules/call-recording/common/enums/call-recording-request-status.enum.ts new file mode 100644 index 0000000000..bbba0e4f0a --- /dev/null +++ b/packages/twenty-server/src/modules/call-recording/common/enums/call-recording-request-status.enum.ts @@ -0,0 +1,4 @@ +export enum CallRecordingRequestStatus { + REQUESTED = 'REQUESTED', + CANCELED = 'CANCELED', +} diff --git a/packages/twenty-server/src/modules/call-recording/common/enums/call-recording-status.enum.ts b/packages/twenty-server/src/modules/call-recording/common/enums/call-recording-status.enum.ts new file mode 100644 index 0000000000..5fa56b0d35 --- /dev/null +++ b/packages/twenty-server/src/modules/call-recording/common/enums/call-recording-status.enum.ts @@ -0,0 +1,8 @@ +export enum CallRecordingStatus { + SCHEDULED = 'SCHEDULED', + JOINING = 'JOINING', + RECORDING = 'RECORDING', + PROCESSING = 'PROCESSING', + COMPLETED = 'COMPLETED', + FAILED_UNKNOWN = 'FAILED_UNKNOWN', +} diff --git a/packages/twenty-server/src/modules/call-recording/standard-objects/call-recording.workspace-entity.ts b/packages/twenty-server/src/modules/call-recording/standard-objects/call-recording.workspace-entity.ts index a11a343f15..f7403ea9ce 100644 --- a/packages/twenty-server/src/modules/call-recording/standard-objects/call-recording.workspace-entity.ts +++ b/packages/twenty-server/src/modules/call-recording/standard-objects/call-recording.workspace-entity.ts @@ -4,10 +4,13 @@ import { type FileOutput } from 'src/engine/api/common/common-args-processors/da import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity'; import { type EntityRelation } from 'src/engine/workspace-manager/workspace-migration/types/entity-relation.interface'; import { type CalendarEventWorkspaceEntity } from 'src/modules/calendar/common/standard-objects/calendar-event.workspace-entity'; +import { type CallRecordingRequestStatus } from 'src/modules/call-recording/common/enums/call-recording-request-status.enum'; +import { type CallRecordingStatus } from 'src/modules/call-recording/common/enums/call-recording-status.enum'; export class CallRecordingWorkspaceEntity extends BaseWorkspaceEntity { title: string | null; - status: string; + status: CallRecordingStatus; + recordingRequestStatus: CallRecordingRequestStatus; applicationId: string | null; externalBotId: string | null; externalRecordingId: string | null; diff --git a/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts b/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts index 603718f03d..9e85774d31 100644 --- a/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts +++ b/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts @@ -480,9 +480,6 @@ export const STANDARD_OBJECTS = { calendarEventParticipants: { universalIdentifier: '20202020-e07e-4ccb-88f5-6f3d00458eec', }, - recordingPreference: { - universalIdentifier: '1d231e7e-9bbe-410b-8007-ea7678a83e58', - }, callRecordings: { universalIdentifier: '48d6d151-18e2-4111-b405-d85fb9d860d8', }, @@ -553,6 +550,9 @@ export const STANDARD_OBJECTS = { status: { universalIdentifier: '3e617680-d93e-4309-a54f-90f69528bfd7', }, + recordingRequestStatus: { + universalIdentifier: '7fd681c9-244c-4e98-8939-7b175d472638', + }, applicationId: { universalIdentifier: '24ec1239-1240-42cb-8a2d-302632378e09', }, @@ -608,6 +608,9 @@ export const STANDARD_OBJECTS = { status: { universalIdentifier: '6c4a81a2-d9c1-4f82-984c-f97e083ca710', }, + recordingRequestStatus: { + universalIdentifier: '3bdedacd-0fd5-4175-8d28-2fe41bb5aa77', + }, title: { universalIdentifier: 'b1d5051b-071d-4514-93cf-704724cdc8f6', }, @@ -630,6 +633,9 @@ export const STANDARD_OBJECTS = { status: { universalIdentifier: '93483569-fcd2-46cf-b576-9f0318ad2b3b', }, + recordingRequestStatus: { + universalIdentifier: '364a90b1-e9aa-4606-996b-46e579ebeb28', + }, startedAt: { universalIdentifier: '3fd00fbb-c153-45e3-b6e6-43d18d34052a', },