{"repositoryChange":{"changedToast":"Repository changed. New sessions will use the new repository.","verifyError":"Could not verify GitHub access.","change":"Change","title":"Change repository","description":"New sessions will use the new repository. Existing sessions cannot restart after the change.","current":"Current repository","newUrl":"New GitHub repository URL","verifying":"Verifying GitHub…","verifyAgain":"Verify GitHub again","verify":"Verify GitHub access","noInstallation":"No Kortix App installation is available for this repository owner. Add the repository to the App installation in GitHub, then verify again.","installation":"GitHub App installation","selectInstallation":"Select installation","manifestRequirement":"The new repository needs {manifest} on its default branch. Stop active sessions and close open change requests first.","cancel":"Cancel","changing":"Changing…"},"pooledSecrets":{"saveChanges":"Save changes","unsavedChanges":"Unsaved key changes","providerDisabled":"This provider is disabled for this session.","unavailableKeys":"{count, plural, one {# selected key is unavailable.} other {# selected keys are unavailable.}} Remove unavailable keys or restore access.","removeUnavailable":"Remove unavailable keys","selectionLimit":"Maximum 10 keys per provider","manageKeys":"Manage provider keys","readOnlyPool":"Only the session owner or a project manager can change this pool.","legacyChatGptLogin":"Existing project login","legacyChatGptDescription":"This older connection is shared with the project. Manage access to new accounts above individually.","chatGptAccounts":"ChatGPT accounts","accountCount":"{count, plural, one {# account} other {# accounts}}","addAccount":"Add account","deleteAccount":"Delete account","connectAccount":"Connect account","oauthWaiting":"Waiting for authorization…","oauthExpired":"Authorization timed out. Try again.","oauthPrivateDescription":"Use your ChatGPT Plus or Pro plan in this project. New accounts are private to you until you share them.","chatGptSubscription":"ChatGPT subscription","useYourChatGpt":"Use your ChatGPT subscription","manageChatGptAccounts":"Manage ChatGPT accounts","connect":"Connect","connectChatGpt":"Connect ChatGPT","noChatGptAccounts":"No ChatGPT accounts yet","oauthCreationDescription":"Sign in with your ChatGPT Plus or Pro account. Kortix stores the login encrypted and never shows it.","defaultAccountLabel":"ChatGPT · {name}","onlyYou":"Only you","onlyYouDescription":"Only you can select it in a session.","onlyOwner":"Only {name}","shareRequiresPermission":"Sharing with others requires permission to manage project secrets.","accountConnected":"ChatGPT account connected","accountReconnected":"ChatGPT account reconnected","connectFailed":"ChatGPT authorization failed. Try again.","reconnectAccount":"Reconnect","reconnectTitle":"Reconnect {label}","reconnectDescription":"Sign in with ChatGPT again. The account keeps its name, access, and session selections.","needsReconnection":"Needs reconnection","creationDescription":"The value stays encrypted. Choose who can use this connection before saving it.","whoCanUse":"Who can use this connection?","everyoneInProject":"Everyone in this project","everyoneDescription":"Any project member can select it in a session.","specificMembers":"Specific members","specificDescription":"Only selected project members and the connection owner can use it.","selectedMembersCount":"{count, plural, one {# member} other {# members}}","accessDescription":"Choose project-wide access or limit this connection to selected members.","accountLabelPlaceholder":"e.g. My ChatGPT account","chooseProvider":"Choose a provider.","saved":"Secret saved","saveError":"Secret could not be saved","deleted":"Secret deleted","deleteError":"Secret could not be deleted","accessError":"Access could not be changed","sharedTitle":"Provider connections","sharedDescription":"Add API keys and ChatGPT accounts. New ones are private to you until you share them. Choose which ones each session uses.","legacyProjectKey":"Existing project key · Used when this session has no key selection","keyCount":"{count, plural, one {# key} other {# keys}}","providerKeysFor":"{provider} API keys","addKey":"Add key","loadError":"Provider secrets could not be loaded.","key":"Key","provider":"Provider","access":"Access","actions":"Actions","coolingDown":"Cooling down","member":"member","members":"members","actionsFor":"Actions for {label}","manageAccess":"Manage access","rotateKey":"Rotate key","deleteKey":"Delete key","empty":"No shared provider keys yet.","rotateLabel":"Rotate {label}","addProviderKey":"Add provider key","valueNeverShown":"Choose who can use this key. Its value is never shown again.","label":"Label","primaryKey":"Primary key","apiKey":"API key","cancel":"Cancel","saving":"Saving…","saveKey":"Save key","accessTo":"Access to {label}","grantedMembers":"Choose project-wide access or selected project members.","oauthGrantedMembers":"Choose project-wide access or selected project members.","done":"Done","deleteConfirmTitle":"Delete this key for everyone?","deleteAccountConfirmTitle":"Delete this ChatGPT account for everyone?","deleteConfirmDescription":"{label} will be removed from every session pool. Other keys stay available.","deleteAccountConfirmDescription":"{label} will be removed from every session pool. Other accounts stay available.","keysUpdated":"Provider keys updated","keysUpdateError":"Provider keys could not be updated","loadingKeys":"Loading keys…","keysLoadError":"Keys could not be loaded.","addSharedKey":"Add a provider key in Models to build a pool.","selectedForSession":"{count} keys selected for this session","selectedOneForSession":"{count} key selected for this session","projectDefault":"Using the project default","personalChatGptDefault":"Using your default ChatGPT connection","resetPersonalChatGptDefault":"Reset to your account default","saveSelection":"Save key selection","resetDefault":"Reset to project default","selectedKeys":"{count} keys selected","selectedOne":"{count} key selected","providerKeys":"Provider keys","chooseSharedKeys":"Choose the shared keys this session can use.","sessionKeyPool":"Session key pool","sharedSessionKeys":"This session is shared with the project, so only keys shared with the whole project work here. Keys granted to you work in your private sessions.","projectDefaultShort":"Project default","rateLimitDescription":"The gateway rotates through selected keys when a provider reports a rate limit.","enableGateway":"Enable LLM gateway in project settings to use pooled keys."},"useCases":{"headline":"The loops that run a company"},"developers":{"heroDescription":"Agents, skills, tools, connectors, schedules — all just files in a repo. Edit them in your IDE, run them locally, ship to the cloud with one command. Open source, self-hostable, yours.","agentBody":"An agent is Markdown — a persona, its model, and its tools. Skills are folders it loads on demand. Edit them by hand, or describe what you want and let your coding agent write them.","shipBody":"kortix ship commits, pushes, builds the sandbox, and prompts for missing secrets. Triggers and channels go live immediately — no separate infrastructure to set up.","fleetBody":"Every session is its own VM on its own branch, booting the runtime and your repo. Spawn thousands in parallel with zero interference. A change request is the only way work reaches main, so everything is reviewable and reversible.","runtimeBody":"Sessions run on an open runtime. Bring your own keys — Anthropic, OpenAI, or local — or use Kortix compute. Nothing about the runtime is hidden.","lifecycleDescription":"Scaffold, ship, run, automate, connect, and review — one CLI does it all. The same binary is pre-authenticated inside every sandbox, so agents drive Kortix with the exact commands you use.","scaleDescription":"Every session runs in its own isolated sandbox — real, isolated compute — on its own Git branch off main. Start millions in parallel; nothing collides.","connectorsDescription":"Kortix connectors put 3,000+ apps — plus any MCP, OpenAPI, GraphQL, or raw HTTP endpoint — behind one Executor interface that your agents call like any other tool.","codeDescription":"Because everything is code in a repo, the system can read its own blueprint, extend itself, and stay healthy as it grows. It is 100% extensible, controllable, and self-hostable — nothing is a black box."},"common":{"cancel":"Cancel","save":"Save","saving":"Saving...","success":"Success","done":"Done","close":"Close","ok":"OK","yes":"Yes","no":"No","delete":"Delete","edit":"Edit","search":"Search","loading":"Loading...","error":"Error","retry":"Try again","send":"Send","back":"Back","new":"New","create":"Create","update":"Update","remove":"Remove","confirm":"Confirm","processing":"Processing...","keep":"Keep","active":"Active","inactive":"Inactive","next":"Next","upgrade":"Upgrade","basic":"Basic","tryFree":"My Kortix"},"newWorkspace":{"title":"Create a project","description":"A project is where your agents, files and sessions live.","templateSeed":"This project will be seeded from the template you picked.","account":{"label":"Account","createIn":"Create in {account}","choose":"Choose an account"},"name":{"label":"Project name","placeholder":"Project name"},"validation":{"nameRequired":"Name is required","nameCharacters":"Use only letters, numbers, spaces, hyphens, underscores or dots","nameTooLong":"Name must be {max} characters or fewer"},"permissions":{"noCreatableAccount":"You need owner or admin access in an account to create a project.","unknownAccountPrefix":"We can't tell which of your accounts is yours, so we're not guessing. Email","unknownAccountSuffix":"and we'll get it fixed."},"actions":{"create":"Create project","tryAgain":"Try again","upgrade":"Upgrade plan","logOut":"Log out","signingOut":"Signing out","back":"Back to projects"},"repository":{"label":"Repository","defaultBranch":"Default branch","loadGitHubAccountsError":"Could not load GitHub accounts. Try again.","createsPath":"Creates <path>{path}</path>","loadRepositoriesError":"Could not load repositories. Try again.","sources":{"managed":{"label":"Kortix managed","description":"Kortix creates and manages a private repository for this project."},"githubCreate":{"description":"Kortix creates a private repository in your GitHub account."}},"repositoryLabel":"Repository","loadingOptions":"Loading repository options…","managedUnavailable":"Kortix-managed repositories are not available on this instance. A platform admin sets this up in the admin console.","installationUnreachable":"This GitHub connection no longer works. Reconnect it to list repositories.","reconnect":"Reconnect in Git settings","managedImportLabel":"Import an existing managed repository","managedImportHint":"Self-host operators only. Lists repositories the managed git owner already holds.","gitAccountLabel":"Git account","selectGitAccount":"Select a git account","addGitHubAccount":"Add a GitHub account…","actionCreate":"Create a new repository","actionImport":"Import an existing repository","ownerTypePersonal":"Personal account","ownerTypeOrg":"Organization"}},"projectHome":{"welcome":{"heading":"Give <project></project> something real to work on.","fallbackName":"it","confetti":"Throw some confetti"},"runtime":{"metaLabel":"Meta runtime","metaDescription":"Meta uses a fixed minimal sandbox. It starts specialized sessions for project work."},"sandbox":{"label":"Sandbox template","agentEnvironment":"Agent environment","agentEnvironmentDescription":"Uses the selected agent, project, or platform default.","selected":"Selected","platformDefault":"Platform default · clones workspace at boot","image":"Image: {image}","dockerfile":"Dockerfile: {path}","ready":"Ready","building":"Building — session will wait","notBuilt":"Not built — first session will build it"},"setup":{"title":"Get started","progress":"{completed} of {total}","progressLabel":"{completed} of {total} setup steps complete","hide":"Hide this","hideLabel":"Hide the get started checklist","steps":{"connectors":"Connect a tool","triggers":"Schedule a trigger","skills":"Add a skill","slack":"Connect Slack","team":"Invite your team","agent":"Set up your agent"}},"starters":{"title":"Start with","shuffle":"Shuffle","shuffleLabel":"Shuffle the starter prompts"},"files":{"loadError":"Failed to load project"}},"settings":{"title":"Settings","tabs":{"general":"General","plan":"Plan","billing":"Billing","usage":"Usage","referrals":"Referrals","connectors":"Connectors","envManager":"Env Manager"},"rail":{"settings":"Settings","projectTitle":"Settings — {projectName}","backToApp":"Back to app","close":"Close","docs":"Docs","groups":{"workspace":"Project","personal":"Personal","account":"Account"},"items":{"workspace":{"label":"General","description":"Name and icon for this project."},"sandbox":{"label":"Sandbox templates","description":"The recipe for the machine a session runs on, and the record of every time Kortix prepared one."},"feature-flags":{"label":"Feature flags","description":"Features you can switch on before they are generally available."},"upgrades":{"label":"Upgrades","description":"Changes an agent makes to this project. Every run opens a change request for you to review — nothing merges on its own."},"profile":{"label":"Profile","description":"Your picture, name, email, and organizations."},"security":{"label":"Security","description":"Two-factor authentication and the devices signed in as you."},"appearance":{"label":"Appearance","description":"Theme, wallpaper, and how much a conversation shows."},"sessions":{"label":"Notifications","description":"How a running session gets your attention."},"preferences":{"label":"Language & shortcuts","description":"Language and keyboard shortcuts."},"connected":{"label":"Connected accounts"},"tokens":{"label":"Personal access keys","description":"API keys that act as you — for the CLI, a script, or a CI job."},"credits":{"label":"Credits","description":"What this account has left to spend, and what it spent this period."},"plan":{"label":"Plan","description":"Your subscription, team seats, and billing for this account."}}},"profile":{"profilePicture":"Profile picture","profilePictureDescription":"JPG, PNG, or GIF. Max 5MB.","remove":"Remove","uploadProfilePicture":"Upload profile picture","email":"Email","emailDescription":"Used to sign in — cannot be changed here.","name":"Name","nameDescription":"Your display name across Kortix.","namePlaceholder":"Your name","save":"Save","organizations":{"title":"Organizations","description":"Members, billing, roles, and audit live in each organization's own settings.","fallbackAccountName":"Account","owner":"Owner","admin":"Admin","member":"Member","manage":"Manage"},"dangerZone":"Danger zone","deleteAccount":"Delete account","deletionUnavailable":"Account deletion isn't available on this deployment. Contact support to close your account.","scheduledForDeletionOn":"Scheduled for deletion on {date}.","scheduledForDeletion":"Scheduled for deletion.","cancelBeforeDeletion":"You can cancel any time before then.","deletionDescription":"This deletes every agent, thread, credential, and subscription tied to your account. This cannot be undone.","unavailable":"Unavailable","keepMyAccount":"Keep my account","deleteDialogTitle":"Delete your account?","immediateWarning":"This deletes your account right away. There is no grace period and no way to undo it.","gracePeriodWarning":"Your account is scheduled for deletion after a 30-day grace period, during which you can cancel.","whenDeleted":"When your account is deleted:","agentsDeleted":"Every agent you own is deleted","threadsDeleted":"Every thread and message is deleted","credentialsDeleted":"Every credential and secret is removed","subscriptionCancelled":"Your subscription is cancelled","billingHistoryRemoved":"Your billing history is removed","chooseWhen":"Choose when","gracePeriodLabel":"30-day grace period","gracePeriodDescription":"Deletion happens automatically after 30 days. Cancel any time before then.","immediateLabel":"Delete immediately","immediateDescription":"Your account and its data are deleted right away. This cannot be undone.","typeDeleteToConfirm":"Type \"delete\" to confirm","keepAccount":"Keep account","processing":"Processing…","keepAccountTitle":"Keep your account?","keepAccountDescription":"This cancels the scheduled deletion. Your account and its data stay exactly as they are.","toasts":{"nameUpdated":"Name updated","nameUpdateFailed":"Could not update name","userNotFound":"User not found","profilePictureUpdated":"Profile picture updated","profilePictureUploadFailed":"Could not upload profile picture","profilePictureRemoved":"Profile picture removed","profilePictureRemoveFailed":"Could not remove profile picture","chooseImageFile":"Please choose an image file","imageTooLarge":"Image must be smaller than 5MB"}},"security":{"twoFactorTitle":"Two-factor authentication","twoFactorDescription":"A second factor keeps your account safe even if your sign-in is compromised.","authenticatorApp":"Authenticator app","authenticatorDescription":"Add an authenticator app (TOTP) as a second factor.","sessionVerified":"Session verified","enrolled":"Enrolled","addAuthenticatorApp":"Add authenticator app","factorsLoadFailed":"Couldn’t load your authenticator apps","retry":"Retry","factorsUnchanged":"Your two-factor settings are unchanged — this is only the list failing to load.","noFactorEnrolled":"No second factor enrolled","noFactorDescription":"If your organization requires MFA, you’ll be blocked from gated actions until you enroll an authenticator here.","scanTitle":"Scan with your authenticator app","scanDescription":"Use 1Password, Google Authenticator, or any TOTP app — then enter the 6-digit code it shows.","qrAlt":"TOTP enrollment QR code","manualSecret":"Manual entry secret","sixDigitCode":"6-digit code","verifyAndEnable":"Verify and enable","cancel":"Cancel","removeFactorTitle":"Remove this factor?","removeFactorDescription":"If your organization requires MFA and this is your only verified factor, you will be locked out of gated actions until you enroll again.","removeFactor":"Remove factor","devices":"Devices","signOutOtherDevices":"Sign out other devices","signOutOtherDevicesDescription":"Ends every other session signed in as you. This browser stays signed in.","phone":"Phone","sms":"SMS","authenticatorTotp":"Authenticator app (TOTP)","verified":"verified","unverified":"unverified","signedOutOtherDevices":"Signed out of your other devices","signOutOtherDevicesFailed":"Could not sign out other devices"},"appearance":{"theme":"Theme","themeDescription":"Choose how Kortix looks on this device.","conversationDensity":"Conversation density","conversationDensityDescription":"How much detail the agent shows in the conversation while it works.","wallpaper":"Wallpaper","wallpaperDescription":"The background behind your project.","defaultWallpaper":"Default","themes":{"light":"Light","dark":"Dark","system":"System"},"densities":{"normal":{"label":"Normal","description":"Steps and thinking stream live while Kortix works."},"minimal":{"label":"Minimal","description":"One status line until you expand it."}},"wallpapers":{"dither":"Dither","brandmark":"Brandmark","nebula":"Pixel Beams","silk":"Silk","grain":"Grain","neuro":"Neuro","blank":"Blank"}},"sessions":{"notifications":"Notifications","notificationsDescription":"Browser notifications for what happens in your sessions.","unsupported":"Your browser does not support notifications.","enableNotifications":"Enable notifications","permissionGranted":"Browser permission granted","permissionDenied":"Blocked by browser — update in browser site settings","permissionDefault":"Will request browser permission when enabled","notificationTypes":"Notification types","behavior":"Behavior","sendTestNotification":"Send test notification","types":{"onCompletion":{"label":"Task completions","description":"When a session finishes its task"},"onError":{"label":"Errors","description":"When a session encounters an error"},"onQuestion":{"label":"Questions","description":"When Kortix needs your input to continue"},"onPermission":{"label":"Permission requests","description":"When Kortix needs permission to use a tool"}},"notificationBehavior":{"onlyWhenHidden":{"label":"Only when tab is hidden","description":"Only notify when you're on another tab"},"playSound":{"label":"Notification sound","description":"Play a sound when a notification is sent"}},"sounds":"Sounds","soundsDescription":"Sound pack played for session events.","soundPacks":{"off":{"label":"Off","description":"All sounds disabled"},"opencode":{"label":"Default","description":"Default sound pack"},"kortix":{"label":"Seshion Pack","description":"Whistlin'"}},"volume":"Volume","preview":"Preview","soundEvents":{"completion":{"label":"Task Completion","description":"When AI finishes a task"},"error":{"label":"Error","description":"When a session encounters an error"},"notification":{"label":"Notification","description":"Questions and permission requests"},"send":{"label":"Message Sent","description":"When you send a message"}},"testNotificationTitle":"Test Notification","testNotificationBody":"Notifications are working correctly!"},"git":{"updateFailed":"Failed to update repository","unreachable":"Kortix can't reach this repository","repository":"Repository","hostedOn":"Hosted on {provider}.","storedIn":"Stored in {provider}.","notLinked":"Not linked yet","status":"Status","statuses":{"connected":"Connected","attention":"Needs attention","connecting":"Connecting…","disconnected":"Not connected"},"baseBranch":"Base branch","baseBranchDescription":"New sessions and change requests start from this branch.","saving":"Saving…","manifestFile":"Manifest file","manifestDescription":"The file in your repository that tells Kortix how to run this project.","learnMore":"Learn more","localTitle":"Work on this locally","localDescription":"Put a copy of this project on your own computer and edit it in your own editor.","installTitle":"Install the Kortix command line","installHint":"A one-time setup on macOS or Linux. Skip this if you already have it.","installCommand":"Install command","cloneTitle":"Copy the project to your computer","cloneHint":"Downloads the code into a new folder and links that folder to this project.","cloneCommand":"Clone command","setupTitle":"Finish setup inside the new folder","setupHint":"Writes the local config, then fetches this project's secrets so the code can run.","setupCommand":"Setup command","secretsCommand":"Secrets command","ownClientTitle":"Use your own Git client","ownClientDescription":"Clone with plain <code>git</code> instead of the Kortix command line.","cloneAddressDescription":"Clone from this address with any Git client. Kortix signs the request for you, so there is no access token to create, paste, or keep on your machine.","cloneAddress":"Clone address","peopleTitle":"People with access","peopleManagedDescription":"Invite someone by their GitHub username. GitHub emails them an invite to accept.","peopleExternalDescription":"Who can read and write this project’s repository.","externalGithubDescription":"Kortix did not create this repository, so it cannot add collaborators to it. Manage access from the repository settings on GitHub.","externalProviderDescription":"This project’s repository is hosted on {provider}, which does not support collaborator invites from Kortix. Manage access where the repository lives.","manageOnGithub":"Manage on GitHub","alreadyHasAccess":"@{username} already has access to this repo","inviteSent":"Invite sent to @{username} — they accept it on GitHub to get access","inviteFailed":"Failed to add collaborator","githubUsername":"GitHub username","accessLevel":"Access level","canEdit":"Can edit","canView":"Can view","invite":"Invite","title":"Git repo","loadFailed":"Could not load this project's repository","retry":"Retry"},"workspace":{"updateFailed":"Failed to update project","iconUpdateFailed":"Failed to update project icon","icon":"Icon","iconDescription":"Shown next to the project name.","name":"Project name","nameDescription":"Shown in the project switcher and anywhere this project is listed.","saving":"Saving…","archived":"Project archived","archiveFailed":"Failed to archive project","loadFailed":"Failed to load project","retry":"Retry","dangerZone":"Danger zone","deleteWorkspace":"Delete project","deleteDescription":"Removes this project and everything inside it, for every member. This cannot be undone.","deleteTitle":"Delete project?","deleteDialog":"This deletes {name} for everyone with access to it. It cannot be undone.","consequencesTitle":"You immediately lose:","consequences":{"sessions":"Every session in this project, with its files, history, and outputs","automation":"All scheduled runs and triggers — they stop firing straight away","integrations":"Every connected integration, secret, and API key scoped to this project","access":"Access for everyone on the team — nobody can reach this project again"},"reassurance":"Your connected Git repository is not deleted. Any code already pushed to it stays where it is.","keepWorkspace":"Keep project"},"sandbox":{"states":{"ready":"Ready","pulling":"Pulling","building":"Building","removing":"Removing","error":"Error","buildFailed":"Build failed","notBuilt":"Not built yet","unknown":"Unknown"},"sources":{"platform":"Kortix platform","dashboard":"This dashboard"},"facts":{"processor":"Processor","memory":"Memory","storage":"Storage","baseImage":"Base image","builtFrom":"Built from","kortixDefault":"Kortix default","definedIn":"Defined in"},"routing":{"title":"Routing","automatic":"Automatic","pinned":"Pinned","pinnedWithProvider":"Pinned · {provider}"},"toasts":{"rebuildStarted":"Rebuild started for “{name}”","buildFailed":"Failed to start build","deleted":"Deleted “{name}”","deleteFailed":"Failed to delete template"},"actions":{"new":"New template","edit":"Edit template","delete":"Delete template","rebuild":"Rebuild"},"coverage":{"ready":"Ready","building":"Building","failed":"Failed","notReady":"Not ready","unavailable":"Unavailable","selected":"Selected","selectedAria":"selected"},"defaultBadge":"Default","runtime":"Session runtime","checked":"Checked {value}","deleteDialog":{"title":"Delete sandbox template “{name}”?","description":"This removes the template from the project. Sessions already using it are unaffected.","confirm":"Delete"},"provider":{"label":"Sandbox provider","experimental":"Experimental","description":"Pin this project to a specific sandbox provider, overriding the platform default. New sessions here run on the chosen provider — “Automatic” follows the platform default.","preparing":"Preparing {provider}… this can take a few minutes","fallback":"the sandbox provider","switched":"Switched to {provider}","switchFailed":"Sandbox provider switch failed","updateFailed":"Failed to update sandbox provider"},"loadFailed":"Failed to load sandbox templates:","retry":"Retry","descriptionStart":"Every session starts from a sandbox template — a prepared machine with your repository already checked out at","descriptionEnd":"The Kortix default works for most projects. Add your own below, or declare them as","configReadFailed":"Couldn’t read project sandbox config:","emptyTitle":"No templates resolved yet.","emptyDescription":"Create one, or add it to your project's manifest.","form":{"newTitle":"New sandbox template","editTitle":"Edit “{name}”","description":"Define a sandbox image sessions can boot from. Pick either a public Docker image or a Dockerfile in your repo. The Kortix runtime layer is added automatically.","name":"Name","namePlaceholder":"ML Development","slug":"Slug","imageSource":"Image source","publicImage":"Public image","example":"e.g.","pathInsideRepo":"Path inside this repo","image":"Image","specificTag":"Must include a specific tag, not","dockerfilePath":"Dockerfile path","relativeToRoot":"Relative to the repository root.","resources":"Resources","memory":"Memory (GiB)","disk":"Disk (GiB)","entrypoint":"Entrypoint","optional":"optional","entrypointPlaceholder":"Leave blank to use the Kortix default (recommended).","cancel":"Cancel","save":"Save changes","create":"Create template","errors":{"reservedSlug":"Slug “default” is reserved for the platform template.","invalidSlug":"Use lowercase letters, digits, dashes, or underscores (1–64 characters).","imageRequired":"Image reference required.","dockerfileRequired":"Dockerfile path required.","latestTag":"Pin a specific tag instead of “latest”."},"toasts":{"created":"Template created — build started","createFailed":"Failed to create template","updated":"Template updated — provider sync started","updateFailed":"Failed to update template"}}},"snapshots":{"categories":{"quota":{"label":"Snapshot quota reached","help":"This project has stored as many prepared machines as its plan allows. Delete a sandbox template you no longer use, or raise the limit, then build again."},"dockerfile":{"label":"Dockerfile build failed","help":"A command in this project’s Dockerfile returned an error. The log below ends on the command that failed."},"layer":{"label":"Kortix runtime layer failed","help":"The image built, but Kortix could not install its own tools on top of it. This is usually temporary — try building again."},"git":{"label":"Repository access failed","help":"Kortix could not read this project’s repository. Check that the repository connection is still authorised, then build again."},"tunnel":{"label":"Sandbox callback unreachable","help":"The new machine could not call back to Kortix while it was being set up. This is usually temporary — try building again."},"provider":{"label":"Sandbox provider error","help":"The company that runs the machine returned an error. Nothing is wrong with your project — try building again."},"timeout":{"label":"Build timed out","help":"Preparing the machine took longer than the time limit allows. Move slow steps out of the Dockerfile, or try again when the provider is less busy."},"runtime":{"label":"Runtime artifact missing","help":"The machine was prepared, but a file Kortix needs at start-up was missing from it. Build again; if it repeats, the template’s base image is the place to look."},"unknown":{"label":"Build failed","help":"The build stopped on an error Kortix could not classify. The full log is below."}},"sources":{"session-start":"Session start","project-create":"Project created","cr-merge":"Code review merge","manual":"Manual rebuild","background":"Background sync","startup":"Startup"},"statuses":{"ready":"ready","building":"building","failed":"failed"},"stale":{"superseded":"Didn’t finish, and a newer setup has replaced it","recovered":"Didn’t finish, but the environment is ready now","retrying":"Didn’t finish — a new attempt is running"},"outcomes":{"ready":"Ready for new sessions","building":"Being prepared now","blocked":"New sessions can’t start on this","failed":"Didn’t finish"},"facts":{"triggeredBy":"Triggered by","started":"Started","took":"Took","stillRunning":"Still running","runsOn":"Runs on","imageId":"Image ID","unknown":"Unknown"},"duration":{"underMinute":"under 1m","minutes":"{count}m","hours":"{count}h"},"environment":{"ready":{"title":"This project’s environment is ready","body":"New sessions start on the prepared machine right away. There is nothing to do on this page."},"building":{"title":"Preparing this project’s environment","body":"A new machine is being prepared. Sessions started now wait for it to finish — they don’t fail."},"notBuilt":{"title":"Nothing prepared yet","body":"Kortix prepares a machine the first time you start a session here. Nothing needs to be set up in advance."}},"banner":{"blockedTitle":"Sessions can’t start","degradedTitle":"Some sessions won’t start","blockedBody":"The machine this project boots from failed to build, and no working copy is available. Every new session retries it and hits the same error.","degradedBody":"The machine is ready on {ready} but failing on {failed}. Sessions routed there won’t start."},"actions":{"fix":"Fix with agent","rebuild":"Rebuild"},"faq":{"title":"How this works","items":{"1":{"question":"What is a snapshot?","answer":"A snapshot is a machine that has already been set up: this project’s repository, its dependencies, and the Kortix tools, all installed ahead of time. Starting a session copies that prepared machine instead of installing everything from scratch, which is why a session is ready in seconds rather than minutes."},"2":{"question":"Why do new rows keep appearing?","answer":"Kortix prepares a new machine whenever the recipe changes — a new sandbox template, an edited Dockerfile, or a merged change — and each attempt gets its own row. Older rows are kept as a record. They are history, not a list of things to deal with."},"3":{"question":"One of them failed. Is that a problem?","answer":"Usually not. A failed attempt only matters while no working machine is left, and when that happens a banner appears at the top of this page with a Rebuild button. A failed row with no banner above it has already been replaced by one that worked."}}},"view":{"loadFailed":"Failed to load sandbox snapshots:","retry":"Retry","logTitle":"Build log","logDescription":"One row for every time Kortix prepared a machine for this project. Open a row for the details.","empty":"No builds recorded yet. The platform default builds once globally; custom templates build on first use."}},"featureFlags":{"stability":{"experimental":"Experimental","beta":"Beta","stable":"Stable"},"origin":{"overridden":"Overridden for this project","defaultOn":"Default on","defaultOff":"Default off"},"search":"Search features","loadFailed":"Failed to load project","retry":"Retry","noMatches":"No matches for {query}.","emptyTitle":"No experimental features","emptyDescription":"This deployment exposes no per-project feature flags.","permission":"You need the project's customize-write permission to change a feature flag.","updateFailed":"Failed to update {key}","flags":{"marketplace":{"name":"Marketplace","description":"Browse and install skills from community and vendor registries. Sources, updates, and team scopes are still changing."},"agent_tunnel":{"name":"Agent Computer Tunnel","description":"Let agents securely access a local computer’s files, shell, and desktop through a permission-controlled tunnel."},"connectors_api_discover":{"name":"Connectors API Discover","description":"Browse direct API, MCP, GraphQL, CLI, and Postman integrations alongside optional OAuth apps."},"agentmail_email":{"name":"AgentMail Email","description":"Assign AgentMail inboxes so incoming email threads can start and continue Kortix sessions."},"teams":{"name":"Microsoft Teams","description":"Connect a Microsoft Teams bot so chats and channels can start and continue Kortix sessions."},"llm_gateway":{"name":"LLM Gateway","description":"Route this project through the managed Kortix LLM gateway for managed models, metering, and budgets."},"meta_agent":{"name":"Meta Agent","description":"Add a coordinator agent that manages specialized sessions and multi-step work across the project."},"apps":{"name":"Apps","description":"Deploy static sites, JavaScript bundles, Dockerfiles, and OCI images to stable serverless URLs."},"monitors":{"name":"Monitors","description":"Run persistent watchers that observe logs, feeds, or APIs and start agent sessions from events."},"warm_sessions":{"name":"Warm Sessions","description":"Keep one sandbox ready for instant session starts. The idle sandbox uses compute and a concurrent-session slot."},"secrets_egress":{"name":"Network-Enforced Secrets","description":"Control which tools and destinations can receive project secrets."},"session_transcript_history":{"name":"Session Transcript History","description":"Save chat history after each turn and show it while the session computer starts."},"pooled_provider_secrets":{"name":"Pooled Provider Secrets","description":"Members connect their own ChatGPT subscriptions and provider keys, share them when needed, and choose which ones each session uses."},"pi_worker":{"name":"Pi Worker Runtime (compiled)","description":"Run sessions with the experimental Pi worker runtime."},"pi_harness":{"name":"Pi Harness (in-sandbox)","description":"Run sessions on the pi harness inside the session sandbox instead of OpenCode. Off, `runtime: pi` in the manifest still selects pi."},"agent_principal":{"name":"Agents as Principals","description":"Agents act as themselves: their Kortix permissions, capped by their role. Whoever runs an agent adds only their own accounts."},"config_releases":{"name":"Config Releases","description":"Run sessions on the base branch's current agent config, served read-only, so a merged agent, skill, or tool reaches every running session. Off, a session reads its own workspace config folder."}}},"upgrades":{"available":"Available upgrades","readOnly":"Read-only — running an upgrade needs write access to this project.","none":"No upgrades available","upToDateDescription":"This project is already up to date.","upToDate":"Up to date","run":"Run","oneOff":"One-off upgrade","oneOffDescription":"Describe a single change instead. It runs the same way — a session makes it, validates it, and opens a change request.","oneOffPlaceholder":"e.g. Rename the release-bot agent to deploy-bot everywhere it's referenced","runUpgrade":"Run upgrade","manifestV2":{"title":"Migrate manifest to v2 (kortix.yaml)","description":"Converts the v1 kortix.toml into the governance-first kortix.yaml, refreshes platform-managed skills to the latest marketplace baseline, and opens a change request for review."}},"plan":{"managedByAdmin":"Managed by an account admin","adminOnly":"Only admins of this account can change its plan or buy credits.","openAccount":"Open account"},"credits":{"loadFailed":"Could not load this account.","availableBalance":"Available balance","creditCount":"{count, plural, one {{formatted} credit} other {{formatted} credits}}","owed":"owed","buckets":{"monthly":{"label":"Plan credits","hint":"Expire at period end"},"daily":{"label":"Daily credits","hint":"Refill on a timer"},"extra":{"label":"Purchased","hint":"Never expire"}},"includedInPlan":"Included in your plan","usedThisPeriod":"Used this period","planCreditsSpent":"Plan credits are spent. Purchased credits are used from here.","grantRemaining":"{count, plural, one {{formatted} credit left of this period's grant.} other {{formatted} credits left of this period's grant.}}","dailyAmountEvery":"+{credits} credits every {hours}h","dailyAmount":"+{credits} credits","countdown":{"anyMoment":"Any moment now","minutes":"in ~{minutes}m","hours":"in ~{hours}h","hoursMinutes":"in ~{hours}h {minutes}m"},"dailyCredits":"Daily credits","addCredits":"Add credits","spentThisPeriod":"Spent this period","compute":"Compute","total":"Total","history":"History","historyDescription":"What every session cost, and every credit added or spent.","openLedger":"Open ledger"},"tokens":{"keyRevoked":"API key revoked","revokeFailed":"Could not revoke API key","newKey":"New key","confirmIdentity":"Confirm your identity","verify":"Verify","mfaDescription":"Your account requires two-factor authentication before you can view API keys.","loadFailed":"Could not load API keys","retry":"Retry","emptyTitle":"No API keys yet","emptyCanCreate":"Create a key to use the CLI, scripts, or CI as yourself.","emptyNoPermission":"You do not have permission to create API keys in this account.","revokeKey":"Revoke key","status":{"active":"Active","expired":"Expired","revoked":"Revoked"},"neverUsed":"Never used","neverExpires":"Never expires","lastUsed":"Last used {time}","expiredAt":"Expired {time}","expiresAt":"Expires {time}","actionsFor":"Actions for {name}","serviceAccountTokens":"Looking for automation credentials? Manage service account tokens in <link>account settings</link>.","revokeTitle":"Revoke this API key?","revokeDescription":"{name} will stop working immediately. This action cannot be undone.","revoke":"Revoke","expiryNever":"Never","expiryOneYear":"1 year","expiryDays":"{count, plural, one {# day} other {# days}}","createFailed":"Could not create API key","copyNow":"Copy your API key now","copyDescription":"This is the only time <strong>{name}</strong> is shown. Store it somewhere secure.","keyCopied":"API key copied","done":"Done","createTitle":"Create API key","createDescription":"Create a personal key for the CLI, a script, or a CI job.","name":"Name","namePlaceholder":"For example, Laptop CLI","nameHint":"Use a name that identifies where you will use this key.","scope":"Scope","wholeWorkspace":"Whole project","oneProject":"One project","scopeHint":"A project-scoped key can access only the selected project.","expires":"Expires","expiryRequired":"This account requires API keys to expire.","cancel":"Cancel","createKey":"Create key"},"connected":{"checking":"Checking this account for a GitHub App installation.","connectedAs":"Connected as {name} — installed for this account, shared by every project.","unavailable":"GitHub status unavailable for this account.","install":"Install the GitHub App for this account so every project can import its repositories.","disconnect":"Disconnect","connect":"Connect","github":"GitHub","moreInstallations":"+{count, plural, one {# more installation} other {# more installations}} on this account — manage all","adminOnly":"Only an account owner or admin can connect GitHub for this account.","disconnectedToast":"GitHub disconnected","disconnectFailed":"Failed to disconnect GitHub"},"preferences":{"title":"Language & shortcuts","description":"Language and keyboard shortcuts.","languageTitle":"Language","languageDescription":"The language Kortix displays, everywhere in the app.","keyboardTitle":"Keyboard shortcuts","keyboardDescription":"The modifier key used for tab switching, and every shortcut in the app.","modifierKey":"Modifier key","shortcuts":{"newTab":"New tab","closeActiveTab":"Close active tab","reopenClosedTab":"Reopen closed tab","nextTab":"Next tab","previousTab":"Previous tab","nextTabAlt":"Next tab (alt)","previousTabAlt":"Previous tab (alt)","switchToTabRange":"Switch to tab 1-8","switchToLastTab":"Switch to last tab","newSession":"New session","commandPalette":"Command palette","switchWorkspace":"Switch project","settings":"Settings","toggleLeftSidebar":"Toggle left sidebar","toggleRightSidebar":"Toggle right sidebar","toggleSessionActionPanel":"Toggle session action panel"}},"general":{"title":"General settings","description":"Manage your account information","profilePicture":{"title":"Profile Picture","upload":"Upload avatar","hint":"JPG, PNG or GIF. Max 5MB.","invalidType":"Please select an image file","tooLarge":"Image must be less than 5MB","uploadFailed":"Failed to upload profile picture"},"name":"Name","email":"Email","namePlaceholder":"Enter your name","emailCannotChange":"Email cannot be changed from here","saveChanges":"Save Changes","profileUpdated":"Profile updated successfully","profileUpdateFailed":"Failed to update profile","language":{"title":"Language","description":"Choose your preferred language","current":"Current Language","select":"Select Language"},"accountSettings":{"title":"Account","description":"Manage billing, members, and organization settings","button":"Account Settings"},"deleteAccount":{"title":"Delete Account","description":"Permanently remove your account and all associated data","button":"Delete Account","scheduled":"Deletion Scheduled","scheduledDescription":"Your account will be permanently deleted on {date}.","canCancel":"You can cancel this request anytime before the deletion date.","cancelButton":"Cancel Deletion Request","dialogTitle":"Delete Account","warning":"This action cannot be undone after 30 days","whenDelete":"When you delete your account:","agentsDeleted":"All your workers and worker versions will be deleted","threadsDeleted":"All your threads and conversations will be deleted","credentialsRemoved":"All your credentials and connectors will be removed","subscriptionCancelled":"Your subscription will be cancelled","billingRemoved":"All billing data will be removed","scheduled30Days":"Your account will be scheduled for deletion in 30 days","gracePeriod":"You can cancel this request anytime within the 30-day grace period. After 30 days, all your data will be permanently deleted and cannot be recovered.","chooseDeletionType":"Choose deletion type:","gracePeriodOption":"30-Day Grace Period","gracePeriodDescription":"Your account will be scheduled for deletion in 30 days. You can cancel this request anytime within the grace period.","immediateOption":"Immediate Deletion","immediateDescription":"Your account and all data will be permanently deleted immediately. This action cannot be undone.","warningImmediate":"This action cannot be undone","warningGracePeriod":"This action cannot be undone after 30 days","confirmText":"Type delete to confirm","confirmPlaceholder":"delete","keepAccount":"Keep Account","cancelDeletionTitle":"Cancel Account Deletion","cancelDeletionDescription":"Are you sure you want to cancel the deletion of your account? Your account and all data will be preserved.","cancelDeletion":"Cancel Deletion"}},"referrals":{"title":"Referral Program","description":"Share your referral link with friends and earn credits when they sign up.","creditsPerReferral":"100 credits","youEarn":"You earn","friendGets":"Your friend gets","maxEarnable":"Maximum earnable through referrals:","maxCredits":"$100 in credits","yourReferralCode":"Your Referral Code","referralLink":"Referral Link","shareYourLink":"Share your referral link","yourStats":"Your Stats","enterCodeDescription":"Enter a referral code to earn credits","enterCode":"Enter code","refresh":"Refresh","copyCode":"Copy code","copyLink":"Copy link","share":"Share","stats":{"totalReferrals":"Total Referrals","successful":"Successful","creditsEarned":"Credits Earned"},"recentReferrals":"Recent Referrals","signupComplete":"Signup Complete","pending":"Pending","noReferrals":"No referrals yet. Share your referral link to get started!","copied":"Copied!","codeCopied":"Referral code copied to clipboard","linkCopied":"Referral link copied to clipboard","codeRefreshed":"Referral code refreshed successfully","refreshFailed":"Failed to refresh referral code","inviteByEmail":"Invite by Email","inviteByEmailDescription":"Add up to 3 email addresses (press Enter, Space, or Comma to add)","emailAddress":"Email address","emailPlaceholder":"Enter email addresses (press Enter, Space, or Comma)","emailsAdded":"emails","sent":"sent","send":"Send","sending":"Sending...","sendAllInvites":"Send All Invites","allSent":"All Sent","emailSent":"Referral invitation sent successfully"},"billing":{"title":"Billing & Subscription","description":"Manage your credits and subscription","totalCredits":"Total Available Credits","allCredits":"All credits","monthlyCredits":"Monthly Credits","renewalIn":"Renewal in {days} {days, plural, one {day} other {days}}","noRenewal":"No renewal scheduled","extraCredits":"Extra Credits","nonExpiring":"Non-expiring","renews":"Renews {date}","manageSubscription":"Manage Subscription","getAdditionalCredits":"Get Additional Credits","changePlan":"Change Plan","annualCommitment":"Annual Commitment","activeUntil":"Active until {date}","subscriptionCancelled":"Your subscription will be cancelled on {date}","reactivate":"Reactivate","creditsExplained":"Credits explained","cancelPlan":"Cancel Plan","reactivateSubscription":"Reactivate Subscription","reactivating":"Reactivating...","cancelDialogTitle":"Cancel Subscription","cancelDialogDescription":"Are you sure you want to cancel your subscription? You'll continue to have access until {date}.","keepSubscription":"Keep Subscription","cancelling":"Cancelling...","localMode":"Local Mode Active","localModeDescription":"Billing is disabled in this environment.","insufficientCredits":"Insufficient credits","insufficientCreditsMessage":"Billing check failed: Insufficient credits. Your balance is {balance}. Please add credits to continue.","creditsExhausted":"You ran out of credits. Upgrade now.","billingCheckFailed":"Billing check failed. Please upgrade to continue.","failedToStartAgent":"Failed to start worker {agentName}: {message}"},"usage":{"title":"Usage"},"connectors":{"opening":"Opening Connectors","redirecting":"Redirecting to Connectors page..."}},"triggers":{"getStarted":"Get started by adding a trigger","getStartedDescription":"Schedule a trigger to automate actions and get reminders when they complete.","search":"Search","scheduledTrigger":"Scheduled Trigger","eventBasedTrigger":"Event-based Trigger","chooseAgent":"Choose Worker","schedule":"Schedule","agentInstructions":"Worker Instructions","agentInstructionsDescription":"Custom prompt for the Worker","assignedAgent":"Assigned Worker","unknownAgent":"Unknown Worker","technicalDetails":"Technical Details","type":"Type","provider":"Provider","created":"Created","lastUpdated":"Last Updated","enable":"Enable","disable":"Disable","deleteTask":"Delete Task","deleteTaskDescription":"Are you sure you want to delete \"{name}\"? This action cannot be undone and will stop all automated runs from this task.","taskEnabled":"Task enabled","taskDisabled":"Task disabled","toggleTaskFailed":"Failed to toggle task","taskDeletedSuccess":"Task deleted successfully","deleteTaskFailed":"Failed to delete task","taskUpdatedSuccess":"Task updated successfully","updateTaskFailed":"Failed to update task","pleaseSelectAgent":"Please select a Worker","defaultScheduledTriggerName":"Scheduled Trigger","defaultScheduledTriggerDescription":"Automatically scheduled trigger","scheduleTriggerUpdated":"Schedule trigger updated successfully","scheduleTriggerCreated":"Schedule trigger created successfully","upgradeForMoreScheduledTriggers":"Upgrade to create more scheduled triggers","upgradeForMoreAppTriggers":"Upgrade to create more app-based triggers","updateScheduleTriggerFailed":"Failed to update schedule trigger","createScheduleTriggerFailed":"Failed to create schedule trigger","editScheduledTask":"Edit Scheduled Task","createScheduledTask":"Create Scheduled Task","editAppBasedTask":"Edit App-based Task","createAppBasedTask":"Create App-based Task","updateAgentForTask":"Update the worker for this task","selectAgentForTask":"First, select which worker should handle this task","createNew":"Create new","notConfigured":"Not configured","every15Minutes":"Every 15 minutes","every30Minutes":"Every 30 minutes","everyHour":"Every hour","dailyAt9AM":"Daily at 9 AM","weekdaysAt9AM":"Weekdays at 9 AM","weeklyOnMonday":"Weekly on Monday","monthlyOn1st":"Monthly on 1st"},"sidebar":{"referAndEarn":"Refer & Earn","referralShareTitle":"Refer Friends","referralShareSubtitle":"Get 400 credits","new":"New","upgrade":"Upgrade","chats":"Chats","library":"Files","triggers":"Triggers","newChat":"New Chat","newAgent":"New Worker","settings":"Settings","logout":"Log out","openMenu":"Open menu","expandSidebar":"Expand sidebar (CMD+B)","searchChats":"Search chats","searchChatsPlaceholder":"Search chats...","allTriggers":"All Triggers","addWorkers":"Add Workers","addTrigger":"Add Trigger","triggerConfig":"Trigger Config","scheduledTrigger":"Scheduled Trigger","scheduledTriggerDescription":"Schedule a trigger to run at a specific time","eventBasedTrigger":"Event-based Trigger","eventBasedTriggerDescription":"Make a trigger to run when an event occurs","noChatsFound":"No chats found","noConversations":"No chats yet","search":"Search","searchPlaceholder":"Search...","searchResults":"Search Results","recent":"Recent","personalAccount":"Personal Account","workspaces":"Projects","servers":"Servers","searchServers":"Search servers...","addServer":"Add Server","noServersFound":"No servers found","theme":"Theme","connectors":"Connectors","billing":"Billing","usage":"Usage","adminPanel":"Admin Panel","apiKeys":"API Keys","envManager":"Env Manager","advanced":"Advanced","plan":"Plan","conversation":"Conversation","conversations":"Conversations","startNewChat":"Start a new chat","openInNewTab":"Open in new tab","delete":"Delete","deleting":"Deleting","allThreadsLoaded":"All threads loaded","myWorkforce":"My Workforce","addTeam":"Add Team","selectAll":"Select all","deselectAll":"Deselect all","selectAllConversations":"Select all conversations","deselectAllConversations":"Deselect all conversations","loadMore":"Load more","remaining":"remaining","newSession":"New session","collapse":"Collapse sidebar","pin":"Pin sidebar","resize":"Resize sidebar","resizeHelp":"Drag to resize — double-click to reset","customize":"Customize","sessions":"Sessions","sessionViewOptions":"Session view options","sectionOptions":"Section options","allSectionsHidden":"All sections are hidden.","metaCoordinator":"Meta coordinator","files":"Files","retry":"Try again","review":"Review","connectGpt":"Connect GPT subscription","upgradePlan":"Upgrade plan","sessionList":{"loadError":"Failed to load sessions","empty":"No sessions yet","noMatches":"No sessions match the active filters.","actions":"Session actions","actionsFor":"Actions for {title}","reviewCount":"Awaiting your review: {count}","brief":{"status":"Status","created":"Created","source":"Source","changeRequests":"Change requests","noChangeRequests":"No change requests","changeRequestsLoading":"Loading change requests","changeRequestsUnavailable":"Change requests unavailable","changeRequestStatus":{"open":"Pending","merged":"Merged","closed":"Closed"}},"status":{"needsYou":"Needs you","starting":"Starting","running":"Running","done":"Done","stopped":"Stopped","failed":"Failed","legacy":"Legacy"}},"workspace":{"switch":"Switch project","switchMenu":"Switch Project","create":"Create a project…","createAccount":"Create an account…","settings":"Settings","downloadApp":"Download app","logOut":"Log out","find":"Find a project…","accountSettings":"Account settings","noMatches":"No matching projects","empty":"No projects yet","account":"Account","loadError":"Failed to load projects","createIn":"Create a project in {account}"},"manifestUpgrade":{"title":"Upgrade to v2","description":"This project still runs <toml>kortix.toml</toml>. An agent converts it to <yaml>kortix.yaml</yaml>, refreshes managed skills, and opens a change request. Nothing changes until you approve it.","start":"Start upgrade"},"filter":{"grouping":"Grouping","ordering":"Ordering","show":"Show","filters":"Filters","reset":"Reset","status":"Status","source":"Source","collapseAll":"Collapse all","group":{"status":"Status","activity":"Activity","source":"Source","none":"None","owner":"Owner"},"order":{"activity":"Last activity","created":"Date created","name":"Name"},"section":{"needsYou":"Needs you","running":"Running","recent":"Recent","today":"Today","yesterday":"Yesterday","week":"This week","older":"Older","chat":"Chat","slack":"Slack","telegram":"Telegram","teams":"Teams","email":"Email","scheduled":"Scheduled","webhook":"Webhook","all":"All"},"statusValue":{"running":"Running","done":"Done","stopped":"Stopped","failed":"Failed","legacy":"Legacy"},"sourceValue":{"mine":"My chats","shared":"Shared"},"owner":"Owner","access":"Access","ownerValue":{"you":"You","unknown":"Unknown owner"},"accessValue":{"private":"Only the owner","restricted":"Specific people","project":"Whole project"},"ownerAccess":"{owner} · {access}"},"loadingMore":"Loading…","loadMoreSessions":"Load more sessions"},"dashboard":{"title":"Dashboard","welcome":"Welcome","whatWouldYouLike":"What do you want to get done?","describeWhatYouNeed":"Describe what you need help with...","usageLimits":"Usage Limits","threads":"Threads","customWorkers":"Custom Workers","scheduledTriggers":"Scheduled Triggers","appTriggers":"App Triggers","limitsExceeded":"You've reached your chat limit. Upgrade your plan to create more chats.","modeSubtitle":"Choose a mode to get started with templates and examples","agentInitiatedSuccessfully":"Worker initiated successfully","aiAssistantReady":"Your AI assistant is ready to help","greetings":{"morning":["Good morning! What's on the agenda?","Rise and shine! What are we building?","Morning! Ready to be productive?"],"afternoon":["Good afternoon! What can I help with?","Hope your day's going well! What's next?"],"evening":["Good evening! Burning the midnight oil?","Evening! What are we working on tonight?","Good evening! Let's get things done."],"random":["Guess who's back, back again","Ahoy! What can Kortix do for you?","What do you want to get done?","Let's build something awesome","Ready when you are!","What's cooking?","At your service! What's the mission?","Let's make some magic happen","What challenge shall we tackle?","Your wish is my command","What's the plan, Stan?","Buckle up! Where are we headed?","Another day, another build","What's on your mind?","Let's get this show on the road"]}},"thread":{"connectors":"Connectors","connect":"Connect","seeAllConnectors":"+ See all connectors","connectConnectors":"Connect connectors","adaptive":"Adaptive","adaptiveDescription":"Quick responses with smart context switching","autonomous":"Autonomous","autonomousDescription":"Deep work mode for multi-step problem solving","chat":"Chat","chatDescription":"Simple back-and-forth conversation","sampleAnswers":"Sample answers","samplePrompts":"Sample prompts","waitingForUserResponse":"Kortix will proceed to work autonomously after you answer.","taskCompleted":"Task completed","uploadingFiles":"Uploading {count} file{plural}...","uploadingFilesOne":"Uploading {count} file...","uploadingFilesMany":"Uploading {count} files...","scrollToBottom":"Scroll to bottom","tools":"Tools","instructions":"Instructions","triggers":"Triggers","agents":"Workers","superWorker":"Super Worker","searchWorkers":"Search workers...","myWorkers":"My Workers","running":"Running","minimizeToFloatingPreview":"Minimize to floating preview","close":"Close","noActionsYet":"Kortix Computer","workerActionsDescription":"Starting","emptyActionsDescription":"Worker actions will appear here","toolIsRunning":"Tool is running","toolCurrentlyExecuting":"{toolName} is currently executing. Results will appear here when complete.","thinkingTitle":"Thinking","thinkingDescription":"Preparing to execute actions...","rateThisResult":"Rate this result","feedbackHelpsImprove":"Your feedback helps us improve","additionalFeedbackOptional":"Additional feedback (optional)","helpKortixImprove":"Help Kortix improve with the feedback","submit":"Submit","submitting":"Submitting...","feedbackSubmittedSuccess":"Feedback submitted successfully","feedbackSubmitFailed":"Failed to submit feedback"},"sessionPage":{"backToProject":"Back to project","delete":"Delete session","failedLabel":"Failed session","loadingConversation":"Loading conversation","prompt":{"queueFailed":"Could not queue the saved prompt","unavailable":"No saved prompt is available.","copied":"Prompt copied","copyFailed":"Could not copy the prompt."},"missing":{"title":"Couldn't start session","message":"This session is no longer available, or you do not have access to it."},"legacy":{"title":"Legacy session","message":"This conversation was imported from Suna. Restore the session to load its chat history — its files are already in the project under legacy/.","restore":"Restore session","restoring":"Restoring…"},"stopped":{"title":"This session is stopped","message":"Its computer was released. Restart the session to bring it back."},"previousRepository":{"title":"This session is out of date","message":"The project changed after this session started. Update it to keep working on the latest version.","update":"Update to latest","updating":"Updating…","dismiss":"Dismiss","updateHint":"Asks the agent to update this session","updateSent":"Update started in this session","updateFailed":"Could not send the update prompt."},"lost":{"title":"This session's computer was lost","message":"Its cloud sandbox disappeared on the provider side, so this session cannot be restarted or recovered. This is a fault on our end, not something you did — it has been reported automatically. Anything committed and pushed from this session is safe in your project's repository."},"restart":{"label":"Restart session","pending":"Restarting…"}},"modelSelector":{"search":"Search models","free":"Free","included":"Included","addProvider":"Add provider","connectProvider":"Connect provider","manageModels":"Manage models","loading":"Loading models","yourDefault":"Account default","defaultAria":"{model} is the default model for this account","setDefaultAria":"Set {model} as the account’s default model","defaultTitle":"Account default model","setDefaultTitle":"Set as the account’s default model","upgrade":"Upgrade","noMatch":{"title":"No models match","description":"Nothing matches “{search}”. Try a different search.","clear":"Clear search"},"empty":{"title":"No models available","description":"Connect your own provider to start using this session.","upgradeDescription":"Upgrade or connect your own provider to start using this session."}},"sessionScope":{"resetDefault":"Reset to default","secrets":{"unavailableTitle":"Secret access is unavailable","unavailableDescription":"The current secret selection stays unchanged.","useProjectDefault":"Use the project default","empty":"No secrets are available for this agent."},"connectors":{"unavailableTitle":"Connector access is unavailable","unavailableDescription":"The current connector selection stays unchanged.","empty":"No connectors are available for this agent.","private":"Private","project":"Project","required":"Required — connect to continue","notConnected":"Not connected","connectBeforeReply":"Nothing is connected to {connector} yet. This session will ask you to connect it before its next reply.","connectionAria":"Connection for {connector}","currentConnection":"Current connection","default":"Default"}},"sessionUi":{"modelGate":{"title":"Connect a model to start chatting","description":"This session needs an LLM connected before it can respond. Bring your own API key from any provider.","upgradeDescription":"This session needs an LLM connected before it can respond. Upgrade for instant access to Kortix's managed models, or bring your own API key from any provider.","upgrade":"Upgrade","bringKey":"Bring your own key","barTitle":"No model connected","barDescription":"connect one to start chatting","connectModel":"Connect model","imagesUnsupported":"{model} can’t read images","imagesUnsupportedHint":"remove them or pick another model"},"providerRecovery":{"savedPrompt":"Saved prompt","noText":"No text prompt was attached.","attachments":"{count, plural, one {Attachment} other {Attachments}}","reattach":"Reattach these files after a reload.","unavailable":"No saved prompt is available.","retrying":"Retrying…","retry":"Retry","copy":"Copy prompt","delete":"Delete"},"connectorRequired":{"title":"Connect {connectors} to continue","description":"{count, plural, one {This session needs {connectors}, and nothing is connected to it yet. Nothing has run and nothing was charged — connect the account and your message is sent again.} other {This session needs {connectors}, and nothing is connected to them yet. Nothing has run and nothing was charged — connect the accounts and your message is sent again.}}","connectOne":"Connect {connector}","connectMany":"Connect accounts","privateDescription":"{count, plural, one {{connectors} authorizes one account at a time, so it has to be connected by the account this session runs as.} other {{connectors} authorize one account at a time, so they have to be connected by the account this session runs as.}}"},"composerMenus":{"noMatches":"No matches","mentionSuggestions":"Mention suggestions","searching":"Searching…","noCommandMatch":"No matching command, file, or action","commandsAndActions":"Commands and actions","toUse":"to use","use":"Use"}},"agents":{"title":"Workers","create":"Create Worker","createNewWorker":"Create New Worker","edit":"Edit Worker","delete":"Delete Worker","name":"Name","description":"Description","model":"Model","systemPrompt":"System Prompt","systemPromptPlaceholder":"Define how your Worker should behave...","customizeIcon":"Click to customize Worker icon"},"home":{"heroPlaceholder":"Describe the task you want your Worker to complete..."},"showcase":{"title":"Kortix: Your Autonomous AI Worker","subtitle":"Built for complex tasks, designed for everything. The ultimate AI assistant that handles it all—from simple requests to mega-complex projects.","tryItOut":"Try it out","kortixComputer":"Kortix Computer","running":"Running","workers":{"images":{"title":"Images","description":"Create images on demand. From product shots to social graphics to full illustrations. Adjusts style, lighting, colors, and layout, or refines existing visuals with quick edits and touch-ups.","capabilities":{"0":"Generate product shots","1":"Create social graphics","2":"Make illustrations","3":"Style & lighting variations","4":"Logo / asset creation","5":"+ Much more"},"imageAlt":"Growth Isn't Linear graphic example","fileType":"image"},"slides":{"title":"Slides","description":"Create stunning presentations instantly. From pitch decks to reports to training materials. Adjusts themes, layouts, content structure, or refines existing decks with quick edits and updates.","capabilities":{"0":"Pitch decks","1":"Training material","2":"Report presentations","3":"Theme & layout variations","4":"Content restructuring","5":"+ Much more"},"imageAlt":"Nexus Enterprise Automation Platform slide example","fileType":"PPTX"},"data":{"title":"Data","description":"Transforms raw data into insights. From spreadsheets to dashboards to visualizations. Cleans datasets, creates charts, builds reports, or refines existing analyses with quick updates.","capabilities":{"0":"Dashboards","1":"Visualizations","2":"Data reports","3":"Clean & organize data","4":"Generate insights","5":"+ Much more"},"imageAlt":"Financial Model Dashboard example","fileType":"Preview"},"docs":{"title":"Docs","description":"Writes and edits documents effortlessly. From proposals to guides to content pieces. Adjusts tone, structure, formatting, or refines existing documents with quick rewrites and polish.","capabilities":{"0":"Proposals","1":"Guides & manuals","2":"Content pieces","3":"Tone & style variations","4":"Format & restructure","5":"+ Much more"},"imageAlt":"Q3 2025 Executive Summary Report example","fileType":"PDF"},"research":{"title":"Research","description":"Researches topics comprehensively. From market trends to competitive analysis to deep dives. Gathers sources, synthesizes findings, or refines existing research with quick updates.","capabilities":{"0":"Analyze market trends","1":"Competitive research","2":"Deep topic dives","3":"Gather sources","4":"Synthesize findings","5":"+ Much more"},"imageAlt":"Detailed Competitor Profiles research example","fileType":"PDF"}}},"threads":{"title":"Threads","newThread":"New Thread","sendMessage":"Send message","queueList":"Queue List","quoteCount":"{count, plural, one {# Quote} other {# Quotes}}","expandQuotes":"Expand quotes","collapseQuotes":"Collapse quotes","stopUnconfirmed":"Could not confirm Stop. The agent may still be running. Try Stop again.","queued":"Queued","queuedFiles":"{count, plural, one {# file} other {# files}}","placeholder":"Type your message...","messageInput":"Message input","attachFiles":"Attach files","selectAgent":"Select agent","noModel":"No model","thinkingEffort":"Thinking effort","sessionOverrides":"Session overrides","auto":"Auto","sending":"Sending","stop":"Stop","startingSession":"Starting session…","sessionStarted":"Session started","failedToStartSession":"Failed to start session","hintSkills":"Type / for skills, commands, and files","hintMentions":"Type @ to mention files and agents","hintWorkspaceFile":"Ask about any file in your project","hintCommandPalette":"Press {modifier}K to open the command palette","hintSwitchAgents":"Press Tab to switch agents","hintAttachFiles":"Drag and drop files to attach them","hintChanged":"Ask what's changed in your project","hintNewLine":"Press Shift+Enter for a new line","hintSettings":"Press {modifier}, to open settings","hintCompact":"Ask to compact the session when it gets long"},"billing":{"plan":{"teamSeats":"{count, plural, one {Team · # seat} other {Team · # seats}}","cancels":"Cancels {date}","cancelsAtPeriodEnd":"Cancels at period end","renews":"Renews {date}","active":"Active","noSubscription":"No subscription","status":"{status}","seats":"Seats","perSeat":"Per seat","monthlyTotal":"Monthly total","perMonth":"{amount}/mo","currentPlan":"Current plan","statuses":{"none":"No subscription","past_due":"Past due","unpaid":"Unpaid","canceled":"Canceled","incomplete":"Incomplete","incomplete_expired":"Incomplete expired","trialing":"Trial","paused":"Paused"},"loadFailed":"Failed to load subscription data","teamTitle":"Kortix Team","teamDescription":"Subscribe to put every teammate on one shared plan.","subscribe":"Subscribe to Team","manageBilling":"Manage billing","outOfCredits":"You ran out of credits","buyCreditsHint":"Buy credits below or turn on auto top-up so it never happens again.","topupWalletHint":"Top up your wallet to keep your agents running.","addCredits":"Add credits","billingPortal":"Billing portal","portalDescription":"Manage your subscription, payment methods, and invoices."},"topup":{"minimum":"Minimum top-up is {amount}.","contactSales":"For more than {amount}, contact sales.","creditHint":"{credits} credits · added as soon as you pay.","noExpiry":"Credits never expire. $1 = 100 credits.","processing":"Processing","addAmount":"Add {amount}","addCredits":"Add credits","noCheckoutUrl":"No checkout URL received","checkoutFailed":"Failed to create checkout session","amountGroup":"Top-up amount","customAmount":"Custom amount in dollars","custom":"Custom"},"autoTopup":{"bufferError":"Reload amount must be at least {buffer} above the threshold — enter {minimum} or more.","addPaymentFirst":"Add a payment method before turning on auto top-up.","saved":"Auto top-up saved","updateFailed":"Failed to update auto top-up","retry":"Retry","settingsLoadFailed":"Could not load your current settings. Showing defaults.","title":"Auto top-up","enabledDescription":"Your card is charged only when the balance drops below the limit.","disabledDescription":"Agents pause when the balance reaches zero.","add":"Add","amountLabel":"Top-up amount in dollars","whenBelow":"when the balance drops below","thresholdLabel":"Top-up threshold in dollars","save":"Save","paymentNeeded":"Add a payment method for auto top-up to run."},"title":"Billing & Subscription","subscription":"Subscription","credits":"Credits","popular":"Popular","creditsExplained":"Credits explained","creditsExhausted":"+100 Credits in {time}. Upgrade to use now.","creditsExhaustedRefreshIn":"You've exhausted your credits. They will refresh in {time}","trialActive":"Trial Active","trialBadge":"7-Day Trial","currentPlan":"Current Plan","currentBadge":"Current","scheduled":"Scheduled","scheduledBadge":"Scheduled","loading":"Loading...","subscriptionChangeScheduled":"Subscription change scheduled","planWillChangeOn":"Your plan will change on {date}.","failedToInitiateSubscription":"Failed to initiate subscription. Please try again.","subscriptionUpgraded":"Subscription upgraded from {currentPrice} to {newPrice}","subscriptionUpdated":"Subscription updated successfully","cannotDowngradeDuringCommitment":"Cannot downgrade during commitment period","alreadyOnThisPlan":"You are already on this plan.","localModeMessage":"Running in local development mode - billing features are disabled","holidayPromo":{"badge":"Holiday special","countdown":"Ends in {time}","discount":"50% off your first 3 months","window":"Valid December 24–25","headerLine":"Use code {code} for {discount}","description":"Use code {code} at checkout for {discount}. {window}","copyCode":"Copy code","copied":"Copied","codeCopied":"{code} copied","copyFailed":"Unable to copy promo code"},"creditsExplainedPage":{"title":"Credits Explained","subtitle":"Everything you need to know about how credits work on Kortix","understandingCredits":{"title":"Understanding Credits","description":"Credits serve as Kortix's universal currency for platform operations. Every action your AI workers perform—from analyzing data to generating code—consumes credits based on the task's complexity and the resources required."},"howCreditsWork":{"title":"How Credits Work","description":"Credits are consumed based on the resources your AI workers use:","aiModelUsage":{"title":"AI Model Usage","description":"The primary driver of credit consumption","content":"Different AI models have different costs based on their capabilities and token usage. Credits are consumed for input tokens (your prompts and context), output tokens (Worker responses), and vary by model tier (Claude, GPT, etc.)."},"pricingModel":{"title":"Pricing","description":"Platform rates vary by service type","content":"We apply a markup on top of provider costs to cover platform infrastructure, security, and ongoing development. AI models have a 20% markup, tool usage (web search, scraping, etc.) has a 50% markup, image search has a 100% markup, and if you use your own API key, a flat 10% platform fee applies instead."}},"gettingMoreCredits":{"title":"Getting More Credits","description":"There are several ways to obtain credits in Kortix:","monthlySubscription":{"title":"Monthly Subscription Credits","description":"Included with your paid plan and renewed automatically each month. These are expiring credits."},"topUpCredits":{"title":"Top-Up Credits","description":"Purchase additional credits when you need them. These are non-expiring and available to premium members."},"promotionalGrants":{"title":"Promotional & Event Grants","description":"Bonus credits from special events, promotions, or referrals. These are non-expiring."},"refunds":{"title":"Refunds","description":"Credits returned due to technical issues or failed tasks. These are non-expiring."}},"typesOfCredits":{"title":"Types of Credits","description":"Kortix uses two types of credits to give you flexibility in how you manage your usage:","expiringCredits":{"title":"Expiring Credits","description":"Monthly subscription credits","content":"These credits are included with your paid subscription and are renewed automatically each month on your subscription date. They expire at the end of each billing cycle and are always consumed first before any non-expiring credits."},"nonExpiringCredits":{"title":"Non-Expiring Credits","description":"Permanent credits that never expire","content":"These credits never expire and carry over month to month. They include top-up purchases, refunds, and promotional grants. Non-expiring credits are only used after your expiring credits have been depleted."},"creditPriority":{"title":"Credit Priority:","description":"When you use Kortix, expiring credits are consumed first. Only after your expiring credits run out will non-expiring credits be used."}}},"close":"Close","cancelScheduledChange":"Cancel Scheduled Change","threadUsage":"Thread Usage","error":"Error","totalUsage":"Total Usage","usage":"Usage","thread":"Thread","lastUsed":"Last Used","creditsUsed":"Credits Used","creditTransactions":"Credit Transactions","loadingTransactionHistory":"Loading your transaction history...","monthly":"Monthly","yearly":"Yearly","discount":"15% off","perMonth":"/month","billedYearly":"billed yearly","downgradePending":"Downgrade Pending","downgrade":"Downgrade","switchToLegacyYearly":"Switch to Legacy Yearly","confirmDowngradeTitle":"Are you sure you want to downgrade?","confirmDowngradeDescription":"You're about to downgrade to {planName}. This change will take effect at the end of your current billing period.","confirmDowngrade":"Yes, Downgrade","pickPlan":"Pick the plan that works for you.","limitReachedUpgrade":"Limit reached. Upgrade to continue.","creditsExhaustedTitle":"Credits exhausted. Upgrade to continue.","chatLimitReached":"Chat limit reached. Upgrade for unlimited chats.","concurrentRunLimit":"Concurrent run limit reached. Upgrade for more parallel runs.","reachedLimit":"You've reached your limits.","projectLimit":"Project Limit ({current}/{limit})","threadLimit":"Thread Limit ({current}/{limit})","workerLimit":"Worker Limit ({current}/{limit})","triggerLimit":"Trigger Limit ({current}/{limit})","getAdditionalCredits":"Get Additional Credits","selectPlan":"Select Plan","changeScheduled":"Change Scheduled","notAvailable":"Not Available","features":{"creditsPerMonth":"{count} credits/month","customWorker":"{count} custom Worker","customWorkers":"{count} custom workers","privateProject":"{count} private project","privateProjects":"Private projects","customTrigger":"{count} custom trigger","connectors":"100+ connectors","premiumAIModels":"Premium AI Models","prioritySupport":"Priority Support"},"downgradeDialog":{"confirmTitle":"Confirm plan change","confirmSubtitle":"We're sorry to see you go","confirmDescription":"You're about to switch to the {planName} plan. This change will take effect at the end of your current billing period. You'll keep your current benefits until then.","continue":"Continue","keepCurrentPlan":"Keep my current plan","feedbackTitle":"Help us improve","feedbackSubtitle":"Your feedback shapes the future of Kortix","whatWouldMakeYouStay":"What would make you stay?","feedbackPlaceholder":"If there was one thing we could change or add that would make Kortix worth it for you, what would it be?","feedbackFooter":"Our team reads every response. Your words directly influence what we build next.","confirmDowngrade":"Confirm downgrade","processing":"Processing...","pleaseSelectReason":"Please select a reason","reasons":{"tooExpensive":"It's too expensive for my needs","notUsingOften":"I'm not using Kortix enough","foundAlternative":"I found another solution","technicalIssues":"I experienced technical issues","resultsNotGood":"The results didn't meet my expectations","other":"Other reason"}}},"auth":{"haveReferralCode":"Have a referral code?","referralCode":"Referral Code","enterCode":"Enter code","logIntoAccount":"Log into your account","createAccount":"Create account","signInOrCreateAccount":"Sign in or create your Kortix account","continueWithGoogle":"Continue with Google","continueWithGitHub":"Continue with GitHub","orEmail":"or email","emailAddress":"Email address","password":"Password","confirmPassword":"Confirm your password","signIn":"Sign in","signUp":"Sign up","signingIn":"Signing in...","creatingAccount":"Creating account...","forgotPassword":"Forgot password?","dontHaveAccount":"Don't have an account?","alreadyHaveAccount":"Already have an account?","acceptPrivacyTerms":"I accept the <privacyPolicy>Privacy Policy</privacyPolicy> and <termsOfService>Terms of Service</termsOfService>","privacyPolicy":"Privacy Policy","termsOfService":"Terms of Service","checkYourEmail":"Check your email","confirmationLinkSent":"We sent a reset link to","clickLinkToActivate":"Click the link in the email to activate your account. If you don't see the email, check your spam folder.","returnToHome":"Return to home","backToSignIn":"Back to sign in","resetPassword":"Reset password","resetPasswordDescription":"Enter your email and we'll send you a reset link","sendResetLink":"Send link","cancel":"Cancel","pleaseEnterValidEmail":"Please enter a valid email address","signInFailed":"Sign in failed. Check your credentials.","signUpFailed":"Sign up failed. Please try again.","sendMagicLink":"Send magic link","sending":"Sending...","magicLinkSent":"We sent a magic link to","magicLinkDescription":"Click the link in your email to sign in. The link will expire in 1 hour.","magicLinkExplanation":"We'll send you a secure link to sign in. No password needed.","magicLinkExpired":"This link has expired","magicLinkExpiredDescription":"The magic link you clicked has expired. Magic links expire after 1 hour for security reasons.","resendMagicLink":"Resend magic link","resending":"Resending...","byContinuingYouAgree":"By continuing, you agree to our <privacyPolicy>Privacy Policy</privacyPolicy> and <termsOfService>Terms of Service</termsOfService>","openProvider":"Open {provider}","didntReceiveEmail":"Didn't receive the email?","resend":"Resend","alreadySignedIn":"You're already signed in. No action needed.","goToDashboard":"Go to Dashboard","signInToContinue":"Sign in to continue","signInOrCreateAccountToTalk":"Sign in or create an account to talk with Kortix","orContinueWithEmail":"or continue with email","signInWithEmail":"Sign in with email","createNewAccount":"Create new account","byContinuingYouAgreeSimple":"By continuing, you agree to our","phoneVerification":{"title":"Verify Your Phone Number","titleOtp":"Enter Verification Code","description":"Secure your account with two-factor authentication","descriptionOtp":"We sent a code to your phone number","phoneNumber":"Phone Number","verificationCode":"Verification Code","enterSixDigitCode":"Enter 6-digit code","phoneNumberPlaceholder":"Enter your phone number","sendVerificationCode":"Send Verification Code","sendingCode":"Sending code...","verifyCode":"Verify Code","verifying":"Verifying...","resendCode":"Resend code","resendInSeconds":"Resend in {seconds}s","removePhoneNumber":"Remove Phone Number","codeSentTo":"Verification code sent to","sixDigitCodeHint":"We'll send you a 6-digit verification code via SMS","pleaseEnterPhoneNumber":"Please enter a phone number","pleaseEnterValidPhoneNumber":"Please enter a valid phone number","pleaseEnterSixDigitCode":"Please enter a 6-digit code","verificationCodeSent":"Verification code sent to your phone","newVerificationCodeSent":"New verification code sent","phoneNumberVerified":"Phone number verified successfully!","phoneNumberRemoved":"Phone number removed. You can now add a new one.","signOut":"Sign out","signingOut":"Signing out...","sending":"Sending..."},"unified":{"welcome":"Welcome to Kortix","tagline":"Your AI Command Center","email":"Email","emailPlaceholder":"Your email address","password":"Password","showPassword":"Show password","hidePassword":"Hide password","changeEmail":"Change email","edit":"Edit","continue":"Continue","sending":"Sending…","oneMoment":"One moment…","useDifferentEmail":"Use a different email","usePasswordInstead":"Use a password instead","emailCodeInstead":"Email me a code instead","forgotPassword":"Forgot your password?","automaticAccount":"New here? Continue creates your account automatically.","sso":{"title":"Use single sign-on","description":"<address>{email}</address> can sign in through your organization's identity provider.","continue":"Continue with SSO","enterWorkEmail":"Enter your work email above, then choose single sign-on.","notConfigured":"Single sign-on isn't set up for “{domain}”. Ask your admin to configure it, or continue with email.","lookingUp":"Looking up your identity provider…","use":"Use single sign-on (SSO)"},"code":{"title":"Check your email","description":"We sent a code to <address>{email}</address>","verifying":"Verifying…","notReceived":"Didn't receive a code?","resendIn":"Resend in {seconds}","resend":"Resend"},"credentials":{"signin":{"title":"Welcome back","description":"Enter your password to continue.","passwordPlaceholder":"Your password"},"signup":{"title":"Create your account","description":"Choose a password to get started.","passwordPlaceholder":"Create a password"},"unknown":{"title":"Enter your password","passwordPlaceholder":"Your password"}},"errors":{"unexpected":"An unexpected error occurred","signupsClosed":"Signups are currently closed. Contact your administrator or request access.","ssoRequired":"Your organization requires single sign-on. Continue with SSO instead.","incorrectPassword":"Incorrect password. Try again, or reset it via “Forgot your password?”.","existingAccountWrongPassword":"You already have an account — enter your existing password to sign in.","confirmAccount":"Check your email to confirm your account","invalidCode":"Invalid or expired code"},"legal":{"signup":"By creating an account, you agree to the <termsOfService>Terms of Service</termsOfService> and <privacyPolicy>Privacy Policy</privacyPolicy>","default":"<termsOfService>Terms of Service</termsOfService> and <privacyPolicy>Privacy Policy</privacyPolicy>"}},"passwordReset":{"loading":"Loading","resetting":"Resetting password","request":{"title":"Reset your password","description":"Enter your email and we'll send you a password reset link.","email":"Email","emailPlaceholder":"Your email address","sending":"Sending link…","submit":"Send reset link"},"sent":{"title":"Check your email","description":"We've sent you a password reset link.","address":"Reset link sent to <address>{email}</address>"},"expired":{"title":"Link expired","description":"This password reset link is invalid or has expired.","requestNew":"Request a new link"},"success":{"title":"Password updated","description":"You can now sign in with your new password.","changed":"Your password has been changed.","signIn":"Go to sign in"},"form":{"title":"Set a new password","description":"Choose a new password for your account.","newPassword":"New password","newPasswordPlaceholder":"Your new password","confirmPassword":"Confirm password","confirmPasswordPlaceholder":"Confirm your new password","updating":"Updating password…","submit":"Reset password"},"errors":{"sendFailed":"Could not send reset link","updateFailed":"Could not update password","unexpected":"An unexpected error occurred"}}},"onboarding":{"welcome":"Welcome","next":"Next","skip":"Skip"},"tools":{"executeCommand":"Executing Command","checkCommandOutput":"Checking Command Output","terminateCommand":"Terminating Command","listCommands":"Listing Commands","createFile":"Creating File","deleteFile":"Deleting File","fullFileRewrite":"Rewriting File","strReplace":"Editing Text","editFile":"Editing File","uploadFile":"Uploading File","createDocument":"Creating Document","updateDocument":"Updating Document","readDocument":"Reading Document","listDocuments":"Listing Documents","deleteDocument":"Deleting Document","createTasks":"Creating Tasks","updateTasks":"Updating Tasks","browserNavigateTo":"Navigating to Page","browserAct":"Performing Action","browserExtractContent":"Extracting Content","browserScreenshot":"Taking Screenshot","executeDataProviderCall":"Calling data provider","getDataProviderEndpoints":"Getting endpoints","ask":"Ask","wait":"Wait","complete":"Completing Task","crawlWebpage":"Crawling Website","exposePort":"Exposing Port","scrapeWebpage":"Scraping Website","webSearch":"Searching Web","loadImage":"Loading Image","createPresentationOutline":"Creating Presentation Outline","createPresentation":"Creating Presentation","presentPresentation":"Presenting","clearImagesFromContext":"Clearing Images from context","imageSearch":"Searching Image","createSheet":"Creating Sheet","updateSheet":"Updating Sheet","viewSheet":"Viewing Sheet","analyzeSheet":"Analyzing Sheet","visualizeSheet":"Visualizing Sheet","formatSheet":"Formatting Sheet","updateAgent":"Updating Worker","getCurrentAgentConfig":"Getting Worker Config","searchMcpServers":"Searching MCP Servers","getMcpServerTools":"Getting MCP Server Tools","configureMcpServer":"Configuring MCP Server","getPopularMcpServers":"Getting Popular MCP Servers","testMcpServerConnection":"Testing MCP Server Connection","listAppEventTriggers":"Finding event triggers","createEventTrigger":"Creating event trigger","getProjectStructure":"Getting Project Structure","buildProject":"Building Project","makePhoneCall":"Making Phone Call","endCall":"Ending Call","getCallDetails":"Getting Call Details","listCalls":"Listing Calls","monitorCall":"Monitoring Call","waitForCallCompletion":"Waiting for Completion","getPaperDetails":"Getting Paper Details","searchAuthors":"Searching Authors","getAuthorDetails":"Getting Author Details","getAuthorPapers":"Getting Author Papers","getPaperCitations":"Getting Paper Citations","getPaperReferences":"Getting Paper References","paperSearch":"Searching for Papers","discoverUserMcpServers":"Discovering tools","createCredentialProfile":"Creating connection","getCredentialProfiles":"Getting connections","configureProfileForAgent":"Adding tools to Worker","createNewAgent":"Creating New Worker","searchMcpServersForAgent":"Searching MCP Servers","createCredentialProfileForAgent":"Creating Connection","discoverMcpToolsForAgent":"Discovering MCP Tools","configureAgentConnector":"Configuring Worker Connector","createAgentScheduledTrigger":"Creating Scheduled Trigger","listAgentScheduledTriggers":"Listing Worker Scheduled Triggers","executingTool":"Executing tool","toolExecutedSuccessfully":"Tool executed successfully","toolExecutionFailed":"Tool execution failed","input":"Input","output":"Output","copyFileContent":"Copy file content","fileContentCopied":"File content copied to clipboard","failedToCopyFileContent":"Failed to copy file content","noContentAvailable":"No Content Available","noContentDescription":"This tool execution did not produce any input or output content to display.","tool":"Tool"},"agentRunLimit":{"gotIt":"Got it","parallelRunsLimitReached":"Parallel Runs Limit Reached","parallelRunsLimitDescription":"You've reached the maximum parallel Worker runs allowed.","needMoreParallelRuns":"Need more parallel runs?","upgradeDescription":"Upgrade your plan to run multiple Workers simultaneously and boost your productivity.","upgradePlan":"Upgrade Plan","currentlyRunningAgents":"Currently Running Workers","loadingThreads":"Loading threads...","foundRunningAgents":"Found {count} running Workers but unable to load thread details.","threadIds":"Thread IDs: {ids}","moreRunning":"+{count} more running","whatCanYouDo":"What can you do?","stopAgentsHint":"Click the stop button to stop running Workers","waitForCompletion":"Wait for a Worker to complete automatically","upgradeYourPlan":"Upgrade your plan","forMoreParallelRuns":"for more parallel runs","stopAgent":"Stop Worker","stopThisAgent":"Stop this Worker","openThread":"Open thread","agentStoppedSuccessfully":"Worker stopped successfully","failedToStopAgent":"Failed to stop Worker","upgradeToRunMore":"Upgrade to run more Workers in parallel"},"agentApps":{"title":"Apps","description":"Kortix Apps this agent may open when the App's access is restricted or private.","manageApps":"All Apps","allLabel":"Every App in this project, including ones added later.","needsGrant":"Grant decides","openWithoutGrant":"No grant needed","grantNote":"The agent also needs project.app.read in its Kortix permissions.","emptyTitle":"No Apps yet","emptyDescription":"Apps deployed to this project appear here for the agent to pick from.","flagOffHint":"Agent principal is off for this project, so this grant is stored but does not gate an App yet.","featureFlags":"Feature flags"},"errors":{"generic":"An error occurred","network":"Network error","unauthorized":"Unauthorized","notFound":"Not found"},"languages":{"en":"English","de":"Deutsch","it":"Italiano","zh":"中文","ja":"日本語","pt":"Português","fr":"Français","es":"Español","sr":"Српски"},"notifications":{"title":"Notifications","description":"Manage how you receive notifications","preferences":"Notification Preferences","channels":"Notification Channels","emailNotifications":"Email Notifications","emailDescription":"Receive notifications via email","pushNotifications":"Push Notifications","pushDescription":"Receive push notifications on your device","inAppNotifications":"In-App Notifications","inAppDescription":"See notifications within the app","deviceTokens":"Registered Devices","noDevices":"No devices registered","settingsUpdated":"Notification preferences updated successfully","settingsFailed":"Failed to update notification preferences","enableAll":"Enable All","disableAll":"Disable All","saveChanges":"Save Changes"},"modes":{"samplePrompts":"Sample prompts","examplePrompts":"Example prompts","chooseStyle":"Choose a style","chooseTemplate":"Choose a template","chooseOutputFormat":"Choose output format","chooseCanvasAction":"Choose canvas action","chooseVideoStyle":"Choose video style","preferredCharts":"Preferred charts","whatWouldYouLike":"What do you want to get done?","describeTask":"Describe the task you want your Worker to complete...","templateLabel":"Template","typeLabel":"Type","styleLabel":"Style","actionLabel":"Action","chartSingular":"chart","chartsPlural":"charts","promptSelected":"Prompt selected","modes":{"image":"Image","slides":"Slides","data":"Data","docs":"Docs","canvas":"Canvas","video":"Video","research":"Research"},"styles":{"photorealistic":"Photorealistic","watercolor":"Watercolor","digital-art":"Digital Art","oil-painting":"Oil Painting","minimalist":"Minimalist","isometric":"Isometric","vintage":"Vintage","comic":"Comic Book","neon":"Neon","pastel":"Pastel","geometric":"Geometric","abstract":"Abstract","anime":"Anime","impressionist":"Impressionist","surreal":"Surreal"},"videoStyles":{"cinematic":"Cinematic","product":"Product","animation":"Animation","nature":"Nature","abstract":"Abstract","adventure":"Adventure"},"templates":{"minimalist":{"name":"Minimalist","description":"Clean and simple design"},"minimalist_2":{"name":"Minimalist 2","description":"Alternative minimal style"},"black_and_white_clean":{"name":"Black & White","description":"Classic monochrome"},"colorful":{"name":"Colorful","description":"Vibrant and energetic"},"startup":{"name":"Startup","description":"Dynamic and innovative"},"elevator_pitch":{"name":"Elevator Pitch","description":"Quick and impactful"},"portfolio":{"name":"Portfolio","description":"Showcase your work"},"textbook":{"name":"Textbook","description":"Educational and structured"},"architect":{"name":"Architect","description":"Professional and precise"},"hipster":{"name":"Hipster","description":"Modern and trendy"},"green":{"name":"Green","description":"Nature-inspired design"},"premium_black":{"name":"Premium Black","description":"Luxury dark theme"},"premium_green":{"name":"Premium Green","description":"Sophisticated green"},"professor_gray":{"name":"Professor Gray","description":"Academic and scholarly"},"gamer_gray":{"name":"Gamer Gray","description":"Gaming-inspired design"},"competitor_analysis_blue":{"name":"Analysis Blue","description":"Business analysis focused"},"numbers_clean":{"name":"Numbers Clean","description":"Clean data visualization"},"numbers_colorful":{"name":"Numbers Colorful","description":"Vibrant data presentation"},"prd":{"name":"PRD","description":"Product requirements document"},"technical":{"name":"Technical","description":"Technical documentation"},"proposal":{"name":"Proposal","description":"Business proposal"},"report":{"name":"Report","description":"Detailed report format"},"guide":{"name":"Guide","description":"Step-by-step guide"},"wiki":{"name":"Wiki","description":"Wiki article"},"policy":{"name":"Policy","description":"Policy document"},"meeting-notes":{"name":"Meeting Notes","description":"Meeting minutes"}},"outputFormats":{"spreadsheet":{"name":"Spreadsheet","description":"Table with formulas"},"dashboard":{"name":"Dashboard","description":"Interactive charts"},"report":{"name":"Report","description":"Analysis with visuals"},"slides":{"name":"Slides","description":"Presentation format"}},"charts":{"bar":"Bar","line":"Line","pie":"Pie","scatter":"Scatter","heatmap":"Heat map","bubble":"Bubble","wordcloud":"Word cloud","stacked":"Stacked bar","area":"Area"},"canvasActions":{"create":{"name":"Create New","description":"Generate from scratch"},"edit":{"name":"Edit Image","description":"Modify existing images"},"upscale":{"name":"Upscale","description":"Enhance and improve"},"remove-bg":{"name":"Remove BG","description":"Remove background"}},"prompts":{"image":{"0":"A majestic golden eagle soaring through misty mountain peaks at sunrise with dramatic lighting","1":"Close-up portrait of a fashion model with avant-garde makeup, studio lighting, high contrast shadows","2":"Cozy Scandinavian living room with natural wood furniture, indoor plants, and soft morning sunlight","3":"Futuristic cyberpunk street market at night with neon signs, rain-slicked pavement, and holographic displays","4":"Elegant product photography of luxury perfume bottle on marble surface with soft reflections","5":"Whimsical floating islands connected by rope bridges in a pastel sky with dreamy clouds","6":"Macro close-up of morning dew drops on vibrant flower petals with bokeh background","7":"Modern workspace desk setup with laptop, coffee, notebook, and succulent plants from above","8":"Mystical forest path with ancient trees, glowing fireflies, and ethereal light beams through fog","9":"Architectural detail of contemporary glass building facade with geometric patterns and reflections","10":"Vibrant street food vendor stall with colorful ingredients, steam rising, and warm lighting","11":"Serene Japanese zen garden with raked sand, moss-covered stones, and cherry blossom petals","12":"Dynamic action shot of athlete mid-jump against dramatic sunset sky, silhouette effect","13":"Rustic farmhouse kitchen with copper pots, fresh herbs, wooden cutting boards, and natural textures","14":"Abstract fluid art with swirling metallic gold, deep blue, and emerald green organic patterns"},"slides":{"0":"Create a Series A pitch deck with market size, traction, and financial projections","1":"Build a Q4 business review showcasing KPIs, wins, and strategic initiatives","2":"Design a product launch presentation with demo videos and customer testimonials","3":"Develop a sales enablement deck explaining our value prop and competitive advantages","4":"Create an investor update highlighting key metrics and upcoming milestones","5":"Build a customer case study presentation showing ROI and success metrics","6":"Design an all-hands presentation covering company updates and vision","7":"Develop a training deck for new product features and workflows","8":"Create a conference talk about scaling engineering teams","9":"Build a board meeting presentation with strategic recommendations"},"data":{"0":"Build a financial model projecting ARR growth with different pricing scenarios","1":"Create an interactive sales dashboard tracking metrics by region and quarter","2":"Analyze 50K customer reviews and visualize sentiment trends over time","3":"Design a content calendar tracking campaigns with ROI and engagement charts","4":"Build a cohort analysis showing user retention and churn patterns","5":"Create a marketing attribution model comparing channel performance","6":"Develop a hiring tracker with pipeline metrics and time-to-fill analysis","7":"Build a budget planning spreadsheet with scenario modeling","8":"Analyze website traffic data and visualize conversion funnels","9":"Create an inventory management system with automated reorder alerts"},"docs":{"0":"Write a comprehensive PRD for an AI-powered recommendation engine","1":"Draft a technical architecture document for a scalable microservices platform","2":"Create a go-to-market strategy document for our Q2 product launch","3":"Develop a 90-day onboarding playbook for engineering managers","4":"Write an API documentation guide with examples and best practices","5":"Create a company handbook covering culture, policies, and benefits","6":"Draft a data privacy policy compliant with GDPR and CCPA","7":"Develop a customer success playbook for SaaS enterprise accounts","8":"Write a security incident response plan with escalation procedures","9":"Create a comprehensive style guide for brand and content"},"canvas":{"0":"Add a tech startup banner to canvas with futuristic city skyline","1":"Create a coffee brand logo on canvas using earthy minimalist style","2":"Add my product photo to canvas and remove its background","3":"Design a renewable energy infographic on canvas with flat icons","4":"Create a sci-fi book cover on canvas with cyberpunk aesthetics","5":"Add a YouTube thumbnail to canvas for productivity tips video","6":"Build a luxury fashion mood board on canvas for millennials","7":"Design an elegant wedding invitation on canvas with floral patterns","8":"Add my portrait to canvas and apply vintage film effect","9":"Create a music festival poster on canvas with psychedelic vibes"},"video":{"0":"Animate my product photo rotating smoothly with studio lighting","1":"Transform my portrait into a cinematic scene with camera movement","2":"Generate a peaceful nature video of cherry blossoms falling slowly","3":"Create abstract glowing particles swirling together in slow motion","4":"Make my product float and rotate with soft shadows and reflections","5":"Add dramatic cinematic lighting and color grading to my portrait","6":"Generate a smooth drone shot flying through foggy mountain peaks","7":"Create a looping video of liquid metal flowing into organic shapes","8":"Transform my photo background into an underwater scene with light rays","9":"Generate a futuristic cityscape video with neon lights and reflections"},"research":{"0":"Analyze emerging trends in quantum computing and potential business applications","1":"Research top 10 competitors in the AI-powered CRM space with feature comparison","2":"Investigate regulatory requirements for launching a fintech app in the EU","3":"Compile market analysis on electric vehicle adoption rates across major markets","4":"Study the impact of remote work on commercial real estate demand in major cities","5":"Research Web3 adoption patterns among Fortune 500 companies","6":"Analyze consumer sentiment towards sustainable fashion brands","7":"Investigate the latest developments in gene therapy for rare diseases","8":"Study pricing strategies of successful D2C subscription box companies","9":"Research the competitive landscape of AI-powered cybersecurity solutions"}}},"announcements":{"memories":{"title":"Introducing Memories","description":"Kortix now remembers your preferences and context across all conversations","features":{"personalized":{"title":"Personalized Experience","description":"Adapts to your working style over time"},"retention":{"title":"Context Retention","description":"Important details remembered across chats"},"control":{"title":"You're in Control","description":"Toggle off or clear memories anytime"}},"manageButton":"Manage Memories","dismissButton":"Got it"}},"support":{"hub":{"channelEmailNote":"We typically respond within 24 hours on business days.","faqTitle":"Frequently asked questions","faqBugQuestion":"How do I request a feature or report a bug?","faqBugAnswerAfter":"with details. For bugs, include steps to reproduce and any error messages. Screenshots help.","faqCreditsQuestion":"What if I don't get credits after paying?","faqCreditsAnswerAfter":"immediately. We prioritize billing issues and typically resolve them within a few hours.","faqConnectQuestion":"Can Kortix connect to my apps?","faqConnectAnswer":"Yes. 3,000+ connectors via OAuth, MCP servers, REST APIs, CLI tools, and environment variables. If it has an interface, Kortix connects to it.","faqWhatQuestion":"What is Kortix?","faqWhatAnswer":"A 24/7 cloud computer where AI agents do the actual work of running a company. You connect your tools, define your agents, set their schedules and triggers — and the machine operates whether you're there or not.","faqDifferentQuestion":"How is Kortix different from other AI platforms?","faqDifferentAnswer":"Most AI platforms are chat interfaces that give you suggestions. Kortix is a persistent computer that runs agents autonomously — they browse the web, execute code, call APIs, manage files, and coordinate across your tools. They work while you sleep.","accountTitle":"Account deletion","accountLeadBefore":"To delete your account, either email","accountLeadAfter":"or do it yourself from settings:","accountStep1":"Click your avatar → Settings","accountStep2":"Scroll to Delete Account","accountStep3":"Choose 14-day grace period or immediate deletion","accountStep4":"Type \"delete\" to confirm","accountWarning":"All agents, sessions, credentials, and billing data will be permanently removed. This cannot be undone.","legalTerms":"Terms of Service","legalPrivacy":"Privacy Policy","contactLead":"Still need help? Reach out.","title":"Support","lead":"The answers we give most, and a person on the other end when they don't cover it.","channelEmailTitle":"Email us","channelDiscordTitle":"Discord","channelDiscordDetail":"Community server","channelDiscordNote":"Ask people already running Kortix.","channelDocsTitle":"Documentation","channelDocsDetail":"Guides and reference","channelDocsNote":"Setup, configuration, and the CLI.","channelStatusTitle":"Status","channelStatusNote":"Live uptime and past incidents.","faqBugAnswerBefore":"Email","faqCreditsAnswerBefore":"Contact","legalTitle":"Legal","legalImprint":"Imprint","contactTitle":"Contact","contactGeneral":"General","contactSecurity":"Security","faqWhatCreditsQuestion":"What are credits, and what do they cost?","faqWhatCreditsAnswerBefore":"Credits are Kortix's unit of platform usage, and model calls are the main driver. Kortix adds 20% on model cost, 50% on most tool calls, and charges a flat 10% platform fee instead if you bring your own API key. The full rate card, the two kinds of credit, and how to make a balance last are in","faqWhatCreditsLink":"Credits & usage","faqWhatCreditsAnswerAfter":"."}},"hardcodedUi":{"autoFeaturesBillingClaimPerSeatCardJsxTextMoveOff58e07c8d":"Move off per-machine billing to the new $40/seat plan. We cancel your machine subscriptions, put your unused balance toward your first seat, and return the rest as ","autoAppAppAccountsIdTokensTokenIdPageJsxTextTokensf8e918bc":"Tokens inherit their creator's account role and group memberships at request time. To limit what a token can access, scope it to one project when you create it.","projectAccessBoundary":{"privateHeading":"Ask for access.","privateBody":"Only members can open this project. Send a note and a project manager can add you.","waitingHeading":"Waiting on approval.","sentBody":"Your request is with the project's managers. This page opens on its own once one of them approves it.","alreadyBody":"You asked for access earlier. A project manager still has to approve it.","notFoundHeading":"This project is gone.","notFoundBody":"The link may be wrong, or someone deleted the project.","errorHeading":"This project didn't load.","errorBody":"The request failed before we could check your access.","noteLabel":"Note to the project manager","notePlaceholder":"Why you need access (optional)","requestAction":"Request access","checkNowAction":"Check now","tryAgainAction":"Try again","projectsAction":"Back to projects","accountLabel":"Account","projectLabel":"Project","approvalNote":"Anyone who manages this project can approve your request.","openAsAdmin":"Open as admin","requestFailed":"Could not send the request.","bypassFailed":"Admin bypass failed.","thisAccount":"this account"},"appHomeAppPage":{"line86JsxTextKortixForMobile":"Kortix for Mobile","line89JsxTextYourAiWorkerInYourPocket":"Your AI Worker, in your pocket.","line90JsxTextDownloadTheAppAndTakeKortixWithYou":"Download the app and take Kortix with you everywhere.","line110JsxTextScanToDownload":"Scan to download","line113JsxTextAutomaticallyOpensTheRightStoreForYourDevice":"Automatically opens the right store for your device","line153JsxTextWhyYouLlLoveIt":"Why you'll love it"},"appHomeBerlinPage":{"line92JsxTextBerlinGermany":"Berlin, Germany","line101JsxTextDeinAutonomerKiWorker":"Dein Autonomer KI-Worker","line104JsxTextGebautFurKomplexeAufgabenEntwickeltFurAllesDer":"Gebaut für komplexe Aufgaben, entwickelt für alles. Der ultimative KI-Assistent, der alles bewältigt—von einfachen Anfragen bis zu mega-komplexen Projekten.","line113JsxAttrPlaceholderBeschreibeDeineAufgabe":"Beschreibe deine Aufgabe..."},"appHomeCareersCareersClient":{"line19JsxTextFoundersBuildersHackersArtistsDesignersEngineersOperatorsDreamers":"Founders, builders, hackers, artists, designers, engineers, operators, dreamers, dropouts, autodidacts, obsessives, perfectionists, generalists, polymaths — we don","line19JsxTextTCareWhatYouCallItWeCare":"t care what you call it. We care that you","line19JsxTextVeBuiltSomethingRealFeltEveryEdgeOf":"ve built something real, felt every edge of it, and couldn","line19JsxTextTStopUntilItWasRight":"t stop until it was right.","line24JsxTextAnExtremelySmallTightKnitTeamBuildingThe":"An extremely small, tight-knit team building the operating system for autonomous companies. Everyone here shares the same trait — the innate drive to take chaos and turn it into systems that run themselves.","line46JsxTextOpenPosition":"Open Position","line53JsxTextYouAreWhatYouAreYouDriveWhat":"You are what you are. You drive what you must. Independent, founder-type person who falls under the above definition or not.","line55JsxTextSanFranciscoOrAnywhereButWe":"San Francisco — or anywhere, but we","line55JsxTextLlGetYouHere":"ll get you here.","line64JsxTextIfThisSoundsLikeYouJustReachOut":"If this sounds like you, just reach out. I","line64JsxTextMMarko":"m Marko.","line68JsxTextMarkoKortixCom":"marko@kortix.com","line71JsxTextMarkokraemer":"@markokraemer"},"appHomeDesignSystemPage":{"line566JsxTextDonAposT":"Don't","line700JsxTextBrandAmpDesignSystem":"Brand & Design System","line703JsxTextLogoAssetsColorPaletteTypographyMotionTokensComponent":"Logo assets, color palette, typography, motion tokens, component library, and usage rules for building Kortix. The complete reference for designers and engineers.","line714JsxTextOklchColors":"OKLCH Colors","line715JsxTextRadixPrimitives":"Radix Primitives","line728JsxTextTwoFormsTheSymbolAndTheWordmarkEach":"Two forms — the symbol on its own, and the full logo. Each in black and white.","line737JsxTextTheSymbolIsDerivedFromTheLetterK":"The symbol is derived from the letter K — connectivity and intelligence abstracted into a geometric mark. Use it as a favicon, app icon, or whenever the full logo isn","line739JsxTextTPracticalNeverStretchRotateOrRecolorIt":"t practical. Never stretch, rotate, or recolor it.","line751JsxTextBlackAndWhiteIsTheFoundationEachUi":"Black and white is the foundation. Each UI theme pairs the neutral base with exactly one accent color. The OKLCH color space ensures perceptual uniformity across all themes.","line791JsxTextCorePalette":"Core palette","line794JsxTextGlobalsCssRootDark":"globals.css · :root / .dark","line848JsxTextRoobertAGeometricSansSerifFontMedium500":"Roobert — a geometric sans-serif. Font-medium (500) is the brand weight. Roobert Mono for code and data.","line871JsxTextKortixComputer":"Kortix Computer","line880JsxTextRoobertMono":"Roobert Mono","line883JsxTextConstAgentNewKortix":"const agent = new Kortix();","line886JsxTextAbcdefghijklmnopqrstuvwxyzAbcdefghijklmnopqrstuvwxyz0123456789":"ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789","line894JsxTextTypeScale":"Type Scale","line917JsxTextTheQuickBrownFox":"The quick brown fox","line938JsxTextStandardizedDurationAndEasingTokensEnsureEveryTransition":"Standardized duration and easing tokens ensure every transition feels consistent. Click the labels to trigger the animation.","line946JsxTextDurationScale":"Duration Scale","line964JsxTextEasingCurves":"Easing Curves","line988JsxTextAConsistentSpacingScaleBasedOn4pxIncrements":"A consistent spacing scale based on 4px increments. Used for padding, margins, and gaps throughout the UI.","line1019JsxTextTheCompleteComponentLibraryEachComponentUsesA":"The complete component library. Each component uses a consistent API with variant and size props managed through class-variance-authority. Built on Radix UI primitives for accessibility and composability.","line1029JsxTextText10Variants8SizesTheFoundationOfEvery":"10 variants × 8 sizes. The foundation of every interaction. There are only two radii: pills (buttons, badges) use","line1030JsxTextEveryContainerCardsDialogsInputsTextareasSelectsInfo":"; every container (cards, dialogs, inputs, textareas, selects, info banners, alerts) uses","line1031JsxTextNeverPut":". Never put","line1032JsxTextOnABoxThe":"on a box. The","line1033JsxTextVariantIsReservedForThe":"variant is reserved for the","line1033JsxTextOneIrreversibleConfirm":"one irreversible confirm","line1033JsxTextAConfirmdialogAposSPrimaryActionTheDanger":"(a ConfirmDialog's primary action, the Danger Zone) — never for routine actions like Log out or Cancel.","line1039JsxTextBaseVariants":"Base Variants","line1051JsxTextKortixVariants":"Kortix Variants","line1061JsxTextStandardSizes":"Standard Sizes","line1071JsxTextCompactSizes":"Compact Sizes","line1081JsxTextWithIcons":"With Icons","line1083JsxTextSendEmail":"Send Email","line1096JsxTextDisabledOutline":"Disabled Outline","line1108JsxTextLabelsStatusIndicatorsAndTagsSevenVariantsFrom":"Labels, status indicators, and tags. Seven variants from solid to subtle.","line1114JsxTextBaseVariants":"Base Variants","line1126JsxTextSemanticStatus":"Semantic Status","line1144JsxTextWithIcons":"With Icons","line1160JsxTextContainerWithHeaderContentAndFooterSlotsDefault":"Container with header, content, and footer slots. Default and glass (translucent, no blur) variants.","line1167JsxTextDefaultCard":"Default Card","line1169JsxTextStandardCardWithSolidBackground":"Standard card with solid background.","line1174JsxTextCardContentGoesHereUseForGroupingRelated":"Card content goes here. Use for grouping related information.","line1186JsxTextGlassCard":"Glass Card","line1188JsxTextTranslucentSurfaceForOverlaysAndPanels":"Translucent surface for overlays and panels.","line1193JsxTextCardContentGoesHereUsedForOverlaysAnd":"Card content goes here. Used for overlays and floating panels.","line1211JsxTextTextInputForFormsAndSearchTheCanonical":"Text input for forms and search. The canonical form-control treatment — Textarea & Select inherit the same bg-card surface, accent focus ring, and rounded-2xl shape.","line1221JsxAttrPlaceholderDefaultInput":"Default input","line1224JsxAttrPlaceholderWithPlaceholder":"With placeholder","line1225JsxAttrPlaceholderPasswordInput":"Password input","line1235JsxTextMultiLineTextInputForLongerContentShares":"Multi-line text input for longer content. Shares one treatment with Input & Select — bg-card surface, accent focus ring, rounded-2xl, no shadow.","line1241JsxAttrPlaceholderWriteSomething":"Write something...","line1242JsxAttrPlaceholderDisabledTextarea":"Disabled textarea","line1251JsxTextDropdownSelectionFromAListOfOptionsMatches":"Dropdown selection from a list of options. Matches Input & Textarea — same bg-card surface, accent focus ring, and rounded-2xl shape.","line1259JsxAttrPlaceholderSelectAFramework":"Select a framework","line1276JsxTextToggleForBooleanValues":"Toggle for boolean values.","line1311JsxTextToggleControlForOnOffStates":"Toggle control for on/off states.","line1348JsxTextATwoStateButtonWithDefaultAndOutline":"A two-state button with default and outline variants.","line1356JsxAttrAriaLabelToggleBold":"Toggle bold","line1360JsxAttrAriaLabelToggleSettings":"Toggle settings","line1369JsxTextRadioGroup":"Radio Group","line1371JsxTextSingleSelectionFromASetOfOptions":"Single selection from a set of options.","line1395JsxTextTabbedNavigationWithStandardAndCompactVariants":"Tabbed navigation with standard and compact variants.","line1411JsxTextAccountSettingsAndPreferences":"Account settings and preferences.","line1416JsxTextChangeYourPassword":"Change your password.","line1421JsxTextGeneralSettings":"General settings.","line1444JsxTextDailyViewContent":"Daily view content.","line1449JsxTextWeeklyViewContent":"Weekly view content.","line1454JsxTextMonthlyViewContent":"Monthly view content.","line1467JsxTextModalOverlayForFocusedInteractions":"Modal overlay for focused interactions.","line1472JsxTextOpenDialog":"Open Dialog","line1476JsxTextDialogTitle":"Dialog Title","line1478JsxTextThisIsADescriptionOfTheDialogContent":"This is a description of the dialog content. It provides context for the user.","line1484JsxTextDialogBodyContentGoesHere":"Dialog body content goes here.","line1500JsxTextSlideOutPanelFromTheEdgeOfThe":"Slide-out panel from the edge of the viewport.","line1505JsxTextOpenSheet":"Open Sheet","line1509JsxTextSheetTitle":"Sheet Title","line1511JsxTextASidePanelForSecondaryContentAndActions":"A side panel for secondary content and actions.","line1516JsxTextSheetBodyContent":"Sheet body content.","line1526JsxTextDropdownMenu":"Dropdown Menu","line1528JsxTextContextualMenuTriggeredByAButtonRowsStay":"Contextual menu triggered by a button. Rows stay","line1529JsxTextEvenDestructiveOnesLikeDeleteOrRemoveRed":"— even destructive ones like Delete or Remove. Red is the brake, not the paint: it appears only on the final confirm button, never on a menu row.","line1558JsxTextContextualInformationOnHover":"Contextual information on hover.","line1570JsxTextThisIsAHelpfulTooltip":"This is a helpful tooltip","line1598JsxTextFloatingContentPanelAttachedToATrigger":"Floating content panel attached to a trigger.","line1603JsxTextOpenPopover":"Open Popover","line1607JsxTextPopoverTitle":"Popover Title","line1609JsxTextThisIsThePopoverContentItCanContain":"This is the popover content. It can contain any elements.","line1622JsxTextInlineNotificationWithContextualVariants":"Inline notification with contextual variants.","line1628JsxTextDefaultAlert":"Default Alert","line1630JsxTextThisIsADefaultInformationalAlert":"This is a default informational alert.","line1637JsxTextSomethingWentWrongPleaseTryAgain":"Something went wrong. Please try again.","line1644JsxTextThisActionMayHaveUnintendedConsequences":"This action may have unintended consequences.","line1653JsxTextAlertDialog":"Alert Dialog","line1655JsxTextConfirmationDialogForDestructiveOrImportantActions":"Confirmation dialog for destructive or important actions.","line1660JsxTextDeleteItem":"Delete Item","line1665JsxTextAreYouSure":"Are you sure?","line1668JsxTextThisActionCannotBeUndoneThisWillPermanently":"This action cannot be undone. This will permanently delete the item and remove all associated data.","line1685JsxTextCollapsibleContentSectionsWithSmoothAnimation":"Collapsible content sections with smooth animation.","line1691JsxTextWhatIsKortix":"What is Kortix?","line1694JsxTextKortixIsAnAiPoweredPlatformForBuilding":"Kortix is an AI-powered platform for building and deploying intelligent agents. It provides the infrastructure, tools, and interfaces needed to create production-grade AI workflows.","line1702JsxTextWhatDesignSystemDoesItUse":"What design system does it use?","line1705JsxTextKortixUsesAMonochromaticDesignSystemWithStrategic":"Kortix uses a monochromatic design system with strategic accent colors, built on OKLCH color tokens, the Roobert type family, and Radix UI primitives.","line1712JsxTextHowDoThemesWork":"How do themes work?","line1715JsxTextEachThemeDefinesASingleAccentHueApplied":"Each theme defines a single accent hue applied to primary, ring, and chart tokens. All backgrounds, surfaces, and borders remain neutral. Seven themes are available: Graphite, Teal, Amber, Rose, Violet, Emerald, and Neon.","line1730JsxTextASimplerExpandCollapsePrimitiveUnlikeAccordionIt":"A simpler expand/collapse primitive. Unlike Accordion, it controls a single section without exclusive selection.","line1741JsxTextText3TaggedItems":"3 tagged items","line1751JsxTextKortixDesignSystem":"@kortix/design-system","line1755JsxTextKortixComponents":"@kortix/components","line1758JsxTextKortixTokens":"@kortix/tokens","line1769JsxTextVisualDividerBetweenContentSections":"Visual divider between content sections.","line1774JsxTextContentAbove":"Content above","line1778JsxTextContentBelow":"Content below","line1788JsxTextLoadingPlaceholderForContentThatHasn":"Loading placeholder for content that hasn","line1788JsxTextTLoadedYet":"t loaded yet.","line1795JsxTextCardSkeleton":"Card Skeleton","line1809JsxTextInlineVariants":"Inline Variants","line1828JsxTextVisualIndicatorOfCompletionOrLoading":"Visual indicator of completion or loading.","line1848JsxTextRangeInputForSelectingNumericValues":"Range input for selecting numeric values.","line1869JsxTextAccessibleLabelForFormControls":"Accessible label for form controls.","line1873JsxTextEmailAddress":"Email address","line1877JsxAttrPlaceholderYouExampleCom":"you@example.com","line1887JsxTextNavigationHierarchyTrail":"Navigation hierarchy trail.","line1901JsxTextDesignSystem":"Design System","line1912JsxTextStructuredDataDisplayInRowsAndColumns":"Structured data display in rows and columns.","line1968JsxTextKeyboardShortcutIndicatorsThemeAwareIncludingAutomaticStyling":"Keyboard shortcut indicators. Theme-aware, including automatic styling when nested inside tooltips.","line1975JsxTextIndividualKeys":"Individual Keys","line1988JsxTextKeyGroupsShortcuts":"Key Groups (Shortcuts)","line2026JsxTextDatePickerCalendarGrid":"Date picker calendar grid.","line2040JsxTextScrollArea":"Scroll Area","line2042JsxTextCustomScrollableContainerWithStyledScrollbar":"Custom scrollable container with styled scrollbar.","line2056JsxTextListItem":"List item","line2070JsxTextPagePatterns":"Page Patterns","line2073JsxTextHowKortixListManagementPagesAreBuiltThese":"How Kortix list / management pages are built. These are the shared chrome pieces used by","line2075JsxTextNewManagementStylePagesShouldComposeTheSame":". New management-style pages should compose the same pieces in the same order so the whole app feels like one product.","line2084JsxTextTheCanonicalHeroForListManagementPagesRounded":"The canonical hero for list/management pages. Rounded card with animated background, centered icon tile, and a single bold title line. Always rendered inside a container wrapper with","line2087JsxTextHorizontalPadding":"horizontal padding.","line2094JsxTextScheduledTasks":"Scheduled Tasks","line2113JsxTextItemCardUsedAcrossEveryListPageMouse":"Item card used across every list page. Mouse-following radial spotlight on hover plus a subtle border glow. Wrap with","line2115JsxTextBgCardBorderBorderBorder50":"bg-card border border-border/50","line2115JsxTextAndApplyYourOwnInnerPadding":"and apply your own inner padding.","line2156JsxTextStandardSearchPillPlacedInTheActionBar":"Standard search pill placed in the action bar below the PageHeader. Leave a","line2157JsxTextWidthSoItSitsNextToARight":"width so it sits next to a right-aligned primary action without taking over.","line2166JsxAttrPlaceholderSearchConnections":"Search connections...","line2179JsxTextStaggerMount":"Stagger Mount","line2181JsxTextEveryManagementPageMountsItsThreeZonesWith":"Every management page mounts its three zones with a staggered fade + slide. Header on entry, search bar at","line2183JsxTextContentAt":", content at","line2205JsxTextSmallCompositionPiecesUsedInsideProjectPagesIssue":"Small composition pieces used inside project pages, issue details, and other structured internal surfaces that don't fit the hero + list shape.","line2214JsxTextTheOneLayoutWrapperStandardisesMaxWidthHorizontal":"The one layout wrapper. Standardises max-width, horizontal padding, and scroll behavior. Four width presets:","line2216JsxTextReading720":"reading (720)","line2217JsxTextDefault1000":"default (1000)","line2218JsxTextWide1280":"wide (1280)","line2223JsxTextLtPageshellWidthQuotDefaultQuotGtLt":"<PageShell width=\"default\"> … </PageShell>","line2224JsxTextMaxW1000pxPx6LgPx10":"max-w-[1000px] · px-6 lg:px-10 · py-10","line2233JsxTextLabelledSectionInsideAPageshellUppercaseMicroLabel":"Labelled section inside a PageShell. Uppercase micro-label, optional trailing action, opinionated top margin between siblings. No box, no chrome — typography and whitespace do the work.","line2241JsxTextDescriptionContentLivesHereSectionsSeparateConcernsOn":"Description content lives here. Sections separate concerns on a page without ever drawing a card.","line2254JsxTextASecondSectionWithATrailingAction":"A second section with a trailing action.","line2264JsxTextTheOnePanelPatternComposesTheDesignSystem":"The one panel pattern. Composes the design-system Card (rounded-2xl) and adds the divided header every settings/list surface needs: title, muted count, description, trailing action. Use","line2267JsxTextToSeatAListEdgeToEdgeAnd":"to seat a List edge-to-edge, and","line2268JsxTextToneQuotDestructiveQuot":"tone=\"destructive\"","line2268JsxTextForDangerZonesNoSeparateComponentADanger":"for danger zones — no separate component. A danger zone stays calm: a neutral panel with a faint warm edge and a","line2270JsxTextTriggerRedIsTheBrakeNotThePaint":"trigger. Red is the brake, not the paint — it shows up only on the final confirm (the ConfirmDialog button), never on the panel.","line2278JsxAttrDescriptionPeopleWithAccessToThisAccount":"People with access to this account.","line2286JsxTextBodyContentSitsInThePaddedRegionPass":"Body content sits in the padded region. Pass","line2287JsxTextToDropThePaddingForAList":"to drop the padding for a List.","line2292JsxAttrTitleDangerZone":"Danger zone","line2293JsxAttrDescriptionIrreversibleActionsLiveHere":"Irreversible actions live here.","line2298JsxTextDeleteThisAccount":"Delete this account","line2301JsxTextPermanentlyRemovesTheAccountAndAllItsData":"Permanently removes the account and all its data.","line2316JsxTextOneRule":"One rule:","line2316JsxTextPeopleAreRoundThingsAreSquare":"people are round, things are square","line2317JsxTextRendersACircularAvatarForAPersonThe":"renders a circular avatar for a person — the supabase profile picture when present, otherwise","line2319JsxTextNeutralMonochromeInitials":"neutral monochrome initials","line2319JsxTextNoColouredBackgrounds":"(no coloured backgrounds).","line2320JsxTextRendersARoundedSquareTileForAccountsProjects":"renders a rounded-square tile for accounts, projects, groups and other non-person entities — an initial or an icon. Both share the same neutral material and size scale so they align on a row.","line2330JsxAttrEmailAdaKortixAi":"ada@kortix.ai","line2331JsxAttrEmailGraceKortixAi":"grace@kortix.ai","line2332JsxAttrEmailAlanKortixAi":"alan@kortix.ai","line2338JsxAttrLabelAcmeAgi":"Acme AGI","line2348JsxTextListAmpListrow":"List & ListRow","line2350JsxTextTheStandardListADividerSeparated":"The standard list. A divider-separated","line2351JsxTextSEachWithALeadingAvatarSlotUseravatar":"s, each with a leading avatar slot (UserAvatar for people, EntityAvatar for things), a title with inline badges, a subtitle (an InlineMeta strip reads well), and a trailing slot for status badges or a kebab. Drop it inside a","line2355JsxTextSectioncardFlush":"SectionCard flush","line2361JsxAttrEmailGraceKortixAi":"grace@kortix.ai","line2362JsxAttrTitleGraceKortixAi":"grace@kortix.ai","line2370JsxTextJoinedMar32026":"Joined Mar 3, 2026","line2371JsxTextText4Projects":"4 projects","line2381JsxAttrEmailAlanKortixAi":"alan@kortix.ai","line2382JsxAttrTitleAlanKortixAi":"alan@kortix.ai","line2385JsxTextJoinedApr12026":"Joined Apr 1, 2026","line2403JsxTextKeyValuePairsFixedWidthLabelColumnSo":"Key/value pairs. Fixed-width label column so values align vertically. Optional dividers for a Linear-style meta list.","line2413JsxTextText2DaysAgo":"2 days ago","line2415JsxTextText3mAgo":"3m ago","line2426JsxTextDotSeparatedFactsDropAnyNumberOfChildren":"Dot-separated facts. Drop any number of children — falsy ones are skipped. Used in page headers, row subtitles, card footers.","line2435JsxTextText24Issues":"24 issues","line2436JsxTextCreated2dAgo":"created 2d ago","line2437JsxTextText8Sessions":"8 sessions","line2446JsxTextTheCalmTeachingMomentIconHeadlineOneLine":"The calm teaching moment. Icon, headline, one-line description, up to two actions. Used for zero-state views across every list and detail page.","line2453JsxAttrTitleNoIssuesYet":"No issues yet","line2454JsxAttrDescriptionCreateYourFirstIssueWithCOrImport":"Create your first issue with C, or import from a session.","line2457JsxTextNewIssue":"New issue","line2462JsxTextLearnMore":"Learn more","line2473JsxTextAnInlineStatusInfoNoticeManifestStatusA":"An inline status / info notice — manifest status, a skipped email, a tip. Semantic","line2474JsxTextNeutralInfoSuccessWarningDestructiveInsteadOfHand":"(neutral / info / success / warning / destructive) instead of hand-rolled tinted borders. Icon + optional title + body + trailing action.","line2479JsxAttrTitleHeadsUp":"Heads up","line2480JsxTextTheManifestIsBeingReSyncedSecretsApply":"The manifest is being re-synced — secrets apply in a moment.","line2482JsxAttrTitleEmailSkipped":"Email skipped","line2483JsxTextMailtrapIsnAposTConfiguredLocallyCopyThe":"Mailtrap isn't configured locally. Copy the invite link to share it.","line2488JsxAttrTitleAllSet":"All set","line2495JsxTextYourRepositoryIsConnected":"Your repository is connected.","line2501JsxTextStatusDotBadgeAmpDiffstat":"Status (Dot, Badge & DiffStat)","line2503JsxTextTheSingleSourceOfTruthForLdquoThis":"The single source of truth for “this means success / warning / error / info” coloring. Chips use","line2505JsxTextBoxesUse":", boxes use","line2505JsxTextForTheCasesAComponentCanAposT":"— for the cases a component can't cover (a live activity dot, a diff +/- counter, a lone status icon) reach for","line2508JsxTextOrThe":"or the","line2509JsxTextMapsInsteadOfReInlining":"maps instead of re-inlining","line2535JsxTextText3Passed":"3 passed","line2536JsxTextText5Warnings":"5 warnings","line2537JsxTextText2Errors":"2 errors","line2542JsxTextForInformationalStatusFaintInclRed":"for informational status (faint, incl. red).","line2543JsxTextBadgeVariantQuotDestructiveQuot":"Badge variant=\"destructive\"","line2544JsxTextIsASolidRedPillReserveItFor":"is a SOLID red pill — reserve it for actions, not status.","line2557JsxTextCodePatternsThatViolateTheDesignSystemFollow":"Code patterns that violate the design system. Follow these rules to maintain consistency, accessibility, and performance across the codebase.","line2564JsxAttrTitleAp1NoInlineStyleForFixedValues":"AP-1: No inline style={} for fixed values","line2565JsxAttrDescriptionBypassesTheUtilitySystemCanTBePurged":"Bypasses the utility system, can't be purged, creates specificity issues, invisible to design system audits.","line2571JsxAttrTitleAp2NoArbitraryTextSizes":"AP-2: No arbitrary text sizes","line2572JsxAttrDescriptionCreatesInconsistentTypeSizesWithNoSemanticMeaning":"Creates inconsistent type sizes with no semantic meaning and no relationship to the readable type scale.","line2583JsxAttrTitleAp3NoRawButtonElements":"AP-3: No raw <button> elements","line2584JsxAttrDescriptionRawButtonsBypassVariantSystemHaveInconsistentSizing":"Raw buttons bypass variant system, have inconsistent sizing/padding/radius, no focus ring guarantee, no loading state support.","line2590JsxAttrTitleAp4NoTransitionColors":"AP-4: No transition-colors","line2591JsxAttrDescriptionAnimatesEveryCssPropertyIncludingWidthHeightPadding":"Animates every CSS property including width, height, padding. Causes layout thrashing. Performance killer on large lists.","line2597JsxAttrTitleAp5NoHardcodedHexColors":"AP-5: No hardcoded hex colors","line2598JsxAttrDescriptionCompletelyBypassesTheThemeSystemWillLookWrong":"Completely bypasses the theme system. Will look wrong in non-default themes. Breaks dark mode.","line2604JsxAttrTitleAp6NoClickableDivElements":"AP-6: No clickable <div> elements","line2605JsxAttrDescriptionNotKeyboardAccessibleNoFocusRingNotAnnounced":"Not keyboard accessible. No focus ring. Not announced as interactive by screen readers."},"appHomeEnterprisePage":{"line70JsxTextEnterpriseReadyBatteriesIncludedOnPremAvailable":"Enterprise-ready · Batteries included · On-prem available","line73JsxTextSeeKortixRun":"See Kortix run","line74JsxTextYourCompanyAposSWork":"your company's work.","line77JsxTextBookA30MinuteWalkthroughWithASolutions":"Book a 30-minute walkthrough with a solutions engineer. We'll map a workforce of agents to your real workflows and stack — and show it live.","line94JsxTextASolutionsEngineerRepliesWithinOneBusinessDay":"A solutions engineer replies within one business day.","line105JsxTextRequestReceived":"— request received.","line107JsxTextWeAposLlReachOutAt":"We'll reach out at","line107JsxTextWithinOneBusinessDayIfYourMailClient":"within one business day. If your mail client didn't open, email us at","line110JsxTextSubmitAnotherRequest":"Submit another request","line115JsxTextRequestADemo":"Request a demo","line116JsxTextTellUsABitAboutYouAndWhat":"Tell us a bit about you and what you want to automate.","line121JsxTextFullName":"Full name","line122JsxAttrPlaceholderJaneDoe":"Jane Doe","line125JsxTextWorkEmail":"Work email","line126JsxAttrPlaceholderJaneCompanyCom":"jane@company.com","line133JsxAttrPlaceholderAcmeInc":"Acme Inc.","line137JsxAttrPlaceholderHeadOfOperations":"Head of Operations","line143JsxTextCompanySize":"Company size","line145JsxTextSelect":"Select…","line154JsxTextDeploymentInterest":"Deployment interest","line156JsxTextSelect":"Select…","line157JsxTextManagedCloud":"Managed cloud","line158JsxTextPrivateCloudVpc":"Private cloud / VPC","line159JsxTextOnPremAirGapped":"On-prem / air-gapped","line160JsxTextNotSureYet":"Not sure yet","line166JsxTextWhatWouldYouLikeToAutomate":"What would you like to automate?","line167JsxAttrPlaceholderEGDueDiligenceResearchSupportTicketsFinancial":"e.g. due-diligence research, support tickets, financial reporting…","line171JsxTextRequestDemo":"Request demo","line173JsxTextNoSpamWeOnlyUseThisToPrepare":"No spam. We only use this to prepare your demo.","heroEyebrow":"Enterprise","heroTitle":"Your whole company in one repo. Governed for the enterprise.","heroDescription":"Every agent, permission, connector, and secret is a file you control — reviewable, reversible, and deployable to cloud, VPC, or your own metal.","heroMicroline":"SSO · RBAC · Audit logs · Self-host · Open source","talkToSalesCta":"Request demo","comparePlansCta":"Compare plans","proofEyebrow":"By the numbers","proofTitle":"Every agent action, logged and governed.","proofStatSavedTab":"Time back","proofStatSavedTitle":"Hours back for your team","proofStatSavedLabel":"Analysts spend less time on repetitive checks and more on decisions that need a human.","proofStatLoggedTab":"Reviewable","proofStatLoggedTitle":"100% of every action logged","proofStatLoggedLabel":"Queries, secret reads, and database writes — each one attributed and waiting for your review.","proofStatConnectorsTab":"Connectors","proofStatConnectorsTitle":"3,000+ tools across your stack","proofStatConnectorsLabel":"CRMs, databases, and internal tools — governed from one command center.","proofStatAlwaysOnTab":"Always on","proofStatAlwaysOnTitle":"24/7 agents that never clock out","proofStatAlwaysOnLabel":"Reconcile overnight, triage tickets on weekends, and respond to events while your team is offline.","outcomesEyebrow":"What the workforce does","outcomesTitle":"One platform. Every team's real work.","outcomesDescription":"The same governed operating layer, put to work across the company. Start with one team, expand department by department.","outcomeFinanceTitle":"Finance","outcomeFinanceDescription":"Close the books, reconcile accounts, and flag exceptions — every number traceable to its source.","outcomeSupportTitle":"Support","outcomeSupportDescription":"Resolve tickets end to end, draft responses, and escalate only what needs a human.","outcomeSalesTitle":"Sales","outcomeSalesDescription":"Research accounts, enrich leads, and draft outreach your team approves before it sends.","outcomeOperationsTitle":"Operations","outcomeOperationsDescription":"Run recurring back-office work on a schedule — reports, data entry, vendor checks — without the busywork.","outcomeEngineeringTitle":"Engineering","outcomeEngineeringDescription":"Review pull requests, run the app, and open fixes on a branch.","outcomeEngineeringLinkLabel":"See the developer story","whyEyebrow":"The difference","whyTitle":"Govern actions, not just users.","whyDescription":"Most platforms stop at login. Kortix governs every tool call, secret read, and config change an agent makes — because the entire control plane is a Git repo.","moatEyebrow":"The control plane","moatTitle":"Your entire agent infrastructure lives in one Git repo.","differentiatorAgentGovernanceEyebrow":"One token, zero exposed secrets","differentiatorAgentGovernanceTitle":"Agents never touch your keys","differentiatorAgentGovernanceDescription":"Every connector, model, and connector is proxied through a single Kortix token — scoped per agent, rotated instantly, revoked in one click. Thirty credentials become one.","differentiatorConnectorEyebrow":"Permissions to the network level","differentiatorConnectorTitle":"Only the access it needs","differentiatorConnectorDescription":"Each agent gets only the tools, secrets, and files it needs. Define allow / ask / block rules per action — down to network-level patterns. Risky operations pause for human sign-off before they run.","differentiatorGitEyebrow":"Every change is a commit","differentiatorGitTitle":"Reviewed like code, reverted like code","differentiatorGitDescription":"Policy, agents, and config live in one kortix.yaml inside a Git repo. Every modification — by a developer, an admin, or an agent — is a diff. Audited forever.","builtForScaleEyebrow":"Built for scale","builtForScaleTitle":"Built for large enterprises.","gridSsoTitle":"SSO + SAML","gridSsoDescription":"Single sign-on and SAML with every major provider, plus SCIM provisioning. Onboard and offboard your whole org automatically.","gridInfraTitle":"Dedicated, isolated infrastructure","gridInfraDescription":"Every session runs in its own ephemeral sandbox, with capacity that scales to demand. No shared state, no blast radius.","gridComplianceTitle":"Compliance & security","gridComplianceDescription":"SOC 2 Type II audit underway, GDPR-ready with a DPA, and encrypted secrets throughout. Security-review support comes standard.","gridConnectorsTitle":"Custom connectors","gridConnectorsDescription":"Connect any internal tool or system. Add any MCP, OpenAPI, or GraphQL source to the 3,000+ already supported.","gridSupportTitle":"Enterprise-grade support","gridSupportDescription":"A dedicated engineer, a shared channel, and an SLA. Help from people who know your deployment.","gridGlobalTitle":"Global & always on","gridGlobalDescription":"Agents work 24/7, across every team and time zone.","securityEyebrow":"Security","securityTitle":"Everything procurement will ask for. Already answered.","securityDescription":"Everything security and procurement need, in one place.","identityAccessEyebrow":"Identity & access","identityAccessTitle":"Who can do what.","runtimeAuditEyebrow":"Runtime & audit","runtimeAuditTitle":"What ran, and where.","checklistSamlTitle":"SAML SSO","checklistSamlDescription":"Sign in with your existing identity provider.","checklistScimTitle":"SCIM provisioning","checklistScimDescription":"Sync users and groups automatically.","checklistRbacTitle":"Advanced RBAC","checklistRbacDescription":"Roles and per-resource permissions, scoped per agent.","checklistAuditTitle":"Full audit export","checklistAuditDescription":"Stream every agent action to your SIEM.","checklistSandboxesTitle":"Isolated sandboxes","checklistSandboxesDescription":"Each session runs on its own isolated machine.","checklistSecretsTitle":"Encrypted secrets","checklistSecretsDescription":"Connector credentials are brokered server-side and never enter the machine. A runtime secret reaches a session only through the role of the person who started it and the agent's own grant.","deploymentEyebrow":"Deployment","deploymentTitle":"Your data never has to leave.","deploymentDescription":"Kortix is open source. The same stack runs everywhere — and you own everything: every config, every conversation, every byte of context. No data lock-in, ever.","deploymentManagedCloudTitle":"Managed cloud","deploymentManagedCloudDescription":"We run it. You own the config and the data.","deploymentPrivateVpcTitle":"Private VPC","deploymentPrivateVpcDescription":"The full platform inside your own cloud account.","deploymentOnPremTitle":"On-prem / air-gapped","deploymentOnPremDescription":"Fully isolated, on your own metal.","connectorsEyebrow":"Connectors","connectorsTitle":"One connection. Every tool your agents touch.","connectorsDescription":"Connect Gmail, Stripe, Slack, GitHub, and 3,000+ more once. Every agent shares scoped, governed access through a single broker — one credential flow, not fifty. Add any MCP, OpenAPI, or GraphQL source.","trustEyebrow":"Trust & compliance","trustTitle":"Built to pass your security review.","trustDescription":"State-of-the-art controls protect your data and your agents from misuse.","trustSoc2Title":"SOC 2","trustSoc2Description":"Type II audit underway.","trustGdprTitle":"GDPR","trustGdprDescription":"DPA available.","trustEncryptedTitle":"Encrypted","trustEncryptedDescription":"Secrets at rest and in transit.","trustResidencyTitle":"Data residency","trustResidencyDescription":"You choose where it lives.","testimonialEyebrow":"Customers","testimonialTrustedByLabel":"Trusted by","testimonialQuote":"Kortix gives our team a secure way to run AI Workers across real workflows without giving up control.","testimonialAuthorName":"Enterprise customer","testimonialAuthorTitle":"Operations leader","onboardingEyebrow":"Onboarding","onboardingTitle":"What working with us looks like.","onboardingDescription":"A short path from scoping to security review to first agent in production.","onboardingScopingTitle":"Scoping call","onboardingScopingDescription":"Map tools, teams, risk boundaries, and first use case.","onboardingSecurityTitle":"Security review & DPA","onboardingSecurityDescription":"Documentation, deployment details, and answers.","onboardingDeploymentTitle":"Deployment","onboardingDeploymentDescription":"Cloud, VPC, or on-prem, stood up alongside you.","onboardingRolloutTitle":"Rollout","onboardingRolloutDescription":"First agent live quickly, then expansion department by department.","closingEyebrow":"Get started","closingTitle":"Map your first internal agent.","closingDescription":"Bring one workflow, your deployment constraints, and your hardest security question. We'll show you the shortest safe path to production — usually in one call.","closingFootnote":"Self-host the same stack, anytime.","onboardingProcessEyebrow":"Enterprise rollout","onboardingProcessTitle":"A clear path from security review to first agent in production.","architectureEyebrow":"Built for scale","architectureTitle":"Isolation by default. Scale without limits.","architectureDescription":"Every session runs on its own isolated machine on its own Git branch. Run hundreds of thousands of agents in parallel — nothing collides, every change merges back through a reviewable change request.","architectureSandboxTitle":"Sandbox per session","architectureSandboxDescription":"Each agent gets an isolated machine with a clean clone of main. No shared state, no cross-contamination.","architectureBranchTitle":"Branch per agent","architectureBranchDescription":"Work happens on branches and lands through change requests. Your agents follow the same discipline as your engineers.","architectureTenantTitle":"Multi-tenant from day one","architectureTenantDescription":"Built for whole companies, not single users. Hundreds of teammates, each running parallel agents, on one platform.","checklistGatewayTitle":"LLM gateway","checklistGatewayDescription":"One endpoint for every model, with budget controls and full observability. Bring your own keys or subscriptions."},"appHomeError":{"line65JsxTextSomethingWentWrong":"Something went wrong","line70JsxTextWeEncounteredAnUnexpectedErrorPleaseTryAgain":"We encountered an unexpected error. Please try again or return to the homepage.","line86JsxTextAttemptingRecovery":"attempting recovery","line94JsxTextTryAgain":"Try Again","line99JsxTextReturnHome":"Return Home"},"appHomeExplorationPage":{"line205JsxTextACalmerWayToEvaluateHowKortixShould":"A calmer way to evaluate how Kortix should explain itself.","line208JsxTextThisPageIsAWorkingWallArchitectureStudies":"This page is a working wall: architecture studies, filesystem proof, connector language, and positioning lines. The goal is not to ship all of it. The goal is to identify the strongest structure for the homepage.","line216JsxAttrLabelStackStudies":"Stack Studies","line228JsxAttrLabelProofElements":"Proof Elements","line243JsxAttrTitleMemoryModel":"Memory Model","line258JsxTextWhatHappenedAndWhen":"- what happened and when","line259JsxTextFactsSystemsStructure":"- facts, systems, structure","line260JsxTextWorkflowsAndHowToKnowledge":"- workflows and how-to knowledge","line273JsxAttrTitlePositioningLines":"Positioning Lines","line288JsxAttrTitleConnectorSurface":"Connector Surface","line306JsxAttrTitleEditorialRead":"Editorial Read","line309JsxTextBestHomepageAnchor":"Best homepage anchor:","line310JsxTextStateFirstItGetsToTheRealDifferentiator":"State First. It gets to the real differentiator fastest.","line313JsxTextBestSupportingProof":"Best supporting proof:","line314JsxTextFilesystemMemoryThoseTwoMakeTheIdeaFeel":"filesystem + memory. Those two make the idea feel concrete.","line317JsxTextDesignDirection":"Design direction:","line318JsxTextQuieterMoreEditorialLessProductDemoEnergy":"quieter, more editorial, less product-demo energy.","line323JsxAttrTitleRecommendedHomepageMix":"Recommended Homepage Mix","line325JsxTextText1LeadWithASingleStackGraphic":"1. Lead with a single stack graphic.","line326JsxTextText2FollowWithOneFilesystemProofBlock":"2. Follow with one filesystem proof block.","line327JsxTextText3AddOneLineAboutMemoryAndOne":"3. Add one line about memory and one line about connectors.","line328JsxTextText4KeepThePageEmotionallyCalmAndTechnically":"4. Keep the page emotionally calm and technically sharp.","line332JsxAttrTitleNextMove":"Next Move","line335JsxTextBringTheBestStudyBackHome":"Bring the best study back home"},"appHomeFactoryFactoryClient":{"line56JsxTextTheAutonomyFactory":"The Autonomy Factory","line62JsxTextWeBuild":"We build","line63JsxTextSelfDrivingCompanies":"self-driving companies.","line69JsxTextNotToolsNotAgentsNotWorkflowsCompaniesWith":"Not tools. Not agents. Not workflows. Companies — with engineering departments, operations teams, finance functions, customer support, growth engines — that run themselves. Agents doing the actual work, 24/7, without a human touching every task.","line80JsxTextTheRatio":"The ratio","line86JsxAttrLabelAgentsDoingTheWork":"Agents doing the work","line87JsxAttrLabelHumansVerifyingSteeringGoverning":"Humans verifying, steering, governing","line93JsxTextThisIsNotAForecastItIsOur":"This is not a forecast. It is our operating target — the ratio we run ourselves at today, and the ratio we build toward with every company we work with. Humans are not removed. They are elevated. They set direction, review outputs, make final calls on things that matter. Agents handle the rest.","line105JsxTextWhatWeMeanByFactory":"What we mean by factory","line111JsxTextAFactoryIsASystemForTurningInputs":"A factory is a system for turning inputs into outputs at scale, reliably, repeatedly, without depending on any individual person being present. That is what we build for companies.","line118JsxTextYouFeedTheFactoryYourGoalsYourTools":"You feed the factory your goals, your tools, your context, your standards. The factory produces: shipped code, closed tickets, drafted contracts, reconciled books, outbound campaigns, synthesized research, recruited candidates. Every day. Whether you are in the office or asleep.","line130JsxTextThePlaybook":"The playbook","line137JsxAttrTitleMapTheWork":"Map the work","line138JsxAttrBodyEveryCompanyHasProcessesThatRunOnHuman":"Every company has processes that run on human attention. We find them — support queues, reporting cycles, outbound sequences, QA checks, code review, invoice processing — and make them legible. You cannot automate what you have not named.","line142JsxAttrTitleBuildTheAgents":"Build the agents","line143JsxAttrBodyEachProcessBecomesAnAgentNotAChatbot":"Each process becomes an agent. Not a chatbot. Not a prompt wrapper. A specialist — with its own identity, permissions, tools, memory, and trigger rules. An engineering agent that ships PRs. A finance agent that closes the books. A support agent that resolves tickets before a human sees them.","line147JsxAttrTitleConnectEverything":"Connect everything","line148JsxAttrBodyAgentsAreOnlyAsPowerfulAsTheTools":"Agents are only as powerful as the tools they can reach. We wire the entire company stack — codebases, CRMs, databases, communication platforms, file systems, external APIs. An agent that cannot act is just a language model. An agent that can reach everything is an employee.","line152JsxAttrTitleRunTheLoop":"Run the loop","line153JsxTextGoalLoopTheAutonomousExecutionLoopAnAgent":"Goal loop: the autonomous execution loop. An agent takes a task, works it through to completion, self-verifies the result, and only stops when it can prove the output is correct. No hand-holding. No approval at every step. The job either gets done or the agent escalates with a clear explanation of why.","line157JsxAttrTitleLetMemoryCompound":"Let memory compound","line158JsxAttrBodyEverySessionEveryDecisionEveryCorrectionIsRetained":"Every session, every decision, every correction is retained. Agents remember what worked. They remember your preferences, your standards, your edge cases. The longer the factory runs, the smarter it gets. This is the compounding advantage humans cannot replicate at scale.","line162JsxAttrTitleHumansGovernNotOperate":"Humans govern, not operate","line163JsxAttrBodyTheFinalLayerIsHumanGovernanceReviewingWhat":"The final layer is human governance: reviewing what matters, correcting course, setting new objectives. Not touching every task. Not approving every output. Governing the system. This is the 24% — and it is the most leveraged 24% these people will ever spend.","line172JsxTextHighestConvictionFromHighestExposure":"Highest conviction from highest exposure","line178JsxTextWeRunOurOwnCompanyOnKortixEvery":"We run our own company on Kortix. Every day. Our engineering, our operations, our growth — agents doing the work, humans governing the system. We eat our own output before we ship it to anyone else.","line186JsxTextThisIsNotAProductDemoItIs":"This is not a product demo. It is how we operate. The credibility of the playbook comes from the fact that we are living inside it. Every failure we encounter, we fix. Every edge case we hit, we document. The factory improves itself.","line197JsxTextTheMigration":"The migration","line203JsxTextKortixIsInfrastructureThePlatformIsNotThe":"Kortix is infrastructure. The platform is not the point.","line209JsxTextThePointIsTheMigrationFromHumanOperated":"The point is the migration — from human-operated to AI-operated. From companies that require constant human attention to keep running, to companies that run themselves and only require human judgment to keep improving.","line217JsxTextWeThinkEverySeriousCompanyWillMakeThis":"We think every serious company will make this migration in the next few years. The ones that move early will be operating at a cost base and execution speed that latecomers cannot catch. We are building the path — and walking it first.","line228JsxTextWeAreASmallTeamWeCareThat":"We are a small team. We care that the playbook is real, that it works, and that every company we help run this way comes out the other side faster and leaner than when they started.","line236JsxTextIfYouWantToBuildThisWithUs":"If you want to build this with us —","line241JsxTextWeAposReHiring":"we're hiring.","line243JsxTextIfYouWantToRunYourCompanyOn":"If you want to run your company on it —","line248JsxTextReachOut":"reach out."},"appHomeHomeWipPage":{"line213JsxAttrHintScreenRecordingOrScreenshotOfSunaPerformingThis":"Screen recording or screenshot of Suna performing this workflow end-to-end.","line269JsxTextOpenSourceSelfHostableMitLicensedCore":"Open source · Self-hostable · MIT-licensed core","line272JsxTextTheOpen":"The open","line273JsxTextAiWorkspace":"AI workspace","line276JsxTextHandOffYourMostTimeConsumingWorkSuna":"Hand off your most time-consuming work. Suna runs across your local files, cloud tools, and the browser, and ships back finished deliverables — spreadsheets, decks, docs, PDFs.","line285JsxTextGetStartedFree":"Get Started Free","line333JsxAttrLabelHeroVideo6090sProductLoom":"HERO VIDEO — 60–90s product loom","line334JsxAttrHintOnePromptSunaSpawnsParallelTasksFinishedDeck":"One prompt → Suna spawns parallel tasks → finished deck/sheet/doc returned. Or swap in YouTube embed Eu5mYMavctM.","line346JsxTextText01Deliverables":"/01 · Deliverables","line349JsxTextThisIsWhatComesBack":"This is what comes back.","line352JsxTextNotTranscriptsNotChatsFinishedWorkTheArtifact":"Not transcripts. Not chats. Finished work — the artifact you would have built yourself, returned ready to send.","line361JsxAttrTitleSlideDecks":"Slide decks","line362JsxAttrDescPitchDecksBoardDecksWeeklyReadoutsAssembledFrom":"Pitch decks, board decks, weekly readouts — assembled from your sources, formatted to your brand.","line368JsxAttrDescModelsDashboardsCompSetsScrapedListsCleanedStructured":"Models, dashboards, comp sets, scraped lists. Cleaned, structured, ready to filter.","line373JsxAttrTitleDocumentsPdfs":"Documents & PDFs","line374JsxAttrDescReportsBriefsContractsMemosDraftedFromPrimarySources":"Reports, briefs, contracts, memos. Drafted from primary sources, cited and ready to ship.","line379JsxAttrTitleResearchSyntheses":"Research syntheses","line380JsxAttrDescReadThroughAcrossDozensOfSourcesReturnedAs":"Read-through across dozens of sources, returned as a structured summary you can act on.","line385JsxAttrTitleImagesCreative":"Images & creative","line386JsxAttrDescOnBrandVisualsDiagramsSocialCardsMarketingAssets":"On-brand visuals, diagrams, social cards, marketing assets — generated and edited in-flow.","line394JsxTextAndAnythingElse":"…and anything else","line397JsxTextSunaRunsInAFullLinuxEnvironmentWith":"Suna runs in a full Linux environment with internet, browser, and your tools — so the deliverable is whatever the work needs.","line400JsxTextExploreTemplates":"Explore templates","line412JsxTextText02WhereItWorks":"/02 · Where it works","line415JsxTextSunaMeetsWorkWhereItLives":"Suna meets work where it lives.","line418JsxTextMostAgentsPickOneSurfaceSunaUnifiesAll":"Most agents pick one surface. Suna unifies all three — your local files and apps, your cloud stack, and the open web.","line427JsxAttrTitleLocalFilesApps":"Local files & apps","line428JsxAttrDescSunaReadsWritesAndReorganizesTheFoldersDrives":"Suna reads, writes, and reorganizes the folders, drives, and apps on the machine you're already using.","line439JsxAttrTitleCloudTools":"Cloud tools","line440JsxAttrDescText3000ConnectorsViaOauthMcpRestAnd":"3,000+ connectors via OAuth, MCP, REST, and CLI. The tools your team already runs on.","line454JsxAttrTitleTheBrowser":"The browser","line455JsxAttrDescARealBrowserSessionSunaLogsInNavigates":"A real browser session — Suna logs in, navigates, fills forms, scrapes, and clicks through anything you can.","line470JsxAttrLabelDemoTriSurfaceRuntime":"DEMO: tri-surface runtime","line471JsxAttrHintSplitScreenRecordingSunaTouchingALocalFile":"Split-screen recording: Suna touching a local file (left) → calling a SaaS tool (middle) → driving the browser (right). 30s loop, no audio.","line484JsxTextText03WhatPeopleHandOff":"/03 · What people hand off","line487JsxTextTheWorkYouDRatherNotDoYourself":"The work you'd rather not do yourself.","line496JsxAttrTitlePrepareDocumentsFromSourceFiles":"Prepare documents from source files","line497JsxAttrDescHandSunaAFolderOfDraftsTranscriptsAnd":"Hand Suna a folder of drafts, transcripts, and attachments. It assembles, synthesizes, and returns a structured draft — leaving only refinement for you.","line504JsxAttrTitleSynthesizeResearchAcrossDozensOfSources":"Synthesize research across dozens of sources","line505JsxAttrDescShareAQuestionAndACorpusPdfsWeb":"Share a question and a corpus — PDFs, web pages, Notion, Drive. Suna reads through everything and returns a summary ready for review, with citations.","line512JsxAttrTitleExtractStructuredDataFromMessyFiles":"Extract structured data from messy files","line513JsxAttrDescContractsInvoicesScrapedTablesScannedDocsSunaPulls":"Contracts, invoices, scraped tables, scanned docs. Suna pulls out the fields that matter and returns a clean spreadsheet or JSON.","line520JsxAttrTitleBuildSlideDecksFromYourRawInputs":"Build slide decks from your raw inputs","line521JsxAttrDescPointSunaAtTheSourceADocA":"Point Suna at the source — a doc, a meeting transcript, a quarter of metrics — and get a brand-formatted deck back, not a wireframe.","line534JsxTextText04ParallelByDefault":"/04 · Parallel by default","line537JsxTextRunManyTasksAtOnce":"Run many tasks at once.","line540JsxTextStopBabysittingOnePromptAtATimeKick":"Stop babysitting one prompt at a time. Kick off a dozen jobs in parallel, walk away, and check in when they're done. Each task gets its own sandbox, its own context, its own deliverable.","line559JsxAttrLabelScreenshotParallelTasksDashboard":"SCREENSHOT: parallel tasks dashboard","line560JsxAttrHintCaptureOfTheProjectsTaskListWith6":"Capture of the /projects task list with 6-10 tasks running concurrently, including statuses, progress bars, and deliverable thumbnails.","line573JsxTextText05OpenByDefault":"/05 · Open by default","line576JsxTextYoursForever":"Yours. Forever.","line579JsxTextCoworkClassCapabilityWithoutTheVendorLockIn":"Cowork-class capability without the vendor lock-in. Suna is open source, MIT-licensed at the core, and runs on your hardware or your cloud. Every secret stays where you put it.","line606JsxTextSelfHostInOneLine":"Self-host in one line.","line607JsxTextDockerSingleBinaryOrFullKubernetesBringYour":"Docker, single binary, or full Kubernetes. Bring your own models.","line633JsxTextText06ForTeams":"/06 · For teams","line636JsxTextAnAiWorkspaceYourWholeCompanyCanShare":"An AI workspace your whole company can share.","line639JsxTextSsoRoleBasedAccessAuditLogsSharedAgents":"SSO, role-based access, audit logs, shared agents and skills, per-team budgets. Deploy once, give every department their own coworker.","line643JsxTextStartATeamWorkspace":"Start a team workspace","line646JsxTextTalkToSales":"Talk to sales","line653JsxAttrLabelScreenshotTeamWorkspace":"SCREENSHOT: team workspace","line654JsxAttrHintOrgLevelAdminSharedAgentsViewMultipleSeats":"Org-level admin / shared agents view. Multiple seats, agent permissions, audit log glimpse. Optional: Slack message of Suna posting a deliverable.","line667JsxTextText07UnderTheHood":"/07 · Under the hood","line670JsxTextBuiltOnARealMachine":"Built on a real machine.","line673JsxTextEverySunaWorkspaceIsAFullLinuxEnvironment":"Every Suna workspace is a full Linux environment — bash, filesystem, package managers, browsers, the whole software ecosystem. That's why it can actually finish things.","line702JsxTextText08Faq":"/08 · FAQ","line705JsxTextQuestionsAnswered":"Questions, answered.","line746JsxTextHandOffTheWork":"Hand off the work.","line747JsxTextGetBackTheDeliverable":"Get back the deliverable.","line753JsxTextGetStartedFree":"Get started free","line757JsxTextStarOnGithub":"Star on GitHub","line780JsxTextCurlFsslKortixComInstall":"curl -fsSL kortix.com/install","line797JsxTextGetStarted":"Get started"},"appHomeMilanoPage":{"line92JsxTextMilanoItaly":"Milano, Italy","line101JsxTextIlTuoWorkerIaAutonomo":"Il Tuo Worker IA Autonomo","line104JsxTextCostruitoPerCompitiComplessiProgettatoPerTuttoL":"Costruito per compiti complessi, progettato per tutto. L'assistente IA definitivo che gestisce tutto—dalle richieste semplici ai progetti mega-complessi.","line113JsxAttrPlaceholderDescriviIlTuoCompito":"Descrivi il tuo compito..."},"appHomePage":{"useCasesEyebrow":"Internal agents","useCasesTitle":"Start with one useful agent.","useCasesDescription":"Each is a Kortix project you can configure, deploy, and own.","useCasesLearnMore":"See how built","useCaseDemos":{"triageCustomerSignals":{"tabTitle":"Support agent","tabDescription":"Answers from docs and order tools.","eyebrow":"Internal agent","title":"A support agent that closes tickets.","description":"Reads the ticket, drafts a reply from your docs, and waits for sign-off.","log":["Pulled ticket + customer history","Drafted reply from docs","Flagged refund for approval","Sent, logged to audit trail"]},"shipBacklogTickets":{"tabTitle":"Engineering agent","tabDescription":"Reviews PRs and opens fixes.","eyebrow":"Internal agent","title":"An engineering agent that ships fixes.","description":"Reviews the PR, opens a fix branch, and submits a change request.","log":["Reviewed diff in sandbox","Reproduced the bug","Opened fix branch","Submitted change request"]},"fillThePipeline":{"tabTitle":"Research agent","tabDescription":"Briefs teams from trusted sources.","eyebrow":"Internal agent","title":"A research agent that briefs your team.","description":"Gathers from approved sources and posts a brief before the call.","log":["Gathered from approved sources","Cross-checked the facts","Wrote the brief","Posted for the team"]},"closeTheBooks":{"tabTitle":"Finance agent","tabDescription":"Reconciles and flags exceptions.","eyebrow":"Internal agent","title":"A finance agent that closes the month.","description":"Reconciles transactions, flags exceptions, and holds for approval.","log":["Matched transactions","Flagged 3 exceptions","Drafted summary","Held for sign-off"]},"briefToCampaign":{"tabTitle":"Marketing agent","tabDescription":"Turns briefs into drafts.","eyebrow":"Internal agent","title":"A marketing agent that runs the brief.","description":"Turns a brief into drafts, then routes them for review.","log":["Read the brief","Drafted the assets","Checked brand rules","Routed for review"]},"runTheBackOffice":{"tabTitle":"Operations agent","tabDescription":"Runs back-office SOPs.","eyebrow":"Internal agent","title":"An operations agent that runs the SOP.","description":"Runs the SOP step by step, pausing at each approval gate.","log":["Loaded the SOP","Ran each step in sandbox","Paused at approval gate","Closed the task"]}},"line149JsxTextTalkToSales":"Request demo","line267JsxTextStarsOnGitHub":"stars on GitHub","line269JsxTextALeadingOpenSourceAIWorkspace":"The open-source alternative to Claude Cowork and ChatGPT Work.","line331JsxTextGiveYourCompanyAWorkforce":"Run your whole company from one repo you own.","line334JsxTextFreeToSelfHostManagedCloudFrom20":"Start with one workflow, connect the tools it needs, and let your team use it from Slack, the web, or the CLI. Self-host for free, or managed cloud from $20 / seat + usage.","line337JsxTextGetStarted":"Get started","line338JsxTextTalkToSales":"Request demo","line339JsxTextSeePricing":"See pricing","line342JsxTextOpenSourceSSORBACOnPremNoLock":"Open source · SSO, RBAC & on-prem · Any model, your keys · No lock-in","heroEyebrow":"The open-source AI Management System","heroCommandCenter":"The AI command center for a workforce of agents.","heroAiWorkforce":"Your whole company. One repo you own.","heroDescription":"Every agent, skill, connector, and memory is a file — 3,000+ tools connected, one versioned source of truth, scoped so each person and agent has exactly the right access. The agents work on real cloud computers and land what they produce through a change request you approve.","heroTrustStrip":"Open source · Any model, your keys · Self-host, VPC, or on-prem","startBuildingCta":"Get started","problemEyebrow":"The AI gap","problemTitle":"Your best people have AI superpowers. The rest of your company doesn't.","problemDescription":"A handful of people on every team have built AI loops that do their work for them. Everyone else isn't sure what to use, when. That knowledge stays locked in one person's bucket — and the company never compounds it.","problemTurn":"Kortix takes what your best people build and shares it with everyone — the same agents, skills, and memory, as files your whole company uses.","problemCard1Title":"Locked in the 1%","problemCard1Body":"One power user's workflow, invisible to everyone else.","problemCard2Title":"Scattered across tools","problemCard2Body":"Context in one app, agents in another, the glue rebuilt every time.","problemCard3Title":"Rented back to you","problemCard3Body":"Your company's brain lives in a model lab you don't control.","codeEyebrow":"Everything is code you own","codeTitle":"Your whole company, as files.","codeDescription":"Kortix treats your company as a Git repo. Every agent, skill, connector, policy, and memory is a file your whole company shares — one config, one source of truth, so everyone works from the same agents and skills, and the company's memory compounds in one place instead of scattering. grep it, diff it, own it outright.","codePoint1Title":"A skill for every job","codePoint1Body":"How your company does the work, written down once and reused everywhere.","codePoint2Title":"Agents live with their context","codePoint2Body":"Every agent is a file in the same repo as the skills it needs.","codePoint3Title":"Shared by the whole company","codePoint3Body":"One config everyone works from — not twelve SaaS tools each holding a slice.","codePoint4Title":"Memory that compounds","codePoint4Body":"Every reviewed change lands in main, so skills and context grow instead of getting lost.","workforceEyebrow":"Org-scale, in parallel","workforceTitle":"Not one assistant. A whole workforce.","workforceDescription":"Every skill can become an agent, and the agents run as a workforce — thousands at once, each in its own isolated sandbox on its own branch. They do real work on real machines and return finished deliverables, then land it back to one hive-mind main through a reviewed change request.","workforcePoint1Title":"You just ask","workforcePoint1Body":"No one remembers which agent does what. Ask in plain language and it routes to the right skill.","workforcePoint2Title":"Real work, not chat","workforcePoint2Body":"Agents act in your tools and return a report, a deck, a fix, a reply — not a paragraph telling you how.","workforcePoint3Title":"Isolated and parallel","workforcePoint3Body":"Every session is walled off in its own sandbox. Run fifty at once with zero crossover; durable changes return as reviewable change requests.","openTitle":"Open. Self-hostable. Yours down to the metal.","openSubtitle":"Most AI gives you a toy or a cage. Kortix is neither.","openRow1Title":"Open source","openRow1Body":"One of the largest open AI-for-work platforms. Read every line — nothing is a black box.","openRow2Title":"Any model, your keys","openRow2Body":"Bring any provider, or the Claude, ChatGPT, or Cursor subscription you already pay for.","openRow3Title":"Self-host anywhere","openRow3Body":"Managed cloud, your VPC, on-prem, even air-gapped. Nothing phones home.","openRow4Title":"Fork a whole company","openRow4Body":"Start from another company's OS in one click — and publish your own.","openClosing":"Your company's brain shouldn't live in twelve tools that lease it back to you.","problemOnePercentLabel":"1%","problemOnePercentTitle":"Your power users","problemOnePercentBody":"Built the agents and skills that do their work for them — locked in one person's setup, invisible to everyone else.","problemRestLabel":"99%","problemRestTitle":"Everyone else","problemRestBody":"Not sure what to use, or when. The company never compounds what its best people already figured out.","codeWindowTitle":"acme — company OS","codeBranchLabel":"main","runsEyebrow":"How the company runs","runsTitle":"One ask. A workforce. One shared brain everyone builds on.","runsDescription":"Every request fans out into isolated sessions, each in its own sandbox on its own branch. They work in parallel, then land it back to one shared main through a reviewed change request — so everyone's work and the company's memory compound in one place.","runsAsk":"You ask — or a trigger fires","runsSessionMeta":"isolated sandbox · own branch","runsSession1":"session/outreach","runsSession2":"session/pr-review","runsSession3":"session/close-month","runsChangeRequest":"change request","runsMain":"main · shared by the whole company","runsPoint1Title":"Isolated & parallel","runsPoint1Body":"Thousands of sessions at once, each walled off in its own microVM sandbox.","runsPoint2Title":"Real work, not chat","runsPoint2Body":"Agents act on real machines and return finished deliverables, not a paragraph.","runsPoint3Title":"Reviewed into main","runsPoint3Body":"Durable changes land only through an approved change request you can diff.","runsPoint4Title":"Compounds over time","runsPoint4Body":"Every reviewed change lands in one shared main, so skills and memory grow instead of scattering.","surfacesChips":"Slack · Microsoft Teams · Web workspace · CLI · API & SDK · MCP · Triggers","chatMorningBriefThinking":"Gathering overnight updates...","chatMorningBriefMarkdown":"##### Here's your morning brief:\n\n- **Stripe revenue:** +$3,482\n- **3 enterprise leads replied**\n- **2 customers reported onboarding friction**\n- **Production uptime:** 99.98%\n- **GitHub:** 14 PRs merged\n- **Slack:** 3 discussions need your input\n\n##### I've prepared a detailed report if you'd like to review it.","howItWorksEyebrow":"From zero to running","howItWorksTitle":"Live across your company in weeks, not quarters.","howItWorksDescription":"No rip-and-replace. Stand up your first agent in an afternoon, then scale team by team.","howItWorksStep1Label":"Create your project","howItWorksStep1Detail":"Connect the tools your company runs on, and Kortix builds a shared brain from everything it sees.","howItWorksStep2Label":"Configure your agents","howItWorksStep2Detail":"Define agents, skills, and automations in the UI or as code. Set who can do what — and where a human signs off.","howItWorksStep3Label":"Deploy anywhere","howItWorksStep3Detail":"Every agent runs in its own isolated sandbox, on the surface your team already uses.","howItWorksStep4Label":"It improves over time","howItWorksStep4Detail":"Skills and memory accumulate with every run. Your company gets smarter — and it's all versioned.","splitEyebrow":"Two ways in","splitTitle":"Builders configure. Teams use.","splitDescription":"Builders define agents as code with full control. Teams use them like a chat app, with guardrails working quietly underneath.","splitCompaniesEyebrow":"For teams","splitCompaniesTitle":"Use it like chat.","splitCompaniesBody":"Give every team agents that feel as simple as ChatGPT — with scoped access, approvals, and a full audit trail working underneath.","splitCompaniesPointOne":"As easy as a chat app","splitCompaniesPointTwo":"Approvals before agents act","splitCompaniesPointThree":"Your data and config stay yours","splitBuildersEyebrow":"For builders","splitBuildersTitle":"Configure it like software.","splitBuildersBody":"Define agents, skills, tools, and policies as code. Bring the models and keys you already pay for. kortix init, configure, deploy — self-host or run on our cloud.","splitBuildersPointOne":"Your stack, your models, your keys","splitBuildersPointTwo":"Skills, tools & policies as code","splitBuildersPointThree":"Self-host or managed cloud","differentScreenEyebrow":"Everywhere your team works","differentScreenSectionTitle":"Chat, Slack, Teams, or your own product.","differentScreenSectionDescription":"Your team talks to agents from a clean web and mobile workspace, from Slack or Microsoft Teams, or right inside your own app via the API. Same agents, same guardrails, every surface.","surfaceWebWorkspace":"Web workspace","surfaceMobileApp":"Mobile app","surfaceSlack":"Slack","surfaceTeams":"Microsoft Teams","surfaceApiSdk":"API & SDK","surfaceTriggers":"Triggers (cron & webhook)","companyAsCodeEyebrow":"Open & code-native","companyAsCodeTitle":"Your whole company, as code.","companyAsCodeDescription":"Every agent, skill, automation, and policy is a versioned file in a git repo you control. Diff it, review it, roll it back — like software. Run it on our cloud or self-host anywhere. No black box, no lock-in.","companyAsCodeBulletConfig":"Agents, skills, and automations as plain files","companyAsCodeBulletAgents":"Every change versioned, reviewable, reversible","companyAsCodeBulletGit":"One config, one source of truth per company","companyAsCodeBulletSelfHost":"Self-host on your cloud, VPC, or on-prem","connectorsEyebrow":"Connect everything","connectorsTitle":"One secure connection to every tool you run on.","connectorsDescription":"1-click connect to 3,000+ apps, plus any MCP, OpenAPI, or HTTP service. Agents get scoped, audited access through a single secure gateway — one connection, not fifty loose API keys.","connectorsBulletOne":"3,000+ apps, one click","connectorsBulletTwo":"Bring any MCP, OpenAPI, or HTTP tool","connectorsBulletThree":"Scoped per person, per agent, per team","connectorsBulletFour":"Secrets stay encrypted and never leak into a session","enterpriseEyebrow":"Enterprise & security","enterpriseTitle":"Built to survive a security review.","enterpriseDescription":"Isolated execution, scoped credentials, a complete audit trail, and human approval gates — not retrofits, it's how Kortix is built. Run it on our cloud or your own infrastructure.","enterpriseScopedTitle":"Scoped access","enterpriseScopedDescription":"Per-resource permissions for every person and agent. SSO, RBAC, and groups.","enterpriseApprovalsTitle":"Human approval","enterpriseApprovalsDescription":"Agents pause for sign-off before they touch anything that matters.","enterpriseIsolationTitle":"Hard isolation","enterpriseIsolationDescription":"Every session runs in its own sandboxed machine — MicroVM-level isolation.","enterpriseDataTitle":"Own your data","enterpriseDataDescription":"Self-host, VPC, on-prem, or air-gapped. Your data, config, and models stay yours.","enterpriseAccordionIsolationTitle":"Isolated workspaces","enterpriseAccordionIsolationTeaser":"One task, one workspace, one reviewable trail","enterpriseAccordionIsolationBody":"Every session spins up its own isolated sandbox on its own Git branch — a clean clone of main with its own compute. Thousands of coworkers can run in parallel with zero crossover, and durable changes return only as reviewable change requests.","enterpriseAccordionTokenTitle":"Scoped access","enterpriseAccordionTokenTeaser":"Connected tools without loose credentials","enterpriseAccordionTokenBody":"Your API keys never enter a sandbox. Coworkers act through a single scoped Kortix token — permissions set per agent and per tool, network rules you control with allow, ask first, or block. Rotate one credential to revoke everything, everywhere.","enterpriseAccordionAuditTitle":"Audit everything","enterpriseAccordionAuditTeaser":"Logs, budgets, and a Git history","enterpriseAccordionAuditBody":"Every model call passes through the LLM gateway with full logs, cost tracking, and per-team budgets. Every change — human or agent — lands as a Git commit you can review, diff, and revert. The audit trail isn't a feature bolted on; it's the repo itself.","enterpriseAccordionSoc2Title":"SOC 2 Type II — in progress","enterpriseAccordionSocTeaserLabel":"Audit underway, controls already live","enterpriseAccordionSocBody":"Our SOC 2 Type II audit is underway. The controls it measures — isolated execution, scoped credentials, complete audit trails, access management — are already how Kortix is built, not retrofits. Security review documentation available on request.","enterpriseAccordionSelfhostTitle":"Self-host anywhere","enterpriseAccordionSelfhostTeaser":"Managed cloud · VPC · on-prem · air-gapped","enterpriseAccordionSelfhostBody":"kortix self-host init runs the entire platform from Docker images — managed cloud, your VPC, on-prem, even air-gapped. Same product everywhere, nothing phones home. Your data, your models, your keys, on infrastructure you control.","enterpriseStageTokenRejected":"your api keys","enterpriseStageTokenAccepted":"1 kortix token","enterpriseStageAuditRow0":"POST /v1/chat · $0.04","enterpriseStageAuditRow1":"tool: linear.create · ok","enterpriseStageAuditRow2":"commit 4b8aa1 · skill","enterpriseStageAuditRow3":"budget: 64% of cap","enterpriseStageSoc2Control0":"Isolated execution","enterpriseStageSoc2Control1":"Scoped credentials","enterpriseStageSoc2Control2":"Full audit trail","enterpriseStageSoc2Control3":"Access management","enterpriseStageSocBadge":"SOC 2 Type II · in progress","enterpriseStageSelfhostHost0":"kortix managed cloud","enterpriseStageSelfhostHost1":"your VPC","enterpriseStageSelfhostHost2":"on-prem","enterpriseStageSelfhostHost3":"air-gapped","enterpriseStageSelfhostCommand":"$ kortix self-host init","enterpriseCtaPrimary":"Talk to us about enterprise","enterpriseCtaSecondary":"Read the security model","enterpriseLearnMore":"Learn more about enterprise","ctaBadge":"Get started","statConnectors":"connectors out of the box","statCommandCenter":"command center for everything","statAlwaysOn":"agents that never clock out","statOpenSelfHostable":"open & self-hostable","workforceMapEyebrow":"Open platform","workforceMapTitle":"Build once. Run anywhere.","workforceMapDescription":"Build internal agents once and run them on cloud, your own infra, or an open marketplace.","workforceMapAgentsTitle":"Code-based agents","workforceMapAgentsDesc":"Persona, skills, and tools as files.","workforceMapAutomationsTitle":"Portable runtime","workforceMapAutomationsDesc":"Run on cloud, self-host, or VPC.","workforceMapConnectorsTitle":"Connect to Slack","workforceMapConnectorsDesc":"Reach your team where they work.","workforceMapMemoryTitle":"Marketplace-ready","workforceMapMemoryDesc":"Share templates without locking users in.","workforceMapPillCommunication":"kortix init","workforceMapPillDocs":"Configure","workforceMapPillCode":"kortix deploy","workforceMapPillCrm":"Slack","workforceMapPillData":"Data","howItWorksSectionTitle":"From a request to finished work.","howItWorksSectionDescription":"Connect your tools, ask for the outcome, and review what comes back. The best workflows become reusable skills, and the company's memory compounds — for everyone.","storySkillsEyebrow":"Skills","storySkillsTitle":"Turn your best workflows into skills everyone can use.","storySkillsDescription":"Skills teach Kortix how your company does specific work: prepping for a sales call, triaging tickets, drafting a board update, reviewing contracts, or creating a campaign report.","storySkillsBulletCapture":"Capture how your best people work","storySkillsBulletReuse":"Reuse workflows across teams and agents","storySkillsBulletReview":"Review and improve skills over time","storySkillsBulletDescription":"Package the workflow once, improve it like a living playbook, and make it available to every coworker that needs it.","storyMemoryEyebrow":"Memory","storyMemoryTitle":"Stop re-explaining your company.","storyMemoryDescription":"Kortix builds context from your connected tools, projects, files, previous work, and team knowledge. Every session starts with the background a capable coworker would already know.","storyMemoryBulletContext":"Remembers useful company context","storyMemoryBulletLearning":"Carries learning into future work","storyMemoryBulletGrounded":"Keeps output grounded in real tools and files","storyMemoryBulletDescription":"The coworker starts with the context it needs, so the result gets sharper without another setup meeting.","storySurfacesEyebrow":"Where your team already works","storySurfacesTitle":"You don't come to Kortix. It comes to you.","storySurfacesDescription":"The friction of opening one more app is why most AI never gets used. So everyone uses the same agents, skills, and memory the easiest way — from Slack, Teams, the web, or their phone. Same config, same guardrails, every surface.","storySurfaceConnected":"Connected","storySurfaceApprove":"Approve","storySurfaceSlackTitle":"Slack","storySurfaceSlackBody":"Turn channel requests into briefs, reports, and approvals — right in the thread.","storySurfaceSlackAsk":"@Kortix pull last week's revenue and post it here","storySurfaceSlackReply":"Revenue last week: $48.2k, up 12% week over week. Full breakdown attached.","storySurfaceSlackDeliverable":"revenue.pdf","storySurfaceSlackCta":"Add to Slack","storySurfaceTeamsTitle":"Microsoft Teams","storySurfaceTeamsBody":"Bring Kortix into Teams so work moves where your projects already live.","storySurfaceTeamsAsk":"@Kortix draft the QBR deck for Acme and tag me when it's ready","storySurfaceTeamsReply":"Draft ready — 14 slides covering pipeline, churn, and Q3 targets. Tagging you for review.","storySurfaceTeamsDeliverable":"acme-qbr.pptx","storySurfaceTeamsCta":"Add to Microsoft Teams","storySurfaceTeamsComingSoon":"Coming soon","storyOutcomesEyebrow":"Start small","storyOutcomesTitle":"Start with one useful agent. Own the system it grows into.","storyOutcomesDescription":"Pick one job that bounces between people, tabs, and tools, and hand it to an agent. It returns finished work — and becomes the first skill in a company that compounds.","storyUseCasesEyebrow":"Use cases","storyUseCasesTitle":"Start where work is already waiting.","storyUseCasesDescription":"Kortix can help every team with the tools they already use. Pick a workflow, connect the right apps through Pipedream, and show a finished result people can review, send, or build on.","storyUseCasesTabGrowth":"Growth","storyUseCasesTabPeopleLegal":"People & Legal","storyUseCasesTabFinanceOps":"Finance & Ops","storyUseCasesTabSupportData":"Support & Data","storyUseCasesActiveLabel":"Active area","storyUseCasesPlatformLabel":"Connects through Pipedream","storyUseCasesWorkflowLabel":"Workflow","storyUseCasesStackLabel":"Connector stack","storyUseCasesGrowthSummary":"For sales and marketing teams, Kortix handles the prep, cleanup, routing, and reporting that usually sits between meetings, CRM updates, spreadsheets, and Slack threads.","storyUseCasesPeopleLegalSummary":"For people and legal teams, Kortix turns sensitive review work into a clear draft, scorecard, memo, or checklist with a human checkpoint before anything moves forward.","storyUseCasesFinanceOpsSummary":"For finance and operations teams, Kortix helps with recurring close, cash, invoice, and leadership reporting work so teams spend less time assembling the same updates by hand.","storyUseCasesSupportDataSummary":"For support and data teams, Kortix triages high-volume requests, turns resolved work into shared knowledge, and answers business questions from systems of record.","storyUseCasePreCallTitle":"Pre-call brief and custom deck","storyUseCasePreCallBody":"Reads the meeting, researches the account, checks CRM history, and pulls together the most relevant notes, risks, and talking points.","storyUseCasePreCallPlatforms":"Google Calendar / Outlook Calendar · Salesforce / HubSpot / Pipedrive · web search · Slack or Gmail","storyUseCasePostCallTitle":"Post-call follow-up","storyUseCasePostCallBody":"Summarizes the discussion, extracts next steps, updates the opportunity, and drafts the follow-up in the right tone.","storyUseCasePostCallPlatforms":"Gong / Fireflies / Otter / Zoom · Salesforce / HubSpot · Gmail / Outlook","storyUseCaseLeadRoutingTitle":"Inbound lead enrichment and routing","storyUseCaseLeadRoutingBody":"Enriches the person and company, scores fit, creates or updates the record, and decides who should own the next step.","storyUseCaseLeadRoutingPlatforms":"Typeform / Webflow / HubSpot Forms · Clearbit / Apollo · Salesforce / HubSpot · Slack","storyUseCaseCampaignReportTitle":"Campaign performance report","storyUseCaseCampaignReportBody":"Pulls analytics, ad spend, CRM impact, and nurture performance into one plain-English readout with charts.","storyUseCaseCampaignReportPlatforms":"GA4 · HubSpot / Marketo · Google Ads / Meta Ads / LinkedIn Ads · Google Sheets · Slack","storyUseCaseCvScreeningTitle":"CV screening and scorecard","storyUseCaseCvScreeningBody":"Parses the resume, compares it with the job spec, checks for must-haves, and prepares a structured review.","storyUseCaseCvScreeningPlatforms":"Greenhouse / Lever / Ashby / Workable · Slack · Gmail","storyUseCaseOnboardingTitle":"Onboarding kickoff","storyUseCaseOnboardingBody":"Creates the onboarding checklist, drafts the welcome email, prepares the document folder, and pings the right owners.","storyUseCaseOnboardingPlatforms":"Workday / BambooHR / HiBob / Rippling · Google Drive / Notion · Slack · Gmail","storyUseCaseNdaTitle":"NDA triage","storyUseCaseNdaBody":"Checks the document against the playbook, highlights unusual clauses, and marks the changes legal should inspect.","storyUseCaseNdaPlatforms":"Gmail / Outlook · Google Drive / SharePoint · DocuSign","storyUseCaseContractReviewTitle":"Contract review","storyUseCaseContractReviewBody":"Compares the contract with your negotiation playbook, spots deviations, and explains the business impact.","storyUseCaseContractReviewPlatforms":"Gmail / Google Drive / SharePoint · Ironclad / DocuSign · Slack","storyUseCaseCloseTitle":"Month-end close support","storyUseCaseCloseBody":"Runs reconciliations, compares balances, flags anomalies, and drafts the first version of the flux narrative.","storyUseCaseClosePlatforms":"NetSuite / QuickBooks / Xero / Sage · Google Sheets · Slack","storyUseCaseInvoiceTitle":"Invoice processing","storyUseCaseInvoiceBody":"Extracts invoice details, matches them to a PO or vendor record, pushes clean entries forward, and flags mismatches.","storyUseCaseInvoicePlatforms":"Gmail / Outlook · QuickBooks / NetSuite / Xero · Bill.com / Ramp / Brex · Slack","storyUseCaseCashTitle":"Daily cash and AR report","storyUseCaseCashBody":"Pulls bank, accounting, payment, and spreadsheet data, then highlights balance changes and collection risks.","storyUseCaseCashPlatforms":"QuickBooks / NetSuite / Xero · Plaid / Stripe · Google Sheets · Slack","storyUseCaseExecBriefTitle":"Exec daily briefing","storyUseCaseExecBriefBody":"Aggregates calendar, email, chat, CRM, sheets, and analytics into a single operating brief.","storyUseCaseExecBriefPlatforms":"Google Calendar · Gmail · Slack · Salesforce / HubSpot · Google Sheets / GA4","storyUseCaseTicketTriageTitle":"Ticket triage","storyUseCaseTicketTriageBody":"Categorizes the issue, sets priority, drafts a customer reply, and escalates bugs or product work to the right place.","storyUseCaseTicketTriagePlatforms":"Zendesk / Intercom / Freshdesk / Front · Slack · Jira / Linear","storyUseCaseKbTitle":"Knowledge-base generation","storyUseCaseKbBody":"Turns resolved tickets into a draft help article, checks the answer against existing docs, and routes it for review.","storyUseCaseKbPlatforms":"Zendesk / Intercom · Notion / Confluence / Zendesk Guide · Slack","storyUseCaseAnalyticsTitle":"Data and analytics on demand","storyUseCaseAnalyticsBody":"Finds the right data source, writes the query, runs it, checks the result, and turns it into a readable answer.","storyUseCaseAnalyticsPlatforms":"Snowflake / BigQuery / PostgreSQL / Redshift · Slack · Google Sheets","storyUseCaseCompetitiveTitle":"Competitive intelligence battlecard","storyUseCaseCompetitiveBody":"Researches competitor pages, public updates, and internal notes, then organizes the signal into a sales-ready view.","storyUseCaseCompetitivePlatforms":"web search · Google Drive / Notion · Slack","storyOutcomeBoardTitle":"Board-ready updates","storyOutcomeBoardBody":"Revenue, burn, pipeline, support themes, and priorities assembled into a clean update.","storyOutcomeReportsTitle":"Operating reports","storyOutcomeReportsBody":"Daily or weekly summaries from Stripe, CRM, tickets, docs, and internal tools.","storyOutcomeSalesTitle":"Customer and sales prep","storyOutcomeSalesBody":"Pre-call briefs, account research, follow-ups, and CRM updates.","storyOutcomeToolsTitle":"Internal tools and dashboards","storyOutcomeToolsBody":"Small apps, charts, approval flows, and data views your team can actually use.","storyOutcomeSupportTitle":"Support and ops cleanup","storyOutcomeSupportBody":"Ticket triage, drafted replies, knowledge-base updates, spend alerts, and workflow nudges.","storyOutcomeCodeTitle":"Code and change requests","storyOutcomeCodeBody":"When builder work is needed, Kortix returns reviewable changes instead of hand-wavy suggestions.","storyAlwaysOnEyebrow":"Always on","storyAlwaysOnTitle":"main never stops running.","storyAlwaysOnDescription":"Triggers fire on a schedule and on webhooks — overnight, on every event — so work is done before you ask. Agents can even propose changes to their own config, so the company files patches against itself and gets better at being a company over time.","storyAlwaysOnExampleRevenue":"8am revenue brief","storyAlwaysOnExampleHealth":"Weekly customer health report","storyAlwaysOnExampleSpend":"Spend anomaly alert","storyAlwaysOnExampleLead":"New lead research","storyAlwaysOnExampleSupport":"Support digest in Slack","storyOwnershipEyebrow":"Ownership","storyOwnershipTitle":"Own the AI system your company runs on.","storyOwnershipDescription":"Kortix is open source and self-hostable. Run it on managed cloud, your VPC, on-prem, or air-gapped. Your data, tools, models, skills, and workflows stay under your control.","storyOwnershipOpenSource":"Open source by design","storyOwnershipModels":"Bring your own models","storyOwnershipSelfHost":"Self-host when needed","storyOwnershipNoLockIn":"No black box or forced lock-in","forDevelopersPanelTitle":"Built on files you can actually open.","forDevelopersPanelDescription":"No SDK to learn, no API maze. Your agents, skills, and tools are plain files in a folder — clone the project, change what you want in your own editor, and ship it back.","howItWorksSectionLabel":"How it works","storyUseCasesBestDemoLabel":"Best first demos","storyUseCasesTriggerLabel":"Starts with","storyUseCasesDoesLabel":"Kortix does","storyUseCasesOutputLabel":"Team gets","storyUseCasesConnectsLabel":"Connects to","storyUseCasePreCallTrigger":"A sales call appears on the calendar or a rep asks from Slack.","storyUseCasePreCallOutput":"A ready-to-use account brief, suggested talk track, and tailored deck outline before the call starts.","storyUseCasePostCallTrigger":"A call recording, meeting transcript, or rep note lands after the conversation.","storyUseCasePostCallOutput":"CRM fields updated, action items assigned, and a follow-up email ready for review or sending.","storyUseCaseLeadRoutingTrigger":"A demo request, form fill, event lead, or inbound reply comes in.","storyUseCaseLeadRoutingOutput":"A complete lead record, assigned owner, Slack handoff, and first-touch message ready to go.","storyUseCaseCampaignReportTrigger":"A weekly campaign review is due or a marketer asks what changed.","storyUseCaseCampaignReportOutput":"A report that shows what worked, what wasted spend, and what the team should try next.","storyUseCaseCvScreeningTrigger":"A new resume arrives for an open role.","storyUseCaseCvScreeningOutput":"A scorecard with strengths, gaps, risk notes, and interview questions for the hiring team.","storyUseCaseOnboardingTrigger":"An offer is signed or a new hire start date is confirmed.","storyUseCaseOnboardingOutput":"A first-week plan, welcome note, shared folder, and internal checklist ready before day one.","storyUseCaseNdaTrigger":"A vendor, partner, or customer sends an NDA for review.","storyUseCaseNdaOutput":"A commented document and risk memo, ready for legal approval instead of a blank first pass.","storyUseCaseContractReviewTrigger":"A draft agreement enters review or a negotiation round comes back.","storyUseCaseContractReviewOutput":"A deviation report with redlines, suggested fallback language, and items that need human approval.","storyUseCaseCloseTrigger":"Close starts, a checklist item is due, or a variance needs explanation.","storyUseCaseCloseOutput":"Exception list, reconciliation notes, and close commentary finance can review and finalize.","storyUseCaseInvoiceTrigger":"An invoice arrives in the AP inbox or an exception queue.","storyUseCaseInvoiceOutput":"A posted invoice when everything matches, or a clear exception note when a person needs to decide.","storyUseCaseCashTrigger":"The finance team needs the morning cash and receivables view.","storyUseCaseCashOutput":"A daily cash snapshot with AR movement, charts, and the few items leadership should notice.","storyUseCaseExecBriefTrigger":"Leadership wants one morning view before the day starts.","storyUseCaseExecBriefOutput":"A concise daily briefing with customer updates, pipeline movement, metric changes, and decisions to make.","storyUseCaseTicketTriageTrigger":"A new ticket arrives or the support queue starts to pile up.","storyUseCaseTicketTriageOutput":"A prioritized queue, suggested responses, and clean escalations with context attached.","storyUseCaseKbTrigger":"A solved customer issue appears more than once.","storyUseCaseKbOutput":"A draft knowledge-base article with source tickets, owner, and approval path.","storyUseCaseAnalyticsTrigger":"Someone asks a business question in plain English.","storyUseCaseAnalyticsOutput":"A result table, chart, query, and explanation your team can share or keep refining.","storyUseCaseCompetitiveTrigger":"A competitor launches, changes pricing, or comes up in a deal.","storyUseCaseCompetitiveOutput":"A battlecard with positioning, objections, proof points, and recommended next messaging."},"appHomePartnershipsPartnershipsClient":{"line46JsxTextWeWorkWithAHandfulOfSelectedCompanies":"We work with a handful of selected companies to build autonomous operations — the same way we build them for ourselves. Kortix leadership and engineers, embedded with your team.","line52JsxTextWeLearnFromEveryEngagementThatKnowledgeFeeds":"We learn from every engagement. That knowledge feeds back into everything we build. You get your operations actually automated — by the team that does this every day for their own companies. Our full methodology, knowledge, and processes — shared openly.","line60JsxTextMonthlyRetainer":"Monthly Retainer","line66JsxTextKortixLeadershipAndEngineersEmbeddedWithYourTeam":"Kortix leadership and engineers embedded with your team. Cancel anytime.","line75JsxTextHowItWorks":"How It Works","line79JsxTextPhase1":"Phase 1","line82JsxTextWeGoDeepWeTalkToYouYour":"We go deep. We talk to you, your team, your operators. We map every process — inputs, outputs, the black boxes where humans are doing repetitive work day-to-day. What","line82JsxTextSActuallyHappeningNotWhatTheOrgChart":"s actually happening, not what the org chart says.","line86JsxTextPhase2":"Phase 2","line87JsxTextBuildDeploy":"Build & Deploy","line89JsxTextWeBuildAutonomousOperationsOnKortixAgentsAutomations":"We build autonomous operations on Kortix — agents, automations, autonomous teams — wired into your tools and data. Fully deployed, in production. This requires low politics, low bureaucracy, and real access. Credentials, systems, green lights. We need ownership to move. This is a partnership, not a consulting engagement.","line94JsxTextOperateExpand":"Operate & Expand","line96JsxTextWeStayOptimizingWhat":"We stay. Optimizing what","line96JsxTextSRunningExpandingIntoNewWorkflowsIncreasingAutonomy":"s running, expanding into new workflows, increasing autonomy — progressively replacing manual process with systems that run themselves.","line107JsxTextAlsoOpenToJointVenturesAndDeeperStructures":"Also open to joint ventures and deeper structures beyond a retainer.","line115JsxTextScheduleACall":"Schedule a call","line123JsxTextMarkoKortixCom":"marko@kortix.com","line131JsxTextMarkokraemer":"@markokraemer","line169JsxTextScheduleAPartnershipsCall":"Schedule a Partnerships Call"},"appHomePricingPage":{"line107JsxTextStartFreeScaleWhenYouAposReReady":"Start free. Scale when you're ready.","line108JsxTextSelfHostTheWholePlatformForFreeMove":"Self-host the whole platform for free. Move to managed cloud per seat, and to enterprise when you need on-prem and advanced controls.","line118JsxTextMostPopular":"Most popular","line138JsxTextCloudIsPerSeatUsageBasedComputeYou":"Cloud is per seat + usage-based compute. You only pay for what your agents actually run.","line145JsxTextComparePlans":"Compare plans","line153JsxTextOpenSource":"Open Source","line183JsxTextPricingQuestions":"Pricing questions","line200JsxTextStartFreeToday":"Start free today.","line201JsxTextSelfHostInMinutesOrHaveUsWalk":"Self-host in minutes, or have us walk you through Cloud and Enterprise in a live demo.","line205JsxTextRequestDemo":"Request demo","line206JsxTextGetStarted":"Get started"},"appHomeStatusPage":{"line102JsxTextSystemStatus":"System Status","line105JsxTextRealTimeStatusOfAllKortixServices":"Real-time status of all Kortix services","line167JsxTextWeAreActivelyWorkingToResolveThisIssue":"We are actively working to resolve this issue.","line182JsxTextServiceStatus":"Service Status","line185JsxTextCurrentOperationalStatusOfAllKortixServices":"Current operational status of all Kortix services","line215JsxTextThisPageIsUpdatedAutomaticallyWhenIssuesAre":"This page is updated automatically when issues are detected.","line216JsxTextForSupportInquiriesPleaseContactOurTeam":"For support inquiries, please contact our team."},"appHomeTechnologyPage":{"line61JsxTextAcmeCoMain":"acme-co · main","line82JsxTextSshGitTrackableGrepSearchable":"SSH · git-trackable · grep-searchable","line93JsxTextSupportAgentMain":"support-agent → main","line94JsxTextAwaitingReview":"awaiting review","line97JsxTextLearnedANewRefundPolicySkillFromSession":"Learned a new refund-policy skill from session #4821","line100JsxTextWhenAChargeIsUnder50AndWithin":"+ When a charge is under $50 and within 30 days,","line101JsxTextIssueTheRefundViaStripeAndReplyWith":"+ issue the refund via Stripe and reply with","line102JsxTextTemplateRefundApproved":"+ template `refund-approved`.","line105JsxTextApproveAmpMerge":"Approve & merge","line106JsxTextMainSelfImproves":"main self-improves ↑","line118JsxTextDeclarativeConfig":"declarative config","line122JsxTextName":"name =","line122JsxTextQuotAcmeCoQuot":"\"acme-co\"","line124JsxTextImage":"image =","line124JsxTextQuotKortixBaseLatestQuot":"\"kortix/base:latest\"","line126JsxTextAgent":"agent =","line126JsxTextQuotBriefingQuot":"\"briefing\"","line127JsxTextSchedule":"schedule =","line127JsxTextQuot08Quot":"\"0 8 * * *\"","line129JsxTextType":"type =","line129JsxTextQuotSlackQuot":"\"slack\"","line130JsxTextAgent":"agent =","line130JsxTextQuotSupportQuot":"\"support\"","line132JsxTextRequired":"required = [","line132JsxTextQuotGmailQuot":"\"gmail\"","line132JsxTextQuotStripeQuot":"\"stripe\"","line132JsxTextQuotSlackQuot":"\"slack\"","line152JsxTextTechnologyTheFramework":"Technology · The framework","line156JsxTextImagineACompany":"Imagine a company","line157JsxTextAsAGitRepo":"as a git repo.","line162JsxTextOneFrameworkToRunYourAiNativeCompany":"One framework to run your AI-native company. Every agent, skill, trigger, and workflow is code in a single repository — versioned, reviewable, and yours. We call it the Git-First Company Framework.","line168JsxTextRequestDemo":"Request demo","line171JsxTextViewOnGithub":"View on GitHub","line188JsxTextText1Company1Repo":"1 company = 1 repo","line189JsxTextOneRepoIsTheSourceOfTruth":"One repo is the source of truth.","line190JsxTextAKortixProjectIsAGitRepositoryAgents":"A Kortix Project is a git repository. Agents, skills, commands, triggers, connectors, and memory are just files. Git gives you persistence and 100% version history for free.","line201JsxAttrTitleSessionSandboxWorktree":"Session = sandbox + worktree","line201JsxAttrDescEveryRunIsIsolatedOnItsOwnGit":"Every run is isolated on its own git worktree. Fan out 50 agents in parallel; overlaps merge like git.","line202JsxAttrTitlePersistViaPr":"Persist via PR","line202JsxAttrDescAnythingWorthKeepingIsCommittedToPersistAnd":"Anything worth keeping is committed to /PERSIST and reviewed before it touches main.","line203JsxAttrTitleLocalCloud":"Local == cloud","line203JsxAttrDescKortixInitDeployStartYourLocalDevRuntime":"kortix init / deploy / start. Your local dev runtime is the sandbox runtime.","line213JsxTextDeclarativeConfig":"Declarative config","line214JsxTextDefineTheWholeCompanyInCode":"Define the whole company in code.","line216JsxTextDeclaresTheRuntimeSandboxImageCronAndWebhook":"declares the runtime — sandbox image, cron and webhook triggers, channels, connectors, and required secrets. The","line216JsxTextDirectoryHoldsTheAgentsSkillsCommandsToolsAnd":"directory holds the agents, skills, commands, tools, and models. Change a file, open a PR, ship.","line238JsxTextEverySessionIsARealIsolatedMachine":"Every session is a real, isolated machine.","line239JsxTextEachRunGetsAFullLinuxSandboxShell":"Each run gets a full Linux sandbox — shell, filesystem, browser, your connected tools — on its own git worktree. Watch the files and terminal live, and run as many in parallel as you need.","line251JsxAttrLabelSessionSandboxUi":"Session sandbox UI","line251JsxAttrHintScreenshotFilesTerminalLiveAgentRun":"Screenshot: files + terminal + live agent run.","line260JsxTextRunsAnywhere":"Runs anywhere","line261JsxTextYourInfraYourModelsYourEngine":"Your infra. Your models. Your engine.","line262JsxTextOpenAndSourceAvailableSelfHostItOr":"Open source. Self-host it or run it on Kortix cloud — nothing is locked to a vendor.","line267JsxAttrDescLaptopA5VpsYourVpcOrFully":"Laptop, a $5 VPS, your VPC, or fully air-gapped. One-line install.","line268JsxAttrTitleAnyEngine":"Any engine","line268JsxAttrDescRunsOnOpencodeTodayBuiltToSupportClaude":"Runs on OpenCode today; built to support Claude Code, Codex, and more.","line269JsxAttrTitleAnyProvider":"Any provider","line269JsxAttrDescBringYourOwnApiKeysOrSubscriptionOr":"Bring your own API keys or subscription, or use Kortix cloud compute.","line278JsxTextConnectEverything":"Connect everything","line279JsxTextOneSecureLayerToYourWholeStack":"One secure layer to your whole stack.","line280JsxTextConnectOnceViaOauthMcpRestOrPipedream":"Connect once via OAuth, MCP, REST, or Pipedream. Agents reach every tool through a single scoped layer — credentials injected at runtime, never exposed, governed by per-user and per-agent policy.","line285JsxAttrTitleAnyProtocol":"Any protocol","line285JsxAttrDescOauthMcpRestPipedreamCli3000Connectors":"OAuth, MCP, REST, Pipedream, CLI — 3,000+ connectors out of the box.","line286JsxAttrTitleScopedInjected":"Scoped & injected","line286JsxAttrDescOneTokenToTheSandboxCredentialsInjectedAt":"One token to the sandbox; credentials injected at the network level, never exposed.","line287JsxAttrDescAllowBlockOrRequireApprovalPerConnectorPer":"Allow, block, or require approval per connector, per user, per agent.","line296JsxTextSecurityAmpAccess":"Security & access","line297JsxTextGovernanceForHumansAndAgents":"Governance for humans and agents.","line302JsxAttrTitleSecretsManager":"Secrets manager","line302JsxAttrDescEncryptedInjectedAtTheNetworkLevelNeverExposed":"Encrypted, injected at the network level, never exposed in plaintext.","line303JsxAttrTitleUsersGroupsPolicies":"Users, groups & policies","line303JsxAttrDescEveryAgentSkillFileAndConnectorScopedPer":"Every agent, skill, file, and connector scoped per user and per group.","line304JsxAttrDescApprovalGatesOnSensitiveActionsPersistenceRequiresA":"Approval gates on sensitive actions; persistence requires a reviewed PR.","line305JsxAttrTitleOwnYourPerimeter":"Own your perimeter","line305JsxAttrDescSelfHostOrSingleTenantNetworkEgressControls":"Self-host or single-tenant. Network egress controls. Data never leaves.","line313JsxTextOneFrameworkToRunYourAiNativeCompany":"One framework to run your AI-native company.","line318JsxTextRequestDemo":"Request demo","line321JsxTextStarOnGithub":"Star on GitHub"},"appHomeTutorialsPage":{"line155JsxTextComingSoon":"Coming Soon","line181JsxTextTutorialVideoComingSoon":"Tutorial video coming soon","line182JsxTextCheckBackForUpdates":"Check back for updates","line207JsxTextClickToInteract":"Click to interact","line263JsxTextLearnKortix":"Learn Kortix","line270JsxTextStepByStepInteractiveTutorialsToHelpYou":"Step-by-step interactive tutorials to help you get the most out of Kortix. From getting started to advanced workflows, master every feature.","line297JsxTextMoreTutorialsComingSoon":"More tutorials coming soon","line300JsxTextWeAposReAlwaysAddingNewTutorialsTo":"We're always adding new tutorials to help you get the most out of Kortix. Check back regularly for fresh content and tips.","line329JsxTextContactUs":"Contact us"},"appHomeUseCasesPage":{"line291JsxTextAgentLibrary":"Agent library","line293JsxTextAnAgentForEveryJobOnYourPlate":"An agent for every job on your plate.","line296JsxTextEachOneComesReadyForYourIndustryPlugs":"Each one comes ready for your industry, plugs into the tools you already run, and is doing real work within days — no multi-quarter rollout.","line311JsxAttrPlaceholderSearchAgentsTryContractReview":"Search agents — try \"contract review\"","line346JsxTextNoAgentsMatchYourSearchTryADifferent":"No agents match your search. Try a different term or filter.","line375JsxTextLiveInDays":"Live in days","line376JsxTextFromFirstCallToFirstResultInA":"From first call to first result in a week.","line377JsxTextSpinUpAWorkspaceConnectYourToolsAnd":"Spin up a workspace, connect your tools, and hand an agent a real task. That's the whole rollout.","line385JsxTextPutOneToWorkThisWeek":"Put one to work this week.","line386JsxTextStartFreeOrHaveUsTailorAnAgent":"Start free, or have us tailor an agent to your workflow in a live demo.","line391JsxTextRequestDemo":"Request demo","line394JsxTextGetStarted":"Get started","line437JsxAttrAriaLabelPreviousUseCase":"Previous use-case","line440JsxAttrAriaLabelNextUseCase":"Next use-case","line449JsxTextPreBuiltAgent":"Pre-built agent","line464JsxTextHowItWorks":"How it works","line479JsxTextWhatItNeeds":"What it needs","line487JsxTextWhatYouGetBack":"What you get back","line498JsxTextKickItOff":"Kick it off","line500JsxTextGt":">","line506JsxTextConnectsTo":"Connects to","line515JsxTextText3000More":"+ 3,000 more","line522JsxTextRequestADemoOfThisAgent":"Request a demo of this agent","line525JsxTextGetStartedFree":"Get started free"},"appHomeVariant2Page":{"line103JsxTextTheAiComputer":"The AI Computer.","line119JsxTextLaunchKortix":"Launch Kortix","line124JsxTextOrSelfHost":"-- or self-host","line149JsxTextScrollToExplore":"Scroll to explore","line162JsxTextOneMachineAllYourToolsAgentsThatRun":"One machine. All your tools. Agents that run themselves.","line167JsxTextAKortixIsACloudComputerWhereAi":"A Kortix is a cloud computer where AI agents do the actual work of running a company. You connect your tools, define your agents, set their schedules and triggers — and the machine operates whether you're there or not. Persistent memory that compounds. A workforce that never stops.","line177JsxTextRealOutputs":"Real outputs.","line177JsxTextNotSuggestions":"Not suggestions.","line182JsxTextGiveAnAgentAGoalItPlansExecutes":"Give an agent a goal. It plans, executes, self-verifies, and delivers a finished result.","line223JsxTextTheSystem":"The system","line228JsxTextKortixRunsOn":"Kortix runs on","line228JsxTextAnOpenFoundationForBuildingKnowledgeWorkAgents":", an open foundation for building knowledge work agents, with the Kortix cognitive architecture layered on top. Everything is just files.","line260JsxTextKortixSession":"kortix — session","line266JsxTextResearchOurTop3CompetitorsSummariseTheirPricing":"Research our top 3 competitors, summarise their pricing, and send a Slack report to #strategy.","line287JsxTextDoneReportDeliveredSavedToWorkspaceForFuture":"Done. Report delivered. Saved to workspace for future reference.","line310JsxTextRootKortixKortixStatus":"root@kortix ~ kortix status","line317JsxTextLastAction":"Last action","line346JsxTextDeployAndCheckIn":"Deploy and check in","line351JsxTextYourAgentsRun247TriggersFireThem":"Your agents run 24/7. Triggers fire them on schedule. Goal loops keep them going until the job is verified done. You check in from anywhere — whenever you want.","line381JsxTextEverythingIsFiles":"Everything is files","line386JsxTextAgentsSkillsMemoryCredentialsBrowserProfilesAllOn":"Agents, skills, memory, credentials, browser profiles — all on the filesystem you own. Human-readable, git-trackable, SSH-accessible.","line411JsxTextText3000ViaOauthMcpRestCliEnv":"3,000+ via OAuth · MCP · REST · CLI · env vars","line420JsxTextWorkspace":"~/workspace","line442JsxTextSshGitTrackableGrepSearchable":"SSH · git-trackable · grep-searchable","line460JsxTextGetStarted":"Get Started"},"appAccountsIdGroupsGroupidPage":{"line99JsxTextBackToProjects":"Back to projects","line139JsxAttrTitleFailedToLoadGroup":"Failed to load group","line157JsxTextGroupMembers":"Group members","line158JsxTextPermissionPolicies":"Permission policies","line249JsxAttrTitleGroupMembers":"Group members","line251JsxAttrDescriptionMembersOfThisGroupInheritEveryPolicyAttached":"Members of this group inherit every policy attached to it.","line256JsxTextAddMembers":"Add members","line275JsxAttrTitleNoMembersInThisGroup":"No members in this group","line312JsxAttrAriaLabelRemoveFromGroup":"Remove from group","line338JsxAttrTitleRemoveFromGroup":"Remove from group","line339JsxAttrDescriptionTheUserStaysAMemberOfTheAccount":"The user stays a member of the account but loses any access granted via this group.","line406JsxTextAddMembers":"Add members","line409JsxTextPickTheAccountMembersToAddToThis":"Pick the account members to add to this group.","line415JsxTextEveryAccountMemberIsAlreadyInThisGroup":"Every account member is already in this group.","line522JsxAttrTitleGroupDetails":"Group details","line562JsxAttrTitleDangerZone":"Danger zone","line563JsxAttrDescriptionDeletingAGroupRemovesEveryPermissionPolicyAttached":"Deleting a group removes every permission policy attached to it. Members keep their account membership.","line567JsxTextDeleteThisGroup":"Delete this group","line569JsxTextDeleteGroup":"Delete group","line578JsxAttrTitleDeleteGroup":"Delete group","line580JsxAttrConfirmlabelDeleteGroup":"Delete group"},"appAccountsIdMembersUseridPage":{"line116JsxTextBackToProjects":"Back to projects","line180JsxTextRevokeSuperAdmin":"Revoke super-admin","line192JsxTextGrantSuperAdmin":"Grant super-admin","line199JsxAttrTitleFailedToLoadMember":"Failed to load member","line206JsxTextThisUserIsNotAMemberOfThis":"This user is not a member of this account.","line238JsxAttrTitleGrantSuperAdmin":"Grant super-admin?","line241JsxTextSuperAdminBypassesEveryIamCheck":"Super-admin bypasses every IAM check.","line241JsxTextWillBeAbleToDoAnythingInThis":"will be able to do anything in this account, including managing billing and deleting the account. Only grant this to people you fully trust.","line246JsxAttrConfirmlabelGrantSuperAdmin":"Grant super-admin","line254JsxAttrTitleRevokeSuperAdmin":"Revoke super-admin?","line257JsxTextWillLoseTheBypassFromNowOnEvery":"will lose the bypass. From now on, every action they perform will go through the normal policy checks. They may lose access to parts of the account if no explicit policies grant it.","line262JsxAttrConfirmlabelRevokeSuperAdmin":"Revoke super-admin","line322JsxAttrTitleWhatThisMemberCanDo":"What this member can do","line323JsxAttrDescriptionComputedByTheIamEngineSumOfExplicit":"Computed by the IAM engine — sum of explicit policies, group inheritance, super-admin bypass, and legacy role bridges.","line405JsxAttrDescriptionAnyPolicyAttachedToOneOfTheseGroups":"Any policy attached to one of these groups also applies to this member.","line419JsxTextNotAMemberOfAnyGroups":"Not a member of any groups","line421JsxTextAddThemToAGroupToInheritIts":"Add them to a group to inherit its policies."},"appAccountsIdPage":{"line197JsxTextBackToProjects":"Back to projects","line237JsxAttrTitleFailedToLoadAccount":"Failed to load account","line262JsxTextAllMembers":"All members","line397JsxAttrTitleGitConnections":"Git connections","line399JsxAttrDescriptionConnectOneOrMoreGithubUsersOrOrganizations":"Connect one or more GitHub users or organizations. Projects choose a connection during import.","line438JsxAttrTitleGithubStatusUnavailable":"GitHub status unavailable","line446JsxAttrTitleNoGithubConnections":"No GitHub connections","line447JsxAttrDescriptionConnectTheKortixGithubAppToImportRepositories":"Connect the Kortix GitHub App to import repositories from a personal account or organization.","line461JsxTextConnectGithub":"Connect GitHub","line547JsxAttrTitleGitCredentialsArePlatformCredentials":"Git credentials are platform credentials","line549JsxTextKortixStoresTheGithubAppInstallationOnThe":"Kortix stores the GitHub App installation on the account and mints short-lived clone tokens server-side for imports, snapshots, and sandbox git operations. These credentials are not user-readable project secrets and are never injected as runtime env vars.","line558JsxAttrTitleDisconnectGithub":"Disconnect GitHub","line615JsxAttrDescriptionBasicInformationAboutThisAccount":"Basic information about this account.","line620JsxTextAccountName":"Account name","line636JsxTextYouDoNotHavePermissionToRenameThis":"You do not have permission to rename this account.","line761JsxAttrDescriptionPeopleWithAccessToThisAccount":"People with access to this account.","line770JsxTextInviteMember":"Invite member","line780JsxAttrTitleFailedToLoadMembers":"Failed to load members","line883JsxTextViewAmpEditPermissionPolicies":"View & Edit permission policies","line889JsxTextChangeRole":"Change role","line925JsxTextRemoveFromTeam":"Remove from team","line938JsxTextLeaveTeam":"Leave team","line953JsxTextNoMembersYet":"No members yet.","line971JsxAttrTitleRemoveMember":"Remove member","line979JsxTextTheyWillLoseAccessImmediately":"? They will lose access immediately.","line993JsxAttrTitleLeaveTeam":"Leave team","line996JsxTextYouAposLlLoseAccessTo":"You'll lose access to","line998JsxTextAndItsProjects":"and its projects.","line1109JsxTextInviteMember":"Invite member","line1112JsxTextInviteByEmailIfTheyDonAposT":"Invite by email. If they don't have a Kortix account yet, they'll get access when they sign up.","line1130JsxAttrPlaceholderTeammateCompanyCom":"teammate@company.com","line1150JsxTextMemberCanUseAssignedProjects":"Member — can use assigned projects","line1153JsxTextAdminCanInviteMembers":"Admin — can invite members","line1198JsxAttrTitleDangerZone":"Danger zone","line1199JsxAttrDescriptionIrreversibleActionsForThisTeam":"Irreversible actions for this team.","line1203JsxTextDeleteAccount":"Delete account","line1205JsxTextPermanentlyDeleteThisAccountAndAllAssociatedProjects":"Permanently delete this account and all associated projects.","line1211JsxAttrTitleComingSoon":"Coming soon","line1214JsxTextComingSoon":"Coming soon","line1287JsxTextPendingInvites":"Pending invites ·","line1336JsxTextResendInvite":"Resend invite","line1343JsxTextCopyInvitationLink":"Copy invitation link","line1351JsxTextCancelInvite":"Cancel invite","line1369JsxAttrTitleCancelInvite":"Cancel invite","line1375JsxAttrConfirmlabelCancelInvite":"Cancel invite","line924JsxAttrTitleSuperAdminBypassesEveryIAMCheck":"Super-admin: bypasses every IAM check","line952JsxAttrTitleMFAEnrolled":"MFA enrolled"},"appAccountsIdRolesRoleidPage":{"line192JsxTextBackToProjects":"Back to projects","line237JsxTextResourceType":"Resource type:","line251JsxTextThisRoleDoesnAposTExistOrYou":"This role doesn't exist or you don't have access.","line259JsxAttrTitleSystemRoleReadOnly":"System role — read-only","line261JsxTextSystemRolesShipWithThePlatformToCustomize":"System roles ship with the platform. To customize, create a new role with the actions you want and attach that instead.","line313JsxAttrDescriptionActionsThisRoleGrantsWhenAttachedToA":"Actions this role grants when attached to a policy.","line322JsxTextSaveChanges":"Save changes","line341JsxAttrPlaceholderSearchActions":"Search actions...","line398JsxAttrTitleDangerZone":"Danger zone","line399JsxAttrDescriptionRolesInUseByAnyPolicyCannotBe":"Roles in use by any policy cannot be deleted until the referencing policies are removed.","line404JsxTextDeleteThisRole":"Delete this role","line407JsxTextCurrentlyUsedBy":"(currently used by","line421JsxTextDeleteRole":"Delete role","line430JsxAttrTitleDeleteRole":"Delete role","line432JsxAttrConfirmlabelDeleteRole":"Delete role"},"appAccountsIdTokensTokenidPage":{"line78JsxTextBackToProjects":"Back to projects","line97JsxTextCliTokens":"CLI tokens","line128JsxTextLastUsed":"Last used","line137JsxTextThisTokenDoesnAposTExistOrHas":"This token doesn't exist or has been revoked.","line143JsxAttrTitleNarrowWhatThisTokenCanDo":"Narrow what this token can do","line144JsxTextByDefaultATokenInheritsItsCreatorApos":"By default a token inherits its creator's permissions. Attach one or more policies below to restrict it — once any policy is attached, the token can","line146JsxTextDoWhatThosePoliciesAllowTheCreatorApos":"do what those policies allow. The creator's super-admin status and group memberships no longer apply."},"appAccountsPage":{"line66JsxTextBackToProjects":"Back to projects","line71JsxTextAccountsYouBelongTo":"Accounts you belong to.","line75JsxTextNewAccount":"New account"},"appActivateTrialPage":{"line83JsxAttrTitleLoadingTrial":"Loading trial","line93JsxAttrTitleLoadingTrial":"Loading trial","line106JsxTextLogOut":"Log Out","line114JsxTextWelcomeToKortix":"Welcome to Kortix","line117JsxTextStartYourJourneyWithA7DayFree":"Start your journey with a 7-day free trial","line126JsxTextWhatSIncludedInTrial":"What's included in trial:","line133JsxTextText5InCredits":"$5 in Credits","line134JsxTextFullAccessToAllAiModels":"Full access to all AI models","line140JsxTextText7DaysFree":"7 Days Free","line141JsxTextCancelAnytimeNoCharge":"Cancel anytime, no charge","line150JsxTextNoChargeDuringTrial":"No charge during trial","line152JsxTextYourCardWillOnlyBeChargedAfter7":"Your card will only be charged after 7 days if you don't cancel. You can cancel anytime from your billing settings.","line168JsxTextStartingTrial":"Starting trial...","line173JsxTextStart7DayFreeTrial":"Start 7-Day Free Trial","line180JsxTextByStartingYourTrialYouAgreeToOur":"By starting your trial, you agree to our","line182JsxTextTermsOfService":"Terms of Service","line186JsxTextPrivacyPolicy":"Privacy Policy"},"appAdminComponentsAdminShell":{"line55JsxTextAdminAccessRequired":"Admin access required","line57JsxTextYourAccountDoesnAposTHaveAdminPermissions":"Your account doesn't have admin permissions. Return to the app and contact a workspace admin if this looks wrong.","line65JsxTextBackToProjects":"Back to projects"},"appAdminComponentsAdminSidebar":{"line86JsxTextKortixConsole":"Kortix console","line127JsxAttrTooltipLeaveAdminConsole":"Leave admin console","line131JsxTextBackToApp":"Back to app"},"appAdminAccountsPage":{"line337JsxAttrDescriptionFilterSortAndInspectEveryAccountGrantOr":"Filter, sort, and inspect every account. Grant or debit credits, review ledger, and see billing state.","line354JsxAttrLabelTotalFiltered":"Total (filtered)","line362JsxAttrHintNonFreeTiers":"Non-free tiers","line365JsxAttrLabelCreditsInSet":"Credits in set","line367JsxAttrHintSumOfBalances":"Sum of balances","line370JsxAttrLabelPastDue":"Past due","line409JsxTextClearFilters":"Clear filters","line580JsxAttrPlaceholderSearchByAccountOwnerEmailOrAccountId":"Search by account, owner email, or account ID…","line588JsxAttrAriaLabelPaidAccountsOnly":"Paid accounts only","line590JsxTextPaidOnly":"Paid only","line622JsxTextNewestFirst":"Newest first","line623JsxTextOldestFirst":"Oldest first","line624JsxTextBalanceHigh":"Balance — high","line625JsxTextBalanceLow":"Balance — low","line626JsxTextMostMembers":"Most members","line627JsxTextFewestMembers":"Fewest members","line628JsxTextNameAZ":"Name A–Z","line629JsxTextNameZA":"Name Z–A","line689JsxTextResetAll":"Reset all","line698JsxTextHasActiveSubscription":"Has active subscription","line761JsxTextPaymentStatus":"Payment status","line913JsxTextClearAll":"Clear all","line1161JsxAttrPlaceholderAmountEG25":"Amount (e.g. 25)","line1167JsxAttrPlaceholderReasonNote":"Reason / note","line1176JsxTextGrantAsExpiringCredits":"Grant as expiring credits","line1190JsxTextGrantCredits":"Grant credits","line1207JsxAttrTitleDebitCredits":"Debit credits?","line1215JsxTextWillFailIfTheAccountHasInsufficientCredits":"Will fail if the account has insufficient credits. Action is recorded in the ledger.","line1236JsxTextLoadingUsers":"Loading users…","line1247JsxAttrTitleNoUsersOnThisAccount":"No users on this account","line1248JsxAttrDescriptionMembersWillAppearHereOnceUsersAreAdded":"Members will appear here once users are added.","line1285JsxTextLastSignIn":"Last sign-in:","line1291JsxTextSignedUp":"Signed up:","line1331JsxTextLoadingLedger":"Loading ledger…","line1342JsxAttrTitleNoLedgerEntries":"No ledger entries","line1343JsxAttrDescriptionCreditActivityWillShowUpHere":"Credit activity will show up here.","line1495JsxAttrTitleOpenInStripe":"Open in Stripe"},"appAdminOpsPage":{"line56JsxAttrLabelQueuedWork":"Queued work","line57JsxAttrLabelErroredSandboxes":"Errored sandboxes","line58JsxAttrLabelLlmCalls24h":"LLM calls 24h","line78JsxAttrLabelManagedLogs":"Managed logs","line79JsxAttrLabelErrorTracking":"Error tracking","line80JsxAttrLabelTraceHeaders":"Trace headers","line81JsxAttrLabelOtlpExporter":"OTLP exporter","line86JsxAttrTitleUsageByProvider":"Usage by provider","line99JsxTextNoUsageInTheLast24h":"No usage in the last 24h.","line116JsxTextLegacySandboxes":"Legacy sandboxes","line124JsxAttrTitleRecentAuditEvents":"Recent audit events","line137JsxTextNoRecentAuditEvents":"No recent audit events.","line180JsxTextNoData":"No data."},"appAdminPage":{"line40JsxAttrTitleAdminOverview":"Admin overview","line41JsxAttrDescriptionProductionSupportEntrypointOperationsIsTheSourceOf":"Production support entrypoint. Operations is the source of truth for live platform health.","line53JsxAttrLabelErroredSandboxes":"Errored sandboxes","line58JsxAttrLabelQueuedWork":"Queued work","line69JsxAttrDescriptionApiSessionsSandboxesQueuesAuditEventsUsageAnd":"API, sessions, sandboxes, queues, audit events, usage, and migration status.","line75JsxAttrDescriptionSupportWorkflowsForAccountAccessTechnicalIssuesAnd":"Support workflows for account access, technical issues, and operational recovery."},"appAdminUtilsComponentsMaintenanceDialog":{"line95JsxAttrPlaceholderDescribeTheSituation":"Describe the situation...","line105JsxAttrLabelStartTime":"Start Time","line110JsxAttrLabelEndTime":"End Time","line119JsxTextAffectedServices":"Affected Services","line151JsxTextStatusUrlOptional":"Status URL (optional)","line165JsxTextClickingSaveWillClearAllMaintenanceNotificationsAnd":"Clicking save will clear all maintenance notifications and restore normal access."},"appAdminUtilsPage":{"line126JsxTextMaintenanceNotifications":"Maintenance Notifications","line129JsxTextControlSystemWideMaintenanceBannersAndAccessRestrictions":"Control system-wide maintenance banners and access restrictions","line152JsxTextCurrentlyActive":"Currently active:","line177JsxTextSelectANotificationLevelToConfigure":"Select a notification level to configure","line192JsxTextLastUpdated":"Last updated:"},"appApiOgTemplateRoute":{"line74JsxTextOfficialTemplate":"✨ Official Template","line174JsxTextAiAgentMarketplace":"AI Agent Marketplace","line225JsxTextAiAgentTemplate":"AI Agent Template","line233JsxTextDiscoverPowerfulAiAgentsOnKortix":"Discover powerful AI agents on Kortix"},"appAuthForgotPasswordPage":{"line43JsxAttrTitleCheckYourEmail":"Check your email","line44JsxAttrDescriptionWeVeSentYouAPasswordResetLink":"We've sent you a password reset link","line50JsxTextResetLinkSentTo":"Reset link sent to","line59JsxAttrTitleResetYourPassword":"Reset your password","line60JsxAttrDescriptionEnterYourEmailAndWeLlSendYou":"Enter your email and we'll send you a reset link","line75JsxAttrPlaceholderEmailAddress":"Email address"},"appAuthGithubConnectPage":{"line116JsxTextConnectGithub":"Connect GitHub"},"appAuthGithubPopupPage":{"line194JsxTextGithubSignIn":"GitHub Sign-In"},"appAuthPage":{"line167JsxTextSignIn":"Sign in","line215JsxAttrPlaceholderEmailAddress":"Email address","line234JsxAttrPlaceholderConfirmPassword":"Confirm password","line277JsxTextForgotYourPassword":"Forgot your password?","line317JsxAttrTitleSigningIn":"Signing in","line355JsxTextClickOrPressEnterToSignIn":"Click or press Enter to sign in","line408JsxAttrTitleSigningIn":"Signing in"},"appAuthResetPasswordPage":{"line45JsxAttrTitleLinkExpired":"Link expired","line46JsxAttrDescriptionThisPasswordResetLinkIsInvalidOrHas":"This password reset link is invalid or has expired","line50JsxTextRequestANewLink":"Request a new link","line59JsxAttrTitlePasswordUpdated":"Password updated","line60JsxAttrDescriptionYouCanNowSignInWithYourNew":"You can now sign in with your new password","line65JsxTextYourPasswordHasBeenChanged":"Your password has been changed.","line68JsxTextGoToSignIn":"Go to sign in","line76JsxAttrTitleSetANewPassword":"Set a new password","line77JsxAttrDescriptionChooseANewPasswordForYourAccount":"Choose a new password for your account","line92JsxAttrPlaceholderNewPassword":"New password","line101JsxAttrPlaceholderConfirmNewPassword":"Confirm new password","line121JsxAttrTitleResettingPassword":"Resetting password"},"appCheckoutPage":{"line144JsxTextCheckoutError":"Checkout Error","line145JsxTextUnableToLoadCheckout":"Unable to load checkout","line158JsxTextLoadingSecureCheckout":"Loading secure checkout..."},"appCliAuthorizePage":{"line70JsxAttrTitleMissingCallback":"Missing callback","line71JsxAttrMessageThisPageIsOpenedByTheKortixCli":"This page is opened by the kortix CLI. Run `kortix login` in your terminal to start.","line80JsxAttrTitleInvalidCallback":"Invalid callback","line214JsxTextAuthorizeKortixCli":"Authorize Kortix CLI","line216JsxTextKortixComYourTerminal":"kortix.com → your terminal","line222JsxTextApprovingWillCreateANewPersonalAccessToken":"Approving will create a new Personal Access Token in your account and hand it to the CLI running on this machine.","line249JsxTextAuthorizing":"Authorizing…","line261JsxTextYouCanRevokeThisTokenAnytimeUnder":"You can revoke this token anytime under","line262JsxTextSettingsCliTokens":"Settings → CLI tokens","line287JsxTextCliAuthorized":"CLI authorized","line289JsxTextReturnToYourTerminalYouAposReSigned":"Return to your terminal — you're signed in.","line292JsxTextYouCanCloseThisTab":"You can close this tab."},"appCountryerrorPage":{"line23JsxTextNotAvailableInYourCountry":"Not available in your country","line28JsxTextWeReSorryKortixIsCurrentlyUnavailableIn":"We're sorry, Kortix is currently unavailable in your country. We're working to expand our availability and hope to serve you soon.","line41JsxTextRegionRestricted":"Region restricted","line44JsxTextServiceNotAvailableInYourLocation":"Service not available in your location","line64JsxTextContactSupport":"Contact Support","line71JsxTextIfYouBelieveThisIsAnErrorPlease":"If you believe this is an error, please reach out to our support team."},"appDebugConnectingPage":{"line93JsxTextConnectingScreen":"Connecting screen","line96JsxTextDebugHarness":"Debug harness","line135JsxTextNotLinkedFromTheAppVisit":"Not linked from the app. Visit","line139JsxTextAnyTime":"any time.","line171JsxAttrTitleOpeningWorkspace":"Opening workspace","line185JsxAttrTitleSigningIn":"Signing in","line195JsxAttrTitleProvisioningWorkspace":"Provisioning workspace","line206JsxAttrTitleProvisioningWorkspace":"Provisioning workspace","line224JsxAttrTitleProvisioningWorkspace":"Provisioning workspace","line236JsxAttrTitleProvisioningWorkspace":"Provisioning workspace"},"appDebugErrorPage":{"line67JsxTextGlobalErrorBoundaryPreview":"Global error boundary preview","line69JsxTextClickAButtonToTriggerARenderTime":"Click a button to trigger a render-time crash. In production this renders","line70JsxTextIn":". In","line70JsxTextNextDev":"next dev","line70JsxTextTheNextJsDevOverlayAppearsFirstDismiss":"the Next.js dev overlay appears first — dismiss it (Esc / the","line71JsxTextToSeeTheRealBoundaryUnderneath":") to see the real boundary underneath."},"appDebugToolsPage":{"line269JsxTextToolRenderers":"Tool renderers","line271JsxTextDebugToolsVisualHarnessForSessionToolChrome":"/debug/tools — visual harness for session tool chrome","line287JsxTextSidePanelActions":"Side panel · Actions","line306JsxTextSidePanelChanges":"Side panel · Changes","line318JsxTextClickAnyRowBelowItOpensInThe":"Click any row below → it opens in the panel above. (Inline = chat presentation.)","line268JsxTextToolRenderers":"Tool renderers","line270JsxTextDebugToolsVisualHarnessForSessionToolChrome":"/debug/tools — visual harness for session tool chrome","line286JsxTextSidePanelActions":"Side panel · Actions","line306JsxTextClickAnyRowBelowItOpensInThe":"Click any row below → it opens in the panel above. (Inline = chat presentation.)","line305JsxTextSidePanelChanges":"Side panel · Changes"},"appGithubSetupPage":{"line15JsxAttrTitleConnectingGithub":"Connecting GitHub","line90JsxAttrTitleConnectingGithub":"Connecting GitHub","line114JsxTextGithubSetup":"GitHub setup","line123JsxTextBackToProjects":"Back to projects"},"appGlobalError":{"line344JsxAttrContentWidthDeviceWidthInitialScale1":"width=device-width, initial-scale=1","line345JsxTextSystemFault":"System Fault","line365JsxTextSystemFault":"System Fault","line367JsxTextTheAppFailedToLoadOurTeamHas":"The app failed to load. Our team has been notified — the details below help support reproduce your session.","line410JsxTextReturnHome":"Return Home","line422JsxTextIfThisPersistsContact":"If this persists, contact","line423JsxTextSupportKortixAi":"support@kortix.ai"},"appHome2Page":{"line206JsxTextKortixInitCompanyOs":"kortix init company-os","line282JsxTextIntroducingCompanyOs":"Introducing | Company OS","line288JsxTextRunYourCompanyOnAgentsYouOwn":"Run your company on agents you own","line291JsxTextKortixTurnsOneRepoIntoAnAiCommand":"Kortix turns one repo into an AI command center: agents, triggers, tools, memory, projects, approvals, and deliverables in one workspace.","line298JsxTextGetStarted":"Get Started","line303JsxTextRequestDemo":"Request demo","line374JsxAttrLabelBuiltFor":"Built for","line397JsxTextKortixIsTheOperatingFrameworkForAutonomousCompany":"Kortix is the operating framework for autonomous company work: declare the workspace, run sessions in isolated environments, and keep the important changes reviewable.","line495JsxTextKortixIsTheAiCommandCenterForYour":"Kortix is the AI command center for your company.","line497JsxTextItTurnsAProjectRepoIntoALiving":"It turns a project repo into a living company workspace where agents plan, operate across tools, produce finished deliverables, and leave a reviewable trail behind."},"appInvitesInviteidPage":{"line88JsxTextLoadingInvite":"Loading invite…","line98JsxTextInviteNotFound":"Invite not found","line105JsxTextBackToProjects":"Back to projects","line122JsxAttrKickerWrongAccount":"Wrong account","line123JsxTextSwitchAccounts":"Switch accounts","line125JsxTextThisInviteIsAddressedToADifferentAccount":"This invite is addressed to a different account. You're signed in as","line129JsxTextSignOutAndSignBackInWithThe":"Sign out and sign back in with the address that received the invite.","line132JsxTextBackToProjects":"Back to projects","line143JsxTextInviteExpired":"Invite expired","line145JsxTextAskThePersonWhoInvitedYouToSend":". Ask the person who invited you to send a new one.","line148JsxTextBackToProjects":"Back to projects","line180JsxTextInvitedYouToJoinATeam":"invited you to join a team","line186JsxTextYouHaveBeenInvitedToJoinATeam":"You have been invited to join a team.","line200JsxTextExpires":"· expires","inviteInvalidOrRevoked":"This invite link is invalid or has been revoked.","inviteKicker":"Invite","expiredPrefix":"Expired","teamAccountLabel":"Team account","roleAdmin":"an admin","roleMember":"a member","invitationKicker":"Invitation","joinAccountDescription":"You'll join this account as {roleLabel} and see projects the owner gives you access to.","decline":"Decline","accept":"Accept"},"appLayout":{"line196JsxTextKortixTheAutonomousCompanyOperatingSystem":"Kortix – The AI Command Center for Your Company","line197JsxAttrContentACloudComputerWhereAiAgentsRunYour":"Kortix is the open-source AI command center for your company — one place to build, run, and govern AI agents that connect 3,000+ tools and deliver real work, not just chat.","line198JsxAttrContentKortixAutonomousCompanyOperatingSystemAiAgentsSelf":"Kortix, AI command center, AI agents, AI workforce, open source AI platform, self-hosted AI agents, AI automation, agent orchestration, AI-native company, build AI agents, connect 3000 tools, AI operations","line199JsxAttrContentKortixTheAutonomousCompanyOperatingSystem":"Kortix – The AI Command Center for Your Company","line200JsxAttrContentACloudComputerWhereAiAgentsRunYour":"Kortix is the open-source AI command center for your company — one place to build, run, and govern AI agents that connect 3,000+ tools and deliver real work, not just chat.","line206JsxAttrContentKortixTheAutonomousCompanyOperatingSystem":"Kortix – The AI Command Center for Your Company","line207JsxAttrContentACloudComputerWhereAiAgentsRunYour":"Kortix is the open-source AI command center for your company — one place to build, run, and govern AI agents that connect 3,000+ tools and deliver real work, not just chat.","line209JsxAttrContentKortix":"@kortix","line214JsxAttrContentAppId6754448524AppArgumentKortix":"app-id=6754448524, app-argument=kortix://"},"appLegalPage":{"line48JsxTextLegalInformation":"Legal Information","line70JsxTextTermsOfService":"Terms of Service","line79JsxTextPrivacyPolicy":"Privacy Policy","line93JsxTextInformationAccordingToLegalRequirements":"Information according to legal requirements","line97JsxTextCompanyInformation":"Company Information","line101JsxTextKortixAiCorp":"Kortix AI Corp","line103JsxTextIncorporatedInDelawareUnitedStates":"Incorporated in Delaware, United States","line105JsxTextPrincipalPlaceOfBusiness":"Principal Place of Business:","line107JsxTextText701TilleryStreet":"701 Tillery Street","line108JsxTextUnit122521":"Unit 12-2521","line109JsxTextAustinTx78702":"Austin, TX 78702","line110JsxTextUnitedStates":"United States","line112JsxTextRegisteredAgent":"Registered Agent:","line114JsxTextFirstbaseAgentLlc":"Firstbase Agent LLC","line115JsxTextText1007NOrangeSt4thFloorSuite1382":"1007 N Orange St. 4th Floor Suite #1382","line116JsxTextWilmingtonDe19801":"Wilmington, DE 19801","line117JsxTextUnitedStates":"United States","line130JsxTextInfoKortixCom":"info@kortix.com","line136JsxTextResponsibleForContent":"Responsible for Content","line139JsxTextKortixAiCorpIsResponsibleForTheContent":"Kortix AI Corp is responsible for the content of this website in accordance with applicable laws.","line147JsxTextTheInformationProvidedOnThisWebsiteIsFor":"The information provided on this website is for general informational purposes only. While we strive to keep the information up to date and accurate, we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability, or availability of the information contained on the website.","line159JsxTextTermsOfService":"Terms of Service","line162JsxTextLastUpdated":"Last updated:","line166JsxTextTermsOfServicePrivacyPolicy":"Terms of Service & Privacy Policy","line169JsxTextLastUpdatedAndEffectiveDate":"Last updated and effective date:","line173JsxTextPleaseReadTheseTermsOfUseAgreementOr":"PLEASE READ THESE TERMS OF USE (\"AGREEMENT\" OR \"TERMS OF USE\" or \"TERMS OF SERVICE\" or \"TERMS AND CONDITIONS\") CAREFULLY BEFORE USING THE SERVICES OFFERED BY Kortix AI Corp, a Delaware corporation with its principal place of business at 701 Tillery Street Unit 12-2521, Austin, Texas 78702, United States (\"Company\"). THIS AGREEMENT SETS FORTH THE LEGALLY BINDING TERMS AND CONDITIONS FOR YOUR USE OF THE Kortix WEBSITE AND ALL RELATED SERVICES.","line188JsxTextCompanyRefersToKortixAiCorpADelaware":"\"Company\" refers to Kortix AI Corp, a Delaware corporation with its principal place of business at 701 Tillery Street Unit 12-2521, Austin, Texas 78702, United States.","line193JsxTextSiteRefersToTheKortixWebsiteIncludingAny":"\"Site\" refers to the Kortix website, including any related features, content, or applications offered from time to time by the Company.","line198JsxTextServiceRefersToTheKortixPlatformAndAll":"\"Service\" refers to the Kortix platform and all related services provided by the Company, including the platform for building, managing, and training autonomous AI agents, browser automation, file management, web intelligence, system operations, API connectors, and agent builder tools.","line205JsxTextAgentRefersToAnAutonomousAiWorkerCreated":"\"Agent\" refers to an autonomous AI worker created, configured, or deployed through the Service that can perform tasks independently based on user instructions.","line210JsxTextAgentActionsRefersToAnyAutonomousOperationsPerformed":"\"Agent Actions\" refers to any autonomous operations performed by Agents, including but not limited to browser automation, file operations, web crawling, API calls, system commands, and interactions with third-party services.","line216JsxTextUserRefersToAnyIndividualOrEntityUsing":"\"User\" refers to any individual or entity using the Site or Service.","line220JsxTextAccountRefersToAUserAccountWithAssociated":"\"Account\" refers to a user account with associated resources, including agents, threads, files, and configurations.","line224JsxTextTeamMemberRefersToAnInvitedUserOn":"\"Team Member\" refers to an invited user on a shared Account with appropriate access permissions.","line228JsxTextApiRefersToProgrammaticAccessToTheService":"\"API\" refers to programmatic access to the Service via REST endpoints or the Python SDK.","line232JsxTextApiKeyRefersToAuthenticationCredentialsIssuedBy":"\"API Key\" refers to authentication credentials issued by the Company for programmatic access to the Service.","line236JsxTextContentRefersToAnyTextImagesCodeOr":"\"Content\" refers to any text, images, code, or other material uploaded to or generated by the Site or Service by Users or Agents.","line241JsxTextAssetsRefersToTheResultsAndOutputsGenerated":"\"Assets\" refers to the results and outputs generated by Agents or the Service, including any code, applications, documents, reports, presentations, or other deliverables.","line246JsxTextThirdPartyServicesRefersToExternalServicesIntegrated":"\"Third-Party Services\" refers to external services integrated with the Service, including but not limited to Composio, Apify, MCP servers, LLM providers (Anthropic, OpenAI, etc.), Supabase, and other third-party APIs and services.","line252JsxTextSelfHostingRefersToDeploymentOfTheService":"\"Self-Hosting\" refers to deployment of the Service on user's own infrastructure, subject to the terms of the LICENSE file.","line257JsxTextTermsOfUseRefersToTheseTermsAnd":"\"Terms of Use\" refers to these terms and conditions governing the use of the Site and Service.","line261JsxTextLicenseRefersToThePermissionsGrantedToUsers":"\"License\" refers to the permissions granted to Users to use the Site and Service as outlined in these Terms of Use, or the separate LICENSE file for self-hosting.","line266JsxTextDmcaRefersToTheDigitalMillenniumCopyrightAct":"\"DMCA\" refers to the Digital Millennium Copyright Act.","line269JsxTextFeesRefersToTheSubscriptionOrOtherPayments":"\"Fees\" refers to the subscription or other payments made by Users for access to certain features or levels of the Service, including usage-based charges and third-party service costs passed through.","line275JsxTextNoticeAddressRefersToTheContactAddressFor":"\"Notice Address\" refers to the contact address for the Company, specifically legal@kortix.com","line279JsxTextPrivacyPolicyRefersToTheDocumentOutliningHow":"\"Privacy Policy\" refers to the document outlining how the Company collects, uses, and protects User data.","line283JsxTextThirdPartyRefersToAnyPersonOrEntity":"\"Third Party\" refers to any person or entity other than the Company or the User.","line287JsxTextAaaRulesRefersToTheAmericanArbitrationAssociation":"\"AAA Rules\" refers to the American Arbitration Association's Consumer Arbitration Rules.","line291JsxTextClaimRefersToAnyDisputeClaimDemandOr":"\"Claim\" refers to any dispute, claim, demand, or cause of action that arises between the User and the Company.","line297JsxTextAcceptanceOfTermsOfUse":"Acceptance of Terms of Use","line300JsxTextTheServiceIsOfferedSubjectToAcceptanceWithout":"The Service is offered subject to acceptance without modification of all of these Terms of Use and all other operating rules, policies, and procedures that may be published from time to time in connection with the Services by the Company. In addition, some services offered through the Service may be subject to additional terms and conditions promulgated by the Company from time to time; your use of such services is subject to those additional terms and conditions, which are incorporated into these Terms of Use by this reference.","line313JsxTextTheCompanyMayInItsSoleDiscretionRefuse":"The Company may, in its sole discretion, refuse to offer the Service to any person or entity and change its eligibility criteria at any time. This provision is void where prohibited by law and the right to access the Service is revoked in such jurisdictions.","line321JsxTextDescriptionOfService":"Description of Service","line324JsxTextKortixIsACompletePlatformForCreatingManaging":"Kortix is a complete platform for creating, managing, and training autonomous AI agents. The Service enables Users to build sophisticated AI agents that can work autonomously on their behalf. The platform provides:","line331JsxTextAgentBuilder":"Agent Builder:","line331JsxTextToolsToCreateConfigureAndCustomizeAiAgents":"Tools to create, configure, and customize AI agents with specific capabilities and personalities","line336JsxTextBrowserAutomation":"Browser Automation:","line336JsxTextAgentsCanNavigateWebsitesExtractDataFillForms":"Agents can navigate websites, extract data, fill forms, and automate web workflows","line340JsxTextFileManagement":"File Management:","line340JsxTextAgentsCanCreateEditAndOrganizeDocumentsSpreadsheets":"Agents can create, edit, and organize documents, spreadsheets, presentations, and code","line344JsxTextWebIntelligence":"Web Intelligence:","line344JsxTextWebCrawlingSearchCapabilitiesDataExtractionAndInformation":"Web crawling, search capabilities, data extraction, and information synthesis","line348JsxTextSystemOperations":"System Operations:","line348JsxTextCommandLineExecutionSystemAdministrationAndDevopsTask":"Command-line execution, system administration, and DevOps task automation","line352JsxTextApiConnectors":"API Connectors:","line352JsxTextConnectionWith2700ThirdPartyServicesViaComposio":"Connection with 2700+ third-party services via Composio, Apify, MCP servers, and direct API connectors","line357JsxTextMultiTenantArchitecture":"Multi-Tenant Architecture:","line357JsxTextAccountManagementTeamCollaborationSharedResourcesAndApi":"Account management, team collaboration, shared resources, and API key access","line361JsxTextSelfHostingOptions":"Self-Hosting Options:","line361JsxTextDeploymentOnYourOwnInfrastructureSubjectToLicense":"Deployment on your own infrastructure (subject to LICENSE file restrictions)","line365JsxTextApiAndSdkAccess":"API and SDK Access:","line365JsxTextProgrammaticAccessViaRestEndpointsAndPythonSdk":"Programmatic access via REST endpoints and Python SDK","line370JsxTextAgentsOperateAutonomouslyBasedOnYourInstructionsAnd":"Agents operate autonomously based on your instructions and can perform complex, multi-step tasks independently. You acknowledge that Agents may interact with third-party services, access external data sources, and perform actions that have real-world consequences.","line378JsxTextRulesAndConduct":"Rules and Conduct","line381JsxTextByUsingTheServiceYouAgreeThatIt":"By using the Service, you agree that it is intended for the purpose of creating and deploying autonomous AI agents to help accomplish real-world tasks. You acknowledge and agree that when using the Service, you must have the necessary rights and permissions for any content, data, or actions you direct Agents to perform. You are solely responsible for ensuring that your use of the Service is legal and that you have the necessary rights for any tasks you perform or direct Agents to perform. The Company is not responsible for any content created or actions taken through the Service and disclaims all liability for any issues arising from the created content or performed actions, including but not limited to copyright infringement, illegal content, unauthorized access, or any other legal matters.","line397JsxTextContentModerationProhibitedUses":"Content Moderation & Prohibited Uses","line400JsxTextUserResponsibilityForAgentOutputs":"User Responsibility for Agent Outputs.","line400JsxTextYouAreResponsibleForReviewingAllAgentOutputs":"You are responsible for reviewing all Agent outputs and ensuring they comply with applicable laws and these Terms of Use. The Company reserves the right, but not the obligation, to monitor, review, and remove any Agent-generated content or disable any Agent actions that violate these Terms of Use.","line408JsxTextProhibitedUses":"Prohibited Uses.","line408JsxTextAsAConditionOfUseYouPromiseNot":"As a condition of use, you promise not to use the Service or direct Agents to perform any action that is prohibited by the Terms of Use. By way of example, and not as a limitation, you shall not (and shall not permit any third party or Agent to) take any action that:","line416JsxTextWouldConstituteAViolationOfAnyApplicableLaw":"would constitute a violation of any applicable law, rule, or regulation;","line420JsxTextInfringesUponAnyIntellectualPropertyOrOtherRight":"infringes upon any intellectual property or other right of any other person or entity;","line424JsxTextIsThreateningAbusiveHarassingDefamatoryLibelousDeceptiveFraudulent":"is threatening, abusive, harassing, defamatory, libelous, deceptive, fraudulent, invasive of another's privacy, tortious, obscene, offensive, furthering of self-harm, or profane;","line429JsxTextCreatesAssetsOrAgentOutputsThatExploitOr":"creates Assets or Agent outputs that exploit or abuse children;","line432JsxTextGeneratesOrDisseminatesVerifiablyFalseInformationWithThe":"generates or disseminates verifiably false information with the purpose of harming others;","line436JsxTextImpersonatesOrAttemptsToImpersonateOthers":"impersonates or attempts to impersonate others;","line439JsxTextGeneratesOrDisseminatesPersonallyIdentifyingOrIdentifiableInformation":"generates or disseminates personally identifying or identifiable information without authorization;","line443JsxTextCreatesAssetsThatImplyOrPromoteSupportOf":"creates Assets that imply or promote support of a terrorist organization;","line447JsxTextCreatesAssetsThatCondoneOrPromoteViolenceAgainst":"creates Assets that condone or promote violence against people based on any protected legal category;","line451JsxTextUsesAgentsToCircumventSecurityMeasuresAuthenticationSystems":"uses Agents to circumvent security measures, authentication systems, or terms of service of third-party services;","line455JsxTextUsesAgentsForAutomatedScrapingAtScaleWithout":"uses Agents for automated scraping at scale without explicit permission from the target website or service;","line459JsxTextUsesAgentsForCompetitiveIntelligenceGatheringThroughUnauthorized":"uses Agents for competitive intelligence gathering through unauthorized access or violation of third-party terms;","line463JsxTextUsesAgentsToReverseEngineerDecompileOrDisassemble":"uses Agents to reverse engineer, decompile, or disassemble third-party services or software;","line467JsxTextUsesAgentsForSecurityTestingPenetrationTestingOr":"uses Agents for security testing, penetration testing, or vulnerability scanning without explicit authorization;","line471JsxTextUsesAgentsToInterfereWithDisruptOrDamage":"uses Agents to interfere with, disrupt, or damage any system, network, or service;","line475JsxTextUsesAgentsToSendUnsolicitedCommunicationsSpamOr":"uses Agents to send unsolicited communications, spam, or phishing attempts;","line479JsxTextUsesAgentsToAccessModifyOrDeleteData":"uses Agents to access, modify, or delete data without proper authorization;","line483JsxTextUsesAgentsInAMannerThatViolatesExport":"uses Agents in a manner that violates export control laws or sanctions;","line487JsxTextUsesAgentsToCreateOrDistributeMalwareViruses":"uses Agents to create or distribute malware, viruses, or other harmful code.","line492JsxTextThirdPartyServiceCompliance":"Third-Party Service Compliance.","line492JsxTextWhenUsingAgentsToInteractWithThirdParty":"When using Agents to interact with third-party services, you are responsible for ensuring compliance with those services' terms of service, acceptable use policies, and rate limits. The Company is not responsible for violations of third-party terms by your Agents.","line499JsxTextContentRemoval":"Content Removal.","line499JsxTextTheCompanyReservesTheRightToRemoveAny":"The Company reserves the right to remove any content, disable any Agent, or suspend or terminate your Account if it determines, in its sole discretion, that you have violated these Terms of Use or engaged in prohibited uses. The Company may take such action without prior notice, though it will attempt to provide notice when reasonably possible.","line508JsxTextUserResponsibilityForCreatedContent":"User Responsibility for Created Content","line511JsxTextYouAgreeNotToCreateAnyContentOr":"You agree not to create any content or perform any actions that are illegal, infringe on the rights of any third party, or violate any applicable law, regulation, or these Terms of Use. The Company reserves the right to remove any content or disable any action that it deems to be in violation of these Terms of Use, at its sole discretion, and without notice. You are solely responsible for any content you create or actions you perform, and you agree to indemnify and hold harmless the Company from any claims, losses, damages, or expenses arising out of or related to your created content or performed actions.","line525JsxTextAgentAutonomyLiability":"Agent Autonomy & Liability","line528JsxTextAutonomousOperation":"Autonomous Operation.","line528JsxTextAgentsCreatedThroughTheServiceOperateAutonomouslyBased":"Agents created through the Service operate autonomously based on your instructions. Once configured and deployed, Agents may perform actions independently without requiring your immediate supervision or approval for each action.","line535JsxTextUserResponsibility":"User Responsibility.","line535JsxTextYouAreSolelyResponsibleForAllAgentActions":"You are solely responsible for all Agent Actions and outputs, including but not limited to:","line540JsxTextAllActionsPerformedByAgentsOnYourBehalf":"All actions performed by Agents on your behalf or at your direction","line544JsxTextAllContentDataOrOutputsGeneratedByAgents":"All content, data, or outputs generated by Agents","line547JsxTextAgentInteractionsWithThirdPartyServicesWebsitesOr":"Agent interactions with third-party services, websites, or APIs","line551JsxTextAgentAccessToModificationOfOrDeletionOf":"Agent access to, modification of, or deletion of files, data, or systems","line555JsxTextComplianceWithAllApplicableLawsRegulationsAndThird":"Compliance with all applicable laws, regulations, and third-party terms of service","line559JsxTextEnsuringYouHaveNecessaryRightsPermissionsAndAuthorizations":"Ensuring you have necessary rights, permissions, and authorizations for all Agent operations","line564JsxTextCompanyDisclaimers":"Company Disclaimers.","line564JsxTextTheCompanyDisclaimsAllLiabilityFor":"The Company disclaims all liability for:","line569JsxTextAgentErrorsMalfunctionsBugsOrUnintendedActions":"Agent errors, malfunctions, bugs, or unintended actions","line572JsxTextDataLossCorruptionOrUnauthorizedAccessResultingFrom":"Data loss, corruption, or unauthorized access resulting from Agent operations","line576JsxTextUnauthorizedAgentActionsIncludingActionsBeyondTheScope":"Unauthorized Agent actions, including actions beyond the scope of your instructions","line580JsxTextThirdPartyServiceFailuresOutagesOrChangesThat":"Third-party service failures, outages, or changes that affect Agent functionality","line584JsxTextAgentGeneratedContentThatViolatesLawsRegulationsOr":"Agent-generated content that violates laws, regulations, or third-party rights","line588JsxTextSecurityBreachesOrVulnerabilitiesInAgentConfigurationsOr":"Security breaches or vulnerabilities in Agent configurations or third-party connectors","line592JsxTextFinancialLossesBusinessInterruptionsOrOtherConsequencesOf":"Financial losses, business interruptions, or other consequences of Agent actions","line597JsxTextMonitoringAndReview":"Monitoring and Review.","line597JsxTextYouAcknowledgeThatAgentsOperateAutonomouslyAndThat":"You acknowledge that Agents operate autonomously and that you should regularly monitor Agent activities and review Agent outputs. The Company is not responsible for monitoring your Agents or alerting you to potentially problematic Agent actions.","line604JsxTextYouAgreeToIndemnifyDefendAndHoldHarmless":"You agree to indemnify, defend, and hold harmless the Company, its affiliates, and their respective officers, directors, employees, and agents from and against any and all claims, damages, obligations, losses, liabilities, costs, or debt, and expenses (including but not limited to attorney's fees) arising from: (i) your use of and access to the Service; (ii) your violation of any term of these Terms of Use; (iii) your violation of any third-party right, including without limitation any copyright, property, or privacy right; (iv) any Agent Actions or Agent-generated content; or (v) any claim that Agent Actions or Agent-generated content caused damage to a third party.","line619JsxTextSoftwareLicense":"Software License","line622JsxTextForTheFullLicenseTermsPleaseReferTo":"For the full license terms, please refer to the LICENSE file in our GitHub repository:","line634JsxTextAccuracyDisclaimer":"Accuracy Disclaimer","line637JsxTextTheServiceIsProvidedForGeneralAssistancePurposes":"The Service is provided for general assistance purposes. The analysis and results generated by the AI are not guaranteed to be error-free and should be thoroughly verified before relying on them. Users assume full responsibility for any content created or actions performed using the Service.","line646JsxTextDmcaAndTakedownsPolicy":"DMCA and Takedowns Policy","line649JsxTextTheCompanyUtilizesArtificialIntelligenceSystemsToGenerate":"The Company utilizes artificial intelligence systems to generate content and perform actions. Such generation may unintentionally involve copyrighted material or trademarks held by others. We respect rights holders internationally, and we ask our users to do the same. If you believe your copyright or trademark is being infringed by the Service, please write to legal@kortix.com and we will process and investigate your request and take appropriate actions under the Digital Millennium Copyright Act and other applicable intellectual property laws with respect to any alleged or actual infringement.","line663JsxTextDataRetentionDeletionAndUserRights":"Data Retention, Deletion, and User Rights","line666JsxTextDataRetention":"Data Retention.","line666JsxTextTheCompanyRetainsYourDataForAsLong":"The Company retains your data for as long as necessary to provide the Service and comply with legal obligations. Upon account termination, the Company will delete or anonymize your personal data in accordance with our data retention policies, except where retention is required by law or for legitimate business purposes (such as fraud prevention or dispute resolution). Backup and archival data may be retained for a limited period after account deletion.","line676JsxTextYourRights":"Your Rights.","line676JsxTextYouHaveTheRightTo":"You have the right to:","line680JsxTextRequestAccessToYourPersonalDataAndInformation":"Request access to your personal data and information about how it is processed","line684JsxTextRequestExportOfYourDataInAMachine":"Request export of your data in a machine-readable format","line688JsxTextRequestCorrectionOfInaccurateOrIncompleteData":"Request correction of inaccurate or incomplete data","line692JsxTextRequestDeletionOfYourAccountAndAssociatedData":"Request deletion of your account and associated data","line696JsxTextRequestTransferOfYourDataToAnotherService":"Request transfer of your data to another service provider","line700JsxTextObjectToCertainTypesOfDataProcessing":"Object to certain types of data processing","line704JsxTextRequestRestrictionOfDataProcessingInCertainCircumstances":"Request restriction of data processing in certain circumstances","line709JsxTextToExerciseTheseRightsPleaseContactUsAt":"To exercise these rights, please contact us at","line714JsxTextInfoKortixCom":"info@kortix.com","line716JsxTextWeWillRespondToYourRequestWithinA":". We will respond to your request within a reasonable timeframe and in accordance with applicable law.","line720JsxTextGdprRightsEuUsers":"GDPR Rights (EU Users).","line720JsxTextIfYouAreLocatedInTheEuropeanUnion":"If you are located in the European Union, you have additional rights under the General Data Protection Regulation (GDPR), including:","line726JsxTextRightToBeInformedAboutDataProcessing":"Right to be informed about data processing","line729JsxTextRightOfAccessToYourPersonalData":"Right of access to your personal data","line732JsxTextRightToRectificationOfInaccurateData":"Right to rectification of inaccurate data","line735JsxTextRightToErasureRightToBeForgotten":"Right to erasure (\"right to be forgotten\")","line738JsxTextRightToRestrictProcessing":"Right to restrict processing","line741JsxTextRightToDataPortability":"Right to data portability","line744JsxTextRightToObjectToProcessing":"Right to object to processing","line747JsxTextRightsRelatedToAutomatedDecisionMakingAndProfiling":"Rights related to automated decision-making and profiling","line750JsxTextRightToLodgeAComplaintWithASupervisory":"Right to lodge a complaint with a supervisory authority","line754JsxTextForGdprRelatedRequestsPleaseContactUsAt":"For GDPR-related requests, please contact us at","line759JsxTextInfoKortixCom":"info@kortix.com","line761JsxTextOurLegalBasisForProcessingYourDataIncludes":". Our legal basis for processing your data includes performance of contract, legitimate interests, consent, and compliance with legal obligations. We implement appropriate safeguards for international data transfers.","line767JsxTextCcpaRightsCaliforniaUsers":"CCPA Rights (California Users).","line767JsxTextIfYouAreACaliforniaResidentYouHave":"If you are a California resident, you have rights under the California Consumer Privacy Act (CCPA), including:","line773JsxTextRightToKnow":"Right to Know:","line773JsxTextRequestDisclosureOfCategoriesAndSpecificPiecesOf":"Request disclosure of categories and specific pieces of personal information collected, used, disclosed, or sold","line778JsxTextRightToDelete":"Right to Delete:","line778JsxTextRequestDeletionOfPersonalInformationCollectedFromYou":"Request deletion of personal information collected from you","line782JsxTextRightToOptOut":"Right to Opt-Out:","line782JsxTextOptOutOfTheSaleOfPersonalInformation":"Opt-out of the sale of personal information (if applicable)","line786JsxTextRightToNonDiscrimination":"Right to Non-Discrimination:","line786JsxTextExerciseYourRightsWithoutDiscrimination":"Exercise your rights without discrimination","line791JsxTextCategoriesOfPersonalInformationWeCollectIncludeIdentifiers":"Categories of personal information we collect include: identifiers (name, email, IP address), commercial information (purchase history, subscription data), internet activity (usage data, interactions with Service), geolocation data, and inferences drawn from the above.","line798JsxTextToExerciseYourCcpaRightsPleaseContactUs":"To exercise your CCPA rights, please contact us at","line803JsxTextInfoKortixCom":"info@kortix.com","line805JsxTextWeMayRequireVerificationOfYourIdentityBefore":". We may require verification of your identity before processing your request. We will not discriminate against you for exercising your CCPA rights.","line811JsxTextFeesAndPayments":"Fees and Payments","line814JsxTextTheCompanyMayOfferPaidServicesYouCan":"The Company may offer paid Services. You can learn more about our pricing after signing up. You may sign up for a subscription, payable in U.S. dollars, that will automatically renew. You can stop using the Service and cancel your subscription at any time through the website or by emailing us at info@kortix.com. If you cancel your subscription, you may not receive a refund or credit for any amounts that have already been billed or paid. The Company reserves the right to change its prices at any time. If you are on a subscription plan, changes to pricing will not apply until your next renewal.","line828JsxTextUnlessOtherwiseStatedYourSubscriptionFeesFeesDo":"Unless otherwise stated, your subscription fees (\"Fees\") do not include federal, state, local, and foreign taxes, duties, and other similar assessments (\"Taxes\"). You are responsible for all Taxes associated with your purchase and we may invoice you for such Taxes. You agree to timely pay such Taxes and provide us with documentation showing the payment or additional evidence that we may reasonably require. If any amount of your Fees is past due, we may suspend your access to the Services after we provide you with written notice of late payment.","line840JsxTextUsageBasedBilling":"Usage-Based Billing.","line840JsxTextSomeFeaturesOfTheServiceMayBeSubject":"Some features of the Service may be subject to usage-based billing, including but not limited to API calls, Agent execution time, data storage, and third-party service costs (such as LLM provider fees, Apify costs, etc.). These costs may be passed through to you with applicable markups. You will be notified of usage-based charges in advance or as they are incurred.","line849JsxTextCreditSystem":"Credit System.","line849JsxTextTheServiceMayUtilizeACreditSystemWhere":"The Service may utilize a credit system where 1 credit equals $0.01 USD. Credits may be consumed for various Service features and third-party service usage. Credits are non-refundable and may expire according to the terms of your subscription plan.","line856JsxTextPaymentMethods":"Payment Methods.","line856JsxTextPaymentsMustBeMadeInUSDollars":"Payments must be made in U.S. dollars using accepted payment methods. The Company reserves the right to change accepted payment methods at any time. All payments are processed securely through third-party payment processors.","line864JsxTextServiceAvailabilityModifications":"Service Availability & Modifications","line867JsxTextServiceAvailability":"Service Availability.","line867JsxTextTheServiceIsProvidedAsIsAndAs":"The Service is provided \"as is\" and \"as available\" without any guarantee of uptime, availability, or performance. The Company does not provide any Service Level Agreement (SLA) unless explicitly stated in a separate written agreement. The Service may be unavailable due to maintenance, updates, technical issues, or circumstances beyond the Company's control.","line876JsxTextPlannedMaintenance":"Planned Maintenance.","line876JsxTextTheCompanyMayPerformPlannedMaintenanceThatMay":"The Company may perform planned maintenance that may temporarily interrupt Service availability. The Company will attempt to provide advance notice of planned maintenance when reasonably possible, but is not obligated to do so.","line883JsxTextServiceModifications":"Service Modifications.","line883JsxTextTheCompanyReservesTheRightToModifyUpdate":"The Company reserves the right to modify, update, or discontinue any feature, function, or aspect of the Service at any time, with or without notice. This includes but is not limited to changes to APIs, Agent capabilities, third-party connectors, user interfaces, and pricing.","line891JsxTextFeatureDeprecation":"Feature Deprecation.","line891JsxTextTheCompanyMayDeprecateFeaturesApisOrFunctionality":"The Company may deprecate features, APIs, or functionality with reasonable notice. The Company will attempt to provide advance notice of deprecations and migration paths when available, but is not obligated to maintain backward compatibility indefinitely.","line898JsxTextServiceSuspension":"Service Suspension.","line898JsxTextTheCompanyReservesTheRightToSuspendOr":"The Company reserves the right to suspend or terminate your access to the Service immediately, without notice, if you violate these Terms of Use, engage in fraudulent or illegal activity, or if required by law or court order.","line905JsxTextNoGuarantees":"No Guarantees.","line905JsxTextTheCompanyDoesNotGuaranteeThatTheService":"The Company does not guarantee that the Service will be uninterrupted, error-free, secure, or free from viruses or other harmful components. You acknowledge that use of the Service involves inherent risks and that the Company is not responsible for any losses or damages resulting from Service unavailability, errors, or interruptions.","line914JsxTextApiUsageRateLimits":"API Usage & Rate Limits","line917JsxTextApiAccess":"API Access.","line917JsxTextTheServiceProvidesProgrammaticAccessViaRestEndpoints":"The Service provides programmatic access via REST endpoints and a Python SDK. API access requires an API Key, which you can create and manage through your Account. You are responsible for maintaining the security and confidentiality of your API Keys.","line924JsxTextApiKeySecurity":"API Key Security.","line924JsxTextYouMustNotSharePublishOrExposeYour":"You must not share, publish, or expose your API Keys. You are responsible for all activities that occur using your API Keys, whether authorized by you or not. If you believe an API Key has been compromised, you must immediately revoke it and create a new one. The Company is not responsible for any unauthorized access or use of your API Keys.","line932JsxTextRateLimitsFairUse":"Rate Limits & Fair Use.","line932JsxTextTheServiceIsSubjectToRateLimitsAnd":"The Service is subject to rate limits and fair use policies to ensure equitable access and system stability. Rate limits may vary based on your subscription plan and may be adjusted by the Company at any time. You agree not to:","line940JsxTextExceedRateLimitsOrAttemptToCircumventRate":"Exceed rate limits or attempt to circumvent rate limiting mechanisms","line944JsxTextUseAutomatedToolsOrScriptsToMakeExcessive":"Use automated tools or scripts to make excessive API calls","line947JsxTextEngageInAnyActivityThatPlacesUndueBurden":"Engage in any activity that places undue burden on the Service infrastructure","line951JsxTextUseTheApiInAMannerThatInterferes":"Use the API in a manner that interferes with other users' access to the Service","line956JsxTextUsageQuotas":"Usage Quotas.","line956JsxTextYourSubscriptionPlanMayIncludeUsageQuotasFor":"Your subscription plan may include usage quotas for API calls, Agent executions, data storage, or other Service features. Quotas reset according to your billing cycle. Exceeding quotas may result in temporary suspension of API access or additional charges.","line963JsxTextAbuseEnforcement":"Abuse & Enforcement.","line963JsxTextTheCompanyMonitorsApiUsageForAbuseFraud":"The Company monitors API usage for abuse, fraud, and violations of these Terms of Use. If the Company determines, in its sole discretion, that you are abusing the API or violating these Terms, the Company may:","line970JsxTextTemporarilyOrPermanentlySuspendYourApiAccess":"Temporarily or permanently suspend your API access","line973JsxTextRevokeYourApiKeys":"Revoke your API Keys","line976JsxTextTerminateYourAccount":"Terminate your Account","line979JsxTextTakeLegalActionIfNecessary":"Take legal action if necessary","line983JsxTextApiChanges":"API Changes.","line983JsxTextTheCompanyReservesTheRightToModifyDeprecate":"The Company reserves the right to modify, deprecate, or discontinue API endpoints, SDK functionality, or authentication methods at any time. The Company will attempt to provide reasonable notice of breaking changes, but is not obligated to maintain backward compatibility indefinitely.","line995JsxTextTerminationByCompany":"Termination by Company.","line995JsxTextTheCompanyMayTerminateYourAccessToAll":"The Company may terminate your access to all or any part of the Service at any time if you fail to comply with these Terms of Use, which may result in the forfeiture and destruction of all information associated with your account. The Company may also terminate the Service for any reason with reasonable notice.","line1003JsxTextTerminationByUser":"Termination by User.","line1003JsxTextYouMayTerminateYourAccountAtAnyTime":"You may terminate your Account at any time by following the instructions on the Service or by contacting us at","line1010JsxTextInfoKortixCom":"info@kortix.com","line1012JsxTextTerminationOfYourAccountWillResultInThe":". Termination of your Account will result in the deletion of your data in accordance with our data retention policies.","line1016JsxTextDataDeletion":"Data Deletion.","line1016JsxTextUponTerminationTheCompanyWillDeleteOrAnonymize":"Upon termination, the Company will delete or anonymize your personal data and Account information in accordance with applicable law and our data retention policies. You are responsible for exporting any data you wish to retain before terminating your Account. The Company may retain certain data for legal, regulatory, or business purposes as permitted by law.","line1025JsxTextOutstandingObligations":"Outstanding Obligations.","line1025JsxTextAnyFeesPaidHereunderAreNonRefundableUpon":"Any fees paid hereunder are non-refundable. Upon termination, you remain responsible for all outstanding fees, charges, and obligations incurred prior to termination.","line1031JsxTextUponAnyTerminationAllRightsAndLicensesGranted":"Upon any termination, all rights and licenses granted to you in this Agreement shall immediately terminate, but all provisions hereof which by their nature should survive termination shall survive termination, including, without limitation, warranty disclaimers, indemnity, limitations of liability, intellectual property provisions, and dispute resolution provisions.","line1041JsxTextDisputeResolutionByBindingArbitration":"Dispute Resolution by Binding Arbitration","line1044JsxTextPleaseReadThisSectionCarefullyAsItAffects":"PLEASE READ THIS SECTION CAREFULLY, AS IT AFFECTS YOUR RIGHTS.","line1049JsxTextAgreementToArbitrate":"Agreement to Arbitrate.","line1049JsxTextYouAndTheCompanyAgreeThatAnyAnd":"You and the Company agree that any and all disputes, claims, demands, or causes of action (\"Claims\") that have arisen or may arise between you and us, whether arising out of or relating to these Terms, the Site, or any aspect of the relationship or transactions between us, will be resolved exclusively through final and binding arbitration before a neutral arbitrator, rather than in a court by a judge or jury, in accordance with the terms of this Arbitration Agreement, except that you or we may (but are not required to) assert individual Claims in small claims court if such Claims are within the scope of such court's jurisdiction.","line1065JsxTextProhibitionOfClassAndRepresentativeActions":"Prohibition of Class and Representative Actions.","line1067JsxTextYouAndWeAgreeThatEachOfUs":"YOU AND WE AGREE THAT EACH OF US MAY BRING CLAIMS AGAINST THE OTHER ONLY ON AN INDIVIDUAL BASIS AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE ACTION OR PROCEEDING.","line1074JsxTextPreArbitrationDisputeResolution":"Pre-Arbitration Dispute Resolution.","line1075JsxTextBeforeCommencingAnyArbitrationYouAgreeToProvide":"Before commencing any arbitration, you agree to provide the Company with a written notice of Claim, and the Company agrees to provide you with a written notice of Claim to the extent reasonably possible based on the availability of your contact information to the Company. The Notice must describe the nature and basis of the Claim in sufficient detail and set forth the specific relief sought.","line1086JsxTextBothPartiesAgreeThatTheyWillAttemptTo":"Both parties agree that they will attempt to resolve a Claim through informal negotiation within sixty (60) calendar days from the date the Notice is received. If the Claim is not resolved within sixty (60) calendar days after the Notice is received, you or we may commence an arbitration proceeding.","line1095JsxTextChoiceOfLaw":"Choice of Law","line1098JsxTextAnyAndAllClaimsShallBeGovernedBy":"Any and all Claims shall be governed by the Federal Arbitration Act and the internal substantive laws of the State of Delaware, United States, in all respects, without regard for the jurisdiction or forum in which the user is domiciled, resides, or is located at the time of such access or use. Except as provided in the Arbitration Agreement, all Claims will be brought in the federal or state courts located in Delaware, and you and the Company each unconditionally, voluntarily, and irrevocably consent to the exclusive personal jurisdiction and venue of those courts.","line1111JsxTextThirdPartyServicesConnectors":"Third-Party Services & Connectors","line1114JsxTextThirdPartyConnectors":"Third-Party Connectors.","line1114JsxTextTheServiceIntegratesWithNumerousThirdPartyServices":"The Service integrates with numerous third-party services, including but not limited to: Composio (for 2700+ app connectors), Apify (for web scraping), MCP servers (for external tool connectors), LLM providers (Anthropic, OpenAI, and others via LiteLLM), Supabase (for database and authentication), and various other APIs and services.","line1122JsxTextYourResponsibility":"Your Responsibility.","line1122JsxTextWhenUsingAgentsToInteractWithThirdParty":"When using Agents to interact with third-party services, you are solely responsible for:","line1128JsxTextComplianceWithAllThirdPartyTermsOfService":"Compliance with all third-party terms of service, acceptable use policies, and API terms","line1132JsxTextObtainingNecessaryAuthorizationsLicensesAndPermissionsToAccess":"Obtaining necessary authorizations, licenses, and permissions to access third-party services","line1136JsxTextEnsuringYourUseOfThirdPartyServicesThrough":"Ensuring your use of third-party services through Agents is lawful and authorized","line1140JsxTextAnyFeesChargesOrCostsImposedByThird":"Any fees, charges, or costs imposed by third-party services","line1143JsxTextDataPrivacyAndSecurityWhenSharingDataWith":"Data privacy and security when sharing data with third-party services","line1148JsxTextCompanyDisclaimers":"Company Disclaimers.","line1148JsxTextTheCompanyIsNotResponsibleFor":"The Company is not responsible for:","line1153JsxTextThirdPartyServiceAvailabilityOutagesOrChanges":"Third-party service availability, outages, or changes","line1156JsxTextThirdPartyServiceFailuresThatAffectAgentFunctionality":"Third-party service failures that affect Agent functionality","line1159JsxTextThirdPartyServiceModificationsDeprecationsOrDiscontinuations":"Third-party service modifications, deprecations, or discontinuations","line1163JsxTextDataHandlingPrivacyPracticesOrSecurityOfThird":"Data handling, privacy practices, or security of third-party services","line1167JsxTextViolationsOfThirdPartyTermsByYourAgents":"Violations of third-party terms by your Agents or use of the Service","line1172JsxTextDataSharing":"Data Sharing.","line1172JsxTextWhenYouUseAgentsToInteractWithThird":"When you use Agents to interact with third-party services, data may be shared with those services in accordance with their privacy policies and terms of service. The Company's Privacy Policy describes how we handle data, but third-party services are governed by their own privacy policies.","line1180JsxTextThirdPartyServiceChanges":"Third-Party Service Changes.","line1180JsxTextThirdPartyServicesMayChangeTheirApisTerms":"Third-party services may change their APIs, terms, or discontinue services at any time. The Company is not responsible for maintaining compatibility with third-party service changes and may need to update or remove connectors accordingly. The Company will attempt to provide reasonable notice of significant connector changes when possible.","line1190JsxTextExportControlCompliance":"Export Control Compliance","line1193JsxTextComplianceWithExportLaws":"Compliance with Export Laws.","line1193JsxTextTheServiceIncludingSoftwareTechnologyAndTechnicalData":"The Service, including software, technology, and technical data, may be subject to U.S. export control laws, including the Export Administration Regulations (EAR) and International Traffic in Arms Regulations (ITAR). You agree to comply with all applicable export control laws and regulations.","line1201JsxTextProhibitedCountriesUsers":"Prohibited Countries & Users.","line1201JsxTextYouRepresentAndWarrantThatYouAreNot":"You represent and warrant that you are not located in, under the control of, or a national or resident of any country subject to U.S. trade embargoes or sanctions, including but not limited to Cuba, Iran, North Korea, Syria, and the Crimea region of Ukraine. You also represent that you are not on any U.S. government list of prohibited or restricted parties.","line1210JsxTextRestrictedUses":"Restricted Uses.","line1210JsxTextYouAgreeNotToUseTheServiceIn":"You agree not to use the Service in any manner that would violate U.S. export control laws, including but not limited to:","line1216JsxTextExportingReExportingOrTransferringTheServiceTo":"Exporting, re-exporting, or transferring the Service to prohibited countries or restricted parties","line1220JsxTextUsingTheServiceForPurposesProhibitedByExport":"Using the Service for purposes prohibited by export control laws","line1224JsxTextFacilitatingTransactionsOrActivitiesThatViolateExportControl":"Facilitating transactions or activities that violate export control laws","line1229JsxTextCompanyRights":"Company Rights.","line1229JsxTextTheCompanyReservesTheRightToRestrictAccess":"The Company reserves the right to restrict access to the Service from any country or to any user based on export control requirements, sanctions, or other legal obligations. The Company may suspend or terminate your Account if it determines, in its sole discretion, that your use of the Service violates export control laws or poses a risk of such violation.","line1242JsxTextTheServiceSoftwareIsAvailableForSelfHosting":"The Service software is available for self-hosting on your own infrastructure, subject to the terms of the LICENSE file in our GitHub repository. Self-hosting is governed by the Kortix Public Source License (KPSL), which includes restrictions on network-accessible deployments and commercial use. For network-accessible deployments or commercial use beyond the LICENSE terms, a separate commercial license agreement is required. Please refer to the LICENSE file for complete terms and contact","line1255JsxTextHeyKortixCom":"hey@kortix.com","line1257JsxTextForCommercialLicensingInquiries":"for commercial licensing inquiries.","line1261JsxTextLinksToAndFromOtherWebsites":"Links to and From Other Websites","line1264JsxTextYouMayGainAccessToOtherWebsitesVia":"You may gain access to other websites via links on the Site. These Terms apply to the Site only and do not apply to other parties' websites. Similarly, you may have come to the Site via a link from another website. The terms of use of other websites do not apply to the Site. The Company assumes no responsibility for any terms of use or material outside of the Site accessed via any link.","line1274JsxTextModificationOfTermsOfUse":"Modification of Terms of Use","line1277JsxTextAtItsSoleDiscretionTheCompanyMayModify":"At its sole discretion, the Company may modify or replace any of the Terms of Use, or change, suspend, or discontinue the Service (including without limitation, the availability of any feature, database, or content) at any time by posting a notice on the Site or by sending you an email. The Company may also impose limits on certain features and services or restrict your access to parts or all of the Service without notice or liability. It is your responsibility to check the Terms of Use periodically for changes. Your continued use of the Service following the posting of any changes to the Terms of Use constitutes acceptance of those changes.","line1292JsxTextTrademarksAndPatents":"Trademarks and Patents","line1295JsxTextAllKortixLogosMarksAndDesignationsAreTrademarks":"All Kortix logos, marks, and designations are trademarks or registered trademarks of the Company. All other trademarks mentioned on this website are the property of their respective owners. The trademarks and logos displayed on this website may not be used without the prior written consent of the Company or their respective owners. Portions, features, and/or functionality of the Company's products may be protected under the Company's patent applications or patents.","line1307JsxTextIntellectualPropertyOwnership":"Intellectual Property & Ownership","line1310JsxTextServiceLicense":"Service License.","line1310JsxTextSubjectToYourComplianceWithThisAgreementThe":"Subject to your compliance with this Agreement, the conditions herein, and any limitations applicable to the Company or by law, you are granted a non-exclusive, limited, non-transferable, non-sublicensable, non-assignable, freely revocable license to access and use the Service for business or personal use.","line1318JsxTextUserOwnershipOfAssets":"User Ownership of Assets.","line1318JsxTextYouOwnAllAssetsYouCreateWithThe":"You own all Assets you create with the Services, including but not limited to:","line1323JsxTextGeneratedContentCodeDocumentsReportsPresentationsAndOther":"Generated content, code, documents, reports, presentations, and other deliverables created by Agents","line1327JsxTextAgentConfigurationsPromptsAndCustomizationsCreatedByYou":"Agent configurations, prompts, and customizations created by you","line1331JsxTextDerivativeWorksBasedOnAgentOutputs":"Derivative works based on Agent outputs","line1334JsxTextDataFilesAndContentYouUploadOrProvide":"Data, files, and content you upload or provide to the Service","line1338JsxTextTheCompanyHerebyAssignsToYouAllRights":"The Company hereby assigns to you all rights, title, and interest in and to such Assets for your personal or commercial use, subject to the limitations below.","line1343JsxTextCompanyRetainedRights":"Company Retained Rights.","line1343JsxTextTheCompanyRetainsAllRightsInAndTo":"The Company retains all rights in and to:","line1348JsxTextTheServicePlatformSoftwareInfrastructureAndTechnology":"The Service platform, software, infrastructure, and technology","line1351JsxTextPreExistingTrainingDataModelsAndAlgorithmsUsed":"Pre-existing training data, models, and algorithms used by underlying AI systems (including but not limited to LLM providers such as Anthropic, OpenAI, and others)","line1356JsxTextAgentTemplatesExamplesAndPreConfiguredAgentsProvided":"Agent templates, examples, and pre-configured agents provided by the Company","line1360JsxTextImprovementsModificationsAndEnhancementsToThePlatformItself":"Improvements, modifications, and enhancements to the platform itself","line1364JsxTextCompanyTrademarksLogosAndBranding":"Company trademarks, logos, and branding","line1368JsxTextLicenseToCompany":"License to Company.","line1368JsxTextYouGrantTheCompanyAWorldwideNonExclusive":"You grant the Company a worldwide, non-exclusive, royalty-free license to use, store, process, and analyze your Assets and Agent configurations for the purposes of:","line1375JsxTextProvidingMaintainingAndImprovingTheService":"Providing, maintaining, and improving the Service","line1378JsxTextAnalyticsMonitoringAndServiceOptimization":"Analytics, monitoring, and service optimization","line1381JsxTextComplianceWithLegalObligationsAndEnforcementOfThese":"Compliance with legal obligations and enforcement of these Terms of Use","line1385JsxTextSecurityFraudPreventionAndAbuseDetection":"Security, fraud prevention, and abuse detection","line1389JsxTextThirdPartyContent":"Third-Party Content.","line1389JsxTextIfYourAssetsIncorporateThirdPartyContentMaterials":"If your Assets incorporate third-party content, materials, or intellectual property, you are solely responsible for obtaining all necessary rights, licenses, and permissions. The Company does not grant you any rights to third-party content.","line1396JsxTextAccountResponsibility":"Account Responsibility.","line1396JsxTextEachPersonMustHaveAUniqueAccountAnd":"Each person must have a unique account, and you are responsible for any activity conducted on your account, including by Team Members or through API Keys you create. A breach or violation of any of our Terms of Use may result in an immediate termination of your right to use our Service.","line1408JsxTextYouShallDefendIndemnifyAndHoldHarmlessThe":"You shall defend, indemnify, and hold harmless the Company, its affiliates, and each of its, and its affiliates employees, contractors, directors, suppliers, and representatives from all liabilities, losses, claims, and expenses, including reasonable attorneys' fees, that arise from or relate to (i) your use or misuse of, or access to, the Service, or (ii) your violation of the Terms of Use or any applicable law, contract, policy, regulation, or other obligation. The Company reserves the right to assume the exclusive defense and control of any matter otherwise subject to indemnification by you, in which event you will assist and cooperate with the Company in connection therewith.","line1424JsxTextLimitationOfLiability":"Limitation of Liability","line1427JsxTextInNoEventShallTheCompanyOrIts":"IN NO EVENT SHALL THE COMPANY OR ITS DIRECTORS, EMPLOYEES, AGENTS, PARTNERS, SUPPLIERS, OR CONTENT PROVIDERS, BE LIABLE UNDER CONTRACT, TORT, STRICT LIABILITY, NEGLIGENCE, OR ANY OTHER LEGAL OR EQUITABLE THEORY WITH RESPECT TO THE SERVICE (I) FOR ANY LOST PROFITS, DATA LOSS, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR SPECIAL, INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES OF ANY KIND WHATSOVER, OR SUBSTITUTE GOODS OR SERVICES, (II) FOR YOUR RELIANCE ON THE SERVICE, INCLUDING ANY APPLICATIONS CREATED USING THE AI, OR (III) FOR ANY DIRECT DAMAGES IN EXCESS (IN THE AGGREGATE) OF THE FEES PAID BY YOU FOR THE SERVICE OR, IF GREATER, $100. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATIONS AND EXCLUSIONS MAY NOT APPLY TO YOU.","line1448JsxTextAllUseOfTheServiceAndAnyContent":"ALL USE OF THE SERVICE AND ANY CONTENT IS UNDERTAKEN ENTIRELY AT YOUR OWN RISK. THE SERVICE (INCLUDING, WITHOUT LIMITATION, THE Kortix WEB APP AND ANY CONTENT) IS PROVIDED \"AS IS\" AND \"AS AVAILABLE\" AND IS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE, AND ANY WARRANTIES IMPLIED BY ANY COURSE OF PERFORMANCE OR USAGE OF TRADE, ALL OF WHICH ARE EXPRESSLY DISCLAIMED. Kortix DOES NOT GUARANTEE THE ACCURACY, COMPLETENESS, OR RELIABILITY OF THE AI-GENERATED CONTENT, AND USERS ASSUME FULL RESPONSIBILITY FOR ANY APPLICATIONS CREATED USING THE SERVICE. SOME STATES DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.","line1466JsxTextAgeRequirements":"Age Requirements","line1469JsxTextByAccessingTheServicesYouConfirmThatYou":"By accessing the Services, you confirm that you're at least 18 years old and meet the minimum age of digital consent in your country. If you are not old enough to consent to our Terms of Use in your country, your parent or guardian must agree to this Agreement on your behalf.","line1477JsxTextPleaseAskYourParentOrGuardianToRead":"Please ask your parent or guardian to read these terms with you. If you're a parent or legal guardian, and you allow your teenager to use the Services, then these terms also apply to you and you're responsible for your teenager's activity on the Services. No assurances are made as to the suitability of the Assets for you.","line1486JsxTextContactUs":"Contact Us","line1489JsxTextForQuestionsRegardingTheServiceYouCanGet":"For questions regarding the Service, you can get in touch by emailing us at","line1495JsxTextInfoKortixCom":"info@kortix.com","line1500JsxTextLegalMatters":"Legal Matters:","line1500JsxTextForLegalInquiriesDmcaNoticesOrOtherLegal":"For legal inquiries, DMCA notices, or other legal matters, please contact","line1506JsxTextLegalKortixCom":"legal@kortix.com","line1511JsxTextDataPrivacyRequests":"Data Privacy Requests:","line1511JsxTextForGdprCcpaOrOtherDataPrivacyRequests":"For GDPR, CCPA, or other data privacy requests (access, deletion, portability, etc.), please contact","line1518JsxTextInfoKortixCom":"info@kortix.com","line1520JsxTextWithTheSubjectLinePrivacyRequestAndInclude":"with the subject line \"Privacy Request\" and include details of your request.","line1524JsxTextMailingAddress":"Mailing Address:","line1524JsxTextKortixAiCorp701TilleryStreetUnit12":"Kortix AI Corp, 701 Tillery Street Unit 12-2521, Austin, Texas 78702, United States.","line1531JsxTextPrivacyPolicy":"Privacy Policy","line1534JsxTextLastUpdated":"Last updated:","line1541JsxTextOurCommitmentToPrivacyAndDataProtectionIs":"Our commitment to privacy and data protection is reflected in this Privacy Statement which describes how we collect and process \"personal information\" that identifies you, like your name or email address. Any other information besides this is \"non-personal information.\" If we store personal information with non-personal information, we'll consider that combination to be personal information.","line1551JsxTextReferencesToOurServicesAtKortixInThis":"References to our \"Services\" at Kortix in this statement include our website, apps, and other products and services. This statement applies to our Services that display or reference this Privacy Statement. Third-party services that we integrate with are governed under their own privacy policies.","line1560JsxTextKortixDoesNotCollectBiometricOrIdentifyingInformation":"Kortix does not collect biometric or identifying information. All data is processed securely and any data is deleted upon account removal.","line1566JsxTextInformationGathering":"Information Gathering","line1569JsxTextWeLearnInformationAboutYouWhen":"We learn information about you when:","line1573JsxTextYouDirectlyProvideItToUs":"You directly provide it to us.","line1576JsxTextForExampleWeCollect":"For example, we collect:","line1580JsxTextNameAndContactInformationWeCollectDetailsSuch":"Name and contact information. We collect details such as name and email address.","line1584JsxTextPaymentInformationIfYouMakeAPurchaseWe":"Payment information. If you make a purchase, we collect credit card numbers, financial account information, and other payment details.","line1589JsxTextContentAndFilesWeCollectAndRetainThe":"Content and files. We collect and retain the videos, documents, or other files you send to us in connection with delivering our Services, including via email or chat.","line1597JsxTextWeCollectItAutomaticallyThroughOurProductsAnd":"We collect it automatically through our products and services.","line1601JsxTextForInstanceWeCollect":"For instance, we collect:","line1605JsxTextIdentifiersAndDeviceInformationWhenYouVisitOur":"Identifiers and device information. When you visit our websites, our web servers log your Internet Protocol (IP) address and information about your device, including device identifiers, device type, operating system, browser, and other software including type, version, language, settings, and configuration.","line1613JsxTextGeolocationDataDependingOnYourDeviceAndApp":"Geolocation data. Depending on your device and app settings, we collect geolocation data when you use our Services.","line1618JsxTextUsageDataWeLogYourActivityOnOur":"Usage data. We log your activity on our website, including the URL of the website from which you came to our site, pages you viewed on our website, how long you spent on a page, access times, and other details about your use of and actions on our website. We also collect information about which web-elements or objects you interact with on our Service, metadata about your activity on the Service, changes in your user state, and the duration of your use of our Service.","line1631JsxTextSomeoneElseTellsUsInformationAboutYou":"Someone else tells us information about you.","line1634JsxTextThirdPartySourcesIncludeForExample":"Third-party sources include, for example:","line1638JsxTextThirdPartyPartnersThirdPartyApplicationsAndServices":"Third-party partners. Third-party applications and services, including social networks you choose to connect with or interact with through our services.","line1643JsxTextServiceProvidersThirdPartiesThatCollectOrProvide":"Service providers. Third parties that collect or provide data in connection with work they do on our behalf, for example, companies that determine your device's location based on its IP address.","line1651JsxTextWhenWeTryAndUnderstandMoreAboutYou":"When we try and understand more about you based on information you've given to us.","line1655JsxTextWeInferNewInformationFromOtherDataWe":"We infer new information from other data we collect, including using automated means to generate information about your likely preferences or other characteristics (\"inferences\"). For example, we infer your general geographic location based on your IP address.","line1663JsxTextInformationUse":"Information Use","line1666JsxTextWeUseEachCategoryOfPersonalInformationAbout":"We use each category of personal information about you:","line1669JsxTextToProvideYouWithOurServices":"To provide you with our Services","line1670JsxTextToImproveAndDevelopOurServices":"To improve and develop our Services","line1671JsxTextToCommunicateWithYou":"To communicate with you","line1672JsxTextToProvideCustomerSupport":"To provide customer support","line1676JsxTextInformationSharing":"Information Sharing","line1679JsxTextWeShareInformationAboutYou":"We share information about you:","line1683JsxTextWhenWeVeAskedReceivedYourConsentTo":"When we've asked & received your consent to share it.","line1686JsxTextAsNeededIncludingToThirdPartyServiceProviders":"As needed, including to third-party service providers, to process or provide Services or products to you, but only if those entities agree to provide at least the same level of privacy protection we're committed to under this Privacy Statement.","line1693JsxTextToComplyWithLawsOrToRespondTo":"To comply with laws or to respond to lawful requests and legal processes, provided that we'll notify you unless we're legally prohibited from doing so. We'll only release personal information if we believe in good faith that it's legally required.","line1700JsxTextOnlyIfWeReasonablyBelieveItSNecessary":"Only if we reasonably believe it's necessary to prevent harm to the rights, property, or safety of you or others.","line1705JsxTextInTheEventOfACorporateRestructuringOr":"In the event of a corporate restructuring or change in our organizational structure or status to a successor or affiliate.","line1712JsxTextPleaseNoteThatSomeOfOurServicesInclude":"Please note that some of our Services include connectors, references, or links to services provided by third parties whose privacy practices differ from ours. If you provide personal information to any of those third parties, or allow us to share personal information with them, that data is governed by their privacy statements.","line1721JsxTextFinallyWeMayShareNonPersonalInformationIn":"Finally, we may share non-personal information in accordance with applicable law.","line1726JsxTextInformationProtection":"Information Protection","line1729JsxTextWeImplementPhysicalBusinessAndTechnicalSecurityMeasures":"We implement physical, business, and technical security measures to safeguard your personal information. In the event of a security breach, we'll notify you so that you can take appropriate protective steps. We only keep your personal information for as long as is needed to do what we collected it for. After that, we destroy it unless required by law.","line1739JsxTextContactUs":"Contact Us","line1742JsxTextYouCanGetInTouchByEmailingUs":"You can get in touch by emailing us at","line1747JsxTextInfoKortixCom":"info@kortix.com"},"appMaintenancePage":{"line54JsxTextCheckSystemStatus":"Check system status →","line61JsxTextThisPageRefreshesAutomaticallyEvery30Seconds":"This page refreshes automatically every 30 seconds."},"appNotFound":{"line65JsxTextPageNotFound":"Page not found","line70JsxTextThePageYouAposReLookingForDoesn":"The page you're looking for doesn't exist or has been moved.","line82JsxTextText404Error":"404 Error","line85JsxTextResourceNotAvailable":"resource not available","line100JsxTextReturnHome":"Return Home"},"appOauthAuthorizePage":{"line146JsxTextInvalidAuthorizationRequest":"Invalid authorization request","line147JsxTextMissingRequiredParameters":"Missing required parameters.","line159JsxTextAuthorizationRequestUnavailable":"Authorization request unavailable","line183JsxTextWantsToAccessYourKortixAccount":"wants to access your Kortix account","line189JsxTextThisWillAllow":"This will allow","line202JsxTextSignedInAs":"Signed in as","line232JsxTextYouCanRevokeAccessAtAnyTimeFrom":"You can revoke access at any time from your account settings."},"appProjectsIdCustomizeAgentsPage":{"line118JsxAttrPlaceholderSearchAgents":"Search agents","line314JsxTextAgentBodyIsEmptyAddPromptContentBelow":"Agent body is empty. Add prompt content below the frontmatter.","line347JsxTextInlineEditingComingSoon":"Inline editing coming soon","line363JsxTextCopySource":"Copy source","line380JsxTextOpenInFileViewer":"Open in file viewer","line430JsxAttrTitleSelectAnAgent":"Select an agent","line431JsxAttrDescriptionPickAnAgentFromTheListToPreview":"Pick an agent from the list to preview it.","line440JsxTextNoMatchesFor":"No matches for","line452JsxAttrTitleNoAgentsYet":"No agents yet","line455JsxTextCommitA":"Commit a","line457JsxTextKortixOpencodeAgentsLtNameGtMd":".kortix/opencode/agents/<name>.md","line459JsxTextAndItAposLlShowUpHere":"and it'll show up here.","line470JsxTextOpencodeAgentsDocs":"OpenCode agents docs","line488JsxAttrTitleCouldnTLoadSource":"Couldn't load source","line502JsxAttrTitleAccessRequired":"Access required","line503JsxTextNoPermissionToReadThisRepo":"No permission to read this repo.","line517JsxTextFailedToLoad":"Failed to load"},"appProjectsIdCustomizeChannelsPage":{"line45JsxTextTeam":"· team","line50JsxTextEnableTheBotForThisProject":"Enable the bot for this project","line52JsxTextAddA":"Add a","line52JsxTextEntryWith":"entry with","line53JsxTextPlatformSlack":"platform = \"slack\"","line53JsxTextToThisProjectS":"to this project's","line54JsxTextInviteTheBotToAnyChannelInYour":". Invite the bot to any channel in your workspace, then","line55JsxTextKortix":"@kortix","line55JsxTextItLlRespondThere":"— it'll respond there.","line63JsxTextSlackIsnTConnectedYet":"Slack isn't connected yet","line65JsxTextConnectASlackWorkspaceToThisProjectTokens":"Connect a Slack workspace to this project. Tokens are stored encrypted in this project's secrets manager — no env vars required.","line70JsxTextConnectSlack":"Connect Slack"},"appProjectsIdCustomizeCommandsPage":{"line107JsxAttrPlaceholderSearchCommands":"Search commands","line276JsxTextCommandBodyIsEmptyAddThePromptContent":"Command body is empty. Add the prompt content below the frontmatter.","line310JsxTextInlineEditingComingSoon":"Inline editing coming soon","line326JsxTextCopySource":"Copy source","line343JsxTextOpenInFileViewer":"Open in file viewer","line393JsxAttrTitleSelectACommand":"Select a command","line394JsxAttrDescriptionPickACommandFromTheListToPreview":"Pick a command from the list to preview it.","line403JsxTextNoMatchesFor":"No matches for","line415JsxAttrTitleNoCommandsYet":"No commands yet","line418JsxTextCommitA":"Commit a","line420JsxTextOpencodeCommandLtSlugGtMd":".opencode/command/<slug>.md","line422JsxTextToAddASlashCommand":"to add a slash command.","line433JsxTextOpencodeCommandsDocs":"OpenCode commands docs","line451JsxAttrTitleCouldnTLoadSource":"Couldn't load source","line465JsxAttrTitleAccessRequired":"Access required","line466JsxTextNoPermissionToReadThisRepo":"No permission to read this repo.","line480JsxTextFailedToLoad":"Failed to load"},"appProjectsIdCustomizeConnectorsPage":{"line111JsxTextConnectorsTheAgentReachesThroughTheConnectorStored":"Connectors the agent reaches through the Connector. Stored in","line113JsxTextCredentialsAndWhoCanUseThemAreManaged":"; credentials and who-can-use-them are managed here. Calls run server-side — no secrets ever touch the sandbox.","line122JsxAttrTitleAdminAccessRequired":"Admin access required","line123JsxTextOnlyProjectManagersCanManageConnectors":"Only project managers can manage connectors.","line128JsxAttrTitleFailedToLoadConnectors":"Failed to load connectors","line171JsxAttrDescriptionStoredInKortixTomlAddAConnectorOr":"Stored in kortix.yaml. Add a connector or browse the app catalogue.","line181JsxTextAddConnector":"Add connector","line189JsxAttrTitleNoConnectorsYet":"No connectors yet","line190JsxAttrDescriptionAddAConnectorOrPickAnAppTo":"Add a connector or pick an app to connect.","line191JsxTextAddConnector":"Add connector","line281JsxTextNeedsAuth":"Needs auth","line289JsxTextRemoveThisConnectorFromKortixToml":"Remove this connector from kortix.yaml?","line313JsxTextSetCredential":"Set credential","line315JsxAttrAriaLabelViewTools":"View tools","line316JsxAttrAriaLabelManageSharing":"Manage sharing","line370JsxAttrDescOneConnectionForTheWholeProject":"One connection for the whole project","line371JsxAttrLabelEachMemberConnectsTheirOwn":"Each member connects their own","line371JsxAttrDescEveryMemberLinksTheirOwnAccountByo":"Every member links their own account (BYO)","line375JsxTextWhoCanUseIt":"Who can use it","line377JsxAttrDescEveryMemberOfThisProject":"Every member of this project","line378JsxAttrLabelOnlyMe":"Only me","line378JsxAttrDescJustYou":"Just you","line379JsxAttrLabelSelectMembers":"Select members","line379JsxAttrDescAChosenListOfMembers":"A chosen list of members","line422JsxTextAddAConnector":"Add a connector","line423JsxTextOneClickConnectAPopularAppOrAdd":"One-click connect a popular app, or add a custom source. Saved to kortix.yaml.","line428JsxTextEasyConnect":"Easy connect","line464JsxAttrPlaceholderSearchAppsGmailSlackStripeNotion":"Search apps — gmail, slack, stripe, notion…","line469JsxAttrTitleAppConnectIsnTConfigured":"App connect isn't configured","line470JsxTextEasyConnectAppsNeedTheConnectProviderConfigured":"Easy-connect apps need the connect provider configured on the API.","line477JsxAttrTitleNoAppsFound":"No apps found","line506JsxTextLoading":"Loading…","line551JsxTextChooseHowTheCredentialIsStoredAndWho":"Choose how the credential is stored and who can use it.","line605JsxAttrLabelSpecUrlOrRepoPath":"Spec (URL or repo path)","line610JsxAttrLabelSdlSpecOptional":"SDL spec (optional)","line627JsxAttrLabelBaseUrl":"Base URL","line628JsxAttrLabelRoutesSpecOptional":"Routes spec (optional)","line642JsxTextCustomHeader":"Custom header","line647JsxAttrLabelHeaderName":"Header name","line653JsxTextYouLlSetTheCredentialValueAfterAdding":"You'll set the credential value after adding (or each member connects their own, per the mode below).","line699JsxTextSetCredentialFor":"Set credential for","line701JsxTextStoredEncryptedAs":"Stored encrypted as","line701JsxTextAndResolvedServerSideNeverInjectedIntoThe":"and resolved server-side — never injected into the sandbox.","line733JsxTextToolsProvider":"tools · provider","line738JsxTextNoToolsYetSyncAfterTheCredentialIs":"No tools yet — Sync after the credential is set.","line764JsxTextInputSchema":"Input schema","line769JsxAttrTitleNoToolSelected":"No tool selected","line769JsxAttrDescriptionPickAToolOnTheLeft":"Pick a tool on the left.","line838JsxTextWhoCanUse":"Who can use","line839JsxTextControlsWhichMembersSessionsCanCallThisConnector":"Controls which members' sessions can call this connector.","line843JsxAttrTitleCredentialNotSet":"Credential not set","line843JsxTextSetTheCredentialOrConnectTheAccountBefore":"Set the credential (or connect the account) before sharing takes effect.","line846JsxAttrDescEveryMemberOfThisProject":"Every member of this project","line847JsxAttrLabelOnlyMe":"Only me","line847JsxAttrDescJustYou":"Just you","line848JsxAttrLabelSelectMembers":"Select members","line848JsxAttrDescAChosenListOfMembers":"A chosen list of members","line173JsxAttrDescriptionStoredInKortixTomlAddAConnectorOr":"Stored in kortix.yaml. Add a connector or browse the app catalogue.","line183JsxTextAddConnector":"Add connector","line191JsxAttrTitleNoConnectorsYet":"No connectors yet","line192JsxAttrDescriptionAddAConnectorOrPickAnAppTo":"Add a connector or pick an app to connect.","line193JsxTextAddConnector":"Add connector","line283JsxTextNeedsAuth":"Needs auth","line291JsxTextRemoveThisConnectorFromKortixToml":"Remove this connector from kortix.yaml?","line315JsxTextSetCredential":"Set credential","line317JsxAttrAriaLabelViewTools":"View tools","line318JsxAttrAriaLabelManageSharing":"Manage sharing","line372JsxAttrDescOneConnectionForTheWholeProject":"One connection for the whole project","line373JsxAttrLabelEachMemberConnectsTheirOwn":"Each member connects their own","line373JsxAttrDescEveryMemberLinksTheirOwnAccountBYO":"Every member links their own account (BYO)","line377JsxTextWhoCanUseIt":"Who can use it","line379JsxAttrDescEveryMemberOfThisProject":"Every member of this project","line380JsxAttrLabelOnlyMe":"Only me","line380JsxAttrDescJustYou":"Just you","line381JsxAttrLabelSelectMembers":"Select members","line381JsxAttrDescAChosenListOfMembers":"A chosen list of members","line424JsxTextAddAConnector":"Add a connector","line425JsxTextOneClickConnectAPopularAppOrAdd":"One-click connect a popular app, or add a custom source. Saved to kortix.yaml.","line430JsxTextEasyConnect":"Easy connect","line466JsxAttrPlaceholderSearchAppsGmailSlackStripeNotion":"Search apps — gmail, slack, stripe, notion…","line471JsxAttrTitleAppConnectIsnTConfigured":"App connect isn't configured","line472JsxTextEasyConnectAppsNeedTheConnectProviderConfigured":"Easy-connect apps need the connect provider configured on the API.","line479JsxAttrTitleNoAppsFound":"No apps found","line508JsxTextLoading":"Loading…","line553JsxTextChooseHowTheCredentialIsStoredAndWho":"Choose how the credential is stored and who can use it.","line607JsxAttrLabelSpecURLOrRepoPath":"Spec (URL or repo path)","line612JsxAttrLabelSDLSpecOptional":"SDL spec (optional)","line629JsxAttrLabelBaseURL":"Base URL","line630JsxAttrLabelRoutesSpecOptional":"Routes spec (optional)","line644JsxTextCustomHeader":"Custom header","line649JsxAttrLabelHeaderName":"Header name","line655JsxTextYouLlSetTheCredentialValueAfterAdding":"You'll set the credential value after adding (or each member connects their own, per the mode below).","line701JsxTextSetCredentialFor":"Set credential for","line703JsxTextStoredEncryptedAs":"Stored encrypted as","line703JsxTextAndResolvedServerSideNeverInjectedIntoThe":"and resolved server-side — never injected into the sandbox.","line735JsxTextToolsProvider":"tools · provider","line740JsxTextNoToolsYetSyncAfterTheCredentialIs":"No tools yet — Sync after the credential is set.","line766JsxTextInputSchema":"Input schema","line771JsxAttrTitleNoToolSelected":"No tool selected","line771JsxAttrDescriptionPickAToolOnTheLeft":"Pick a tool on the left.","line840JsxTextWhoCanUse":"Who can use","line841JsxTextControlsWhichMembersSessionsCanCallThisConnector":"Controls which members' sessions can call this connector.","line845JsxAttrTitleCredentialNotSet":"Credential not set","line845JsxTextSetTheCredentialOrConnectTheAccountBefore":"Set the credential (or connect the account) before sharing takes effect.","line848JsxAttrDescEveryMemberOfThisProject":"Every member of this project","line849JsxAttrLabelOnlyMe":"Only me","line849JsxAttrDescJustYou":"Just you","line850JsxAttrLabelSelectMembers":"Select members","line850JsxAttrDescAChosenListOfMembers":"A chosen list of members"},"appProjectsIdCustomizeMembersPage":{"line92JsxTextProjectMembers":"Project members","line94JsxTextControlWhoCanAccessThisProjectAccountOwners":"Manage who can access this project and their roles.","line140JsxAttrTitleInviteByEmail":"Invite by email","line141JsxAttrDescriptionAddAnExistingKortixUserToThisProject":"Add an existing Kortix user to this project.","line151JsxAttrPlaceholderTeammateExampleCom":"teammate@example.com","line260JsxAttrTitleProjectAccess":"Project access","line261JsxAttrDescriptionAccountOwnersAndAdminsAlwaysHaveManagerAccess":"Account owners and admins always have manager access.","line328JsxTextNoAccess":"No access"},"appProjectsIdCustomizeSecretsPage":{"line104JsxTextProjectSecrets":"Environment variables","line106JsxTextKeyValuePairsInjectedAsEnvironmentVariablesInto":"Environment variables injected into each new session.","line109JsxTextManifestValuesAreEncryptedAtRest":"manifest. Values are encrypted at rest.","line278JsxTextSessionsCanStillStartButTheAgentWill":"Sessions can still start, but the agent will likely fail until these are set.","line290JsxAttrDescriptionKeyValuePairsInjectedIntoEveryNewSession":"Environment variables injected into each new session.","line311JsxTextConnectProvider":"Connect provider","line373JsxTextRemoveThisSecret":"Remove this secret?","line395JsxTextNotSet":"Not set","line433JsxAttrAriaLabelRotateGitCredential":"Rotate git credential","line575JsxTextRuntimeEnvironmentVariableForNewSessionSandboxes":"Runtime environment variable for new session sandboxes.","line608JsxTextNewValue":"New value","line610JsxTextReplacesCurrentValue":"(replaces current value)","line675JsxTextManifestLoadedFrom":"Manifest loaded from","line686JsxAttrTitleManifestLoadedButNoEnvKeysDeclared":"Manifest loaded but no env keys declared","line688JsxTextAddA":"Add a","line688JsxTextSectionTo":"section to","line692JsxTextStringArrays":"string arrays.","line699JsxAttrTitleNoManifestFound":"No manifest found","line700JsxTextCommitA":"Commit a","line700JsxTextToThisProjectToDeclareRequiredOptionalEnv":"to this project to declare required/optional env keys.","line713JsxTextCouldnTRead":"Couldn't read","line720JsxTextCheckTheRepoIsReachableAndLinkedThrough":"Check the repo is reachable and linked through Project settings.","line729JsxAttrTitleManifestStatusUnavailable":"Manifest status unavailable","line731JsxTextTheApiIsnTReturningManifestInfoRestart":"The API isn't returning manifest info — restart the API server (","line732JsxTextToPickUpRequiredOptionalKeysFromYour":") to pick up required/optional keys from your","line762JsxAttrTitleOwnerOrAdminAccessRequired":"Owner or admin access required","line764JsxTextOnlyAccountOwnersAndAdminsCanViewOr":"Only account owners and admins can view or manage project secrets.","line773JsxAttrTitleFailedToLoadSecrets":"Failed to load secrets"},"appProjectsIdCustomizeSettingsPage":{"line86JsxAttrTitleFailedToLoadProject":"Failed to load project","line110JsxAttrTitleDangerZone":"Danger zone","line111JsxAttrDescriptionIrreversibleAndDestructiveActions":"Irreversible and destructive actions.","line116JsxTextArchiveProject":"Archive project","line119JsxTextHideThisProjectFromTheActiveProjectList":"Hide this project from the active project list.","line140JsxAttrTitleArchiveProject":"Archive project","line163JsxAttrDescriptionTheGitRepoBackingThisProjectEverySession":"The Git repo backing this project. Every session pushes a branch here.","line181JsxTextOpenOnGithub":"Open on GitHub","line259JsxTextProjectName":"Project name","line270JsxTextDefaultBranch":"Default branch","line280JsxTextManifestPath":"Manifest path"},"appProjectsIdCustomizeSkillsPage":{"line149JsxAttrPlaceholderSearchSkills":"Search skills","line168JsxAttrLabelNoSkillsYet":"No skills yet","line320JsxTextCouldnAposTLoadFiles":"Couldn't load files.","line540JsxTextOpenInFileViewer":"Open in file viewer","line590JsxAttrTitleSelectASkill":"Select a skill","line591JsxAttrDescriptionPickASkillMdFromTheListTo":"Pick a SKILL.md from the list to preview it.","line600JsxTextNoMatchesFor":"No matches for","line621JsxTextCommitA":"Commit a","line623JsxTextKortixOpencodeSkillsLtSlugGtSkillMd":".kortix/opencode/skills/<slug>/SKILL.md","line625JsxTextAndItAposLlShowUpHere":"and it'll show up here.","line636JsxTextOpencodeSkillsDocs":"OpenCode skills docs","line646JsxAttrTitleAccessRequired":"Access required","line647JsxTextNoPermissionToReadThisRepo":"No permission to read this repo.","line661JsxTextFailedToLoad":"Failed to load"},"appProjectsIdPage":{"line114JsxTextWhatShouldWeBuild":"What should we build?","line117JsxTextDescribeATaskToStartANewSession":"Describe a task to start a new session in this project."},"appProjectsIdSessionsSessionidPage":{"line151JsxAttrMessageTheSandboxForThisSessionWasStoppedOpen":"The sandbox for this session was stopped. Open a new session to continue.","line380JsxAttrTitleOpencodeRuntimeIsNotReady":"OpenCode runtime is not ready","line381JsxAttrMessageTheSandboxBootedButTheProjectRuntimeDid":"The sandbox booted, but the project runtime did not become usable.","line395JsxTextRestartSession":"Restart session","line424JsxTextRestartSession":"Restart session"},"appProjectsIdSessionsPage":{"line152JsxTextOpenChangeRequest":"Open change request","line276JsxTextNoAccessToThisProject":"No access to this project","line278JsxTextYourAccountDoesnAposTHavePermissionTo":"Your account doesn't have permission to view this project. Ask an administrator to grant you access or pick a different project.","line289JsxTextBackToProjects":"Back to projects","line311JsxTextNewSession":"New session","line336JsxAttrTitleFailedToLoadSessions":"Failed to load sessions","line354JsxAttrTitleNoSessionsYet":"No sessions yet","line355JsxAttrDescriptionStartOneToSpinUpAnIsolatedSandbox":"Start one to spin up an isolated sandbox + branch.","line367JsxTextNewSession":"New session","line391JsxTextNewSession":"New session"},"appProjectsPage":{"line103JsxAttrAriaLabelProjectActions":"Project actions","line109JsxTextOpenProject":"Open project","line216JsxTextYourWorkspacesOnePlacePickUpWhereYou":"Your projects, one place. Pick up where you left off.","line225JsxAttrPlaceholderSearchProjects":"Search projects...","line236JsxTextNewProject":"New project","line252JsxAttrTitleFailedToLoadProjects":"Failed to load projects","line265JsxAttrTitleCreateYourFirstProject":"Create your first project","line266JsxAttrDescriptionAProjectIsAWorkspaceForOneCompany":"A dedicated space for one company, product, or idea.","line275JsxTextNewProject":"New project","line288JsxAttrDescriptionTryADifferentSearchTerm":"Try a different search term."},"appShareShareidComponentsMobileappbanner":{"line94JsxTextOpenThisContentInApp":"Open this content in app"},"appShareShareidComponentsShareviewer":{"line147JsxTextLoadingSharedSession":"Loading shared session...","line252JsxTextCopyShareLink":"Copy share link"},"appShareShareidPage":{"line15JsxTextInvalidShareLink":"Invalid share link."},"appTemplatesShareidPage":{"line278JsxTextTemplateNotFound":"Template not found","line279JsxTextTheTemplateYouReLookingForDoesnT":"The template you're looking for doesn't exist or has been removed.","line281JsxTextBrowseAgents":"Browse Agents","line356JsxTextToggleTheme":"Toggle theme","line374JsxTextInstallAgent":"Install Agent","line392JsxTextBackToAgents":"Back to Agents","line428JsxTextOfficialTemplate":"Official Template","line439JsxTextCreatedBy":"Created by","line471JsxTextSystemPrompt":"System Prompt","line492JsxTextSystemPrompt":"System Prompt","line495JsxTextTheCoreInstructionsThatDefineThisAgentS":"The core instructions that define this agent's behavior","line543JsxTextExternalServicesAndApisThisAgentCanConnect":"External services and APIs this agent can connect to","line580JsxTextCustomTools":"Custom Tools","line583JsxTextSpecializedToolsBuiltForThisAgent":"Specialized tools built for this agent"},"appTunnelAuthorizeCodePage":{"line113JsxAttrTitleRequestNotFound":"Request Not Found","line114JsxAttrDescriptionThisAuthorizationRequestDoesnTExistOrHas":"This authorization request doesn't exist or has expired.","line125JsxAttrTitleRequestExpired":"Request Expired","line126JsxAttrDescriptionThisAuthorizationRequestHasExpiredRunTheConnect":"This authorization request has expired. Run the connect command again.","line167JsxTextAuthorizeDevice":"Authorize Device","line265JsxTextDenyRequest":"Deny request","line272JsxTextConfirmTheCodeAboveMatchesYourTerminal":"Confirm the code above matches your terminal."},"componentsAccountsCreateAccountModal":{"line64JsxTextCreateAnAccount":"Create an account","line67JsxTextGroupPeopleProjectsAndBillingUnderOneAccount":"Group people, projects, and billing under one account.","line72JsxTextAccountName":"Account name","line77JsxAttrPlaceholderAcmeAgi":"Acme AGI","line81JsxTextYouCanInviteMembersAndAddProjectsAfter":"You can invite members and add projects after creation.","line99JsxTextCreateAccount":"Create account"},"componentsAdminAdminDashboardSections":{"line122JsxTextAdminAccessRequired":"Admin access required","line190JsxTextAdminInstances":"Admin Instances","line191JsxTextAllInstancesAcrossEveryAccount":"All instances across every account ·","line194JsxTextAdminHome":"Admin Home","line195JsxTextBackToInstances":"Back to Instances","line203JsxAttrPlaceholderSearchByInstanceIdNameAccountEmail":"Search by instance ID, name, account, email...","line208JsxTextAllStatuses":"All statuses","line214JsxTextAllProviders":"All providers","line223JsxTextNoInstancesMatchYourFilters":"No instances match your filters","line227JsxTextAccountEmail":"Account / Email","line232JsxTextMdash":"—","line234JsxTextMdash":"—","line254JsxAttrTitleFirstPage":"First page","line257JsxAttrTitleLastPage":"Last page","line264JsxTextDeleteInstance":"Delete Instance","line264JsxTextPermanentlyDelete":"Permanently delete","line264JsxTextThisCannotBeUndone":". This cannot be undone.","line320JsxTextAdminAccounts":"Admin Accounts","line321JsxTextAccountsUsersBillingStateAndCreditBalances":"Accounts, users, billing state, and credit balances ·","line321JsxTextTotalAccounts":"total accounts ·","line321JsxTextCreditsTracked":"credits tracked","line323JsxTextAdminHome":"Admin Home","line323JsxTextBackToInstances":"Back to Instances","line327JsxAttrPlaceholderSearchAccountOwnerEmailAccountId":"Search account, owner email, account ID...","line338JsxTextNoAccountsFound":"No accounts found.","line348JsxTextTotalCredits":"Total credits","line357JsxTextLoadingUsers":"Loading users…","line361JsxTextBillingCredits":"Billing & credits","line365JsxTextPaymentStatus":"Payment status:","line367JsxTextBillingEmail":"Billing email:","line370JsxTextGrantCredits":"Grant credits","line371JsxAttrPlaceholderAmountEG25":"Amount (e.g. 25)","line372JsxAttrPlaceholderReasonNote":"Reason / note","line373JsxTextGrantAsExpiringCredits":"Grant as expiring credits","line374JsxTextAddCredits":"Add credits","line435JsxTextAccessRequests":"Access Requests","line436JsxTextReviewAndManageEarlyAccessRequests":"Review and manage early access requests","line438JsxTextAdminHome":"Admin Home","line438JsxTextBackToInstances":"Back to Instances","line459JsxTextNoRequestsFoundForThisFilter":"No requests found for this filter.","line477JsxTextNoActions":"No actions"},"componentsAdminAdminFeedbackTable":{"line108JsxTextNoFeedbackText":"No feedback text","line130JsxTextViewChat":"View Chat","line133JsxTextNoThread":"No thread","line166JsxTextFailedToLoadFeedback":"Failed to load feedback:","line177JsxTextFilterByRating":"Filter by Rating","line180JsxAttrPlaceholderAllRatings":"All ratings","line183JsxTextAllRatings":"All ratings","line184JsxTextText5Stars":"5 stars","line185JsxTextText4Stars":"4 stars","line186JsxTextText3Stars":"3 stars","line187JsxTextText2Stars":"2 stars","line188JsxTextText1Star":"1 star","line189JsxTextBelow1Star":"Below 1 star","line195JsxTextFilterByFeedbackText":"Filter by Feedback Text","line198JsxAttrPlaceholderAllFeedback":"All feedback","line201JsxTextAllFeedback":"All feedback","line202JsxTextWithText":"With text","line203JsxTextWithoutText":"Without text","line209JsxTextSortBy":"Sort By","line215JsxTextDateCreated":"Date Created","line217JsxTextLastUpdated":"Last Updated","line238JsxTextClearFilters":"Clear Filters","line258JsxAttrEmptymessageNoFeedbackFoundMatchingYourCriteria":"No feedback found matching your criteria"},"componentsAdminAdminUserDetailsDialog":{"line217JsxTextUserDetails":"User Details -","line220JsxTextManageUserAccountBillingAndPerformAdminActions":"Manage user account, billing, and perform admin actions","line237JsxTextAdminActions":"Admin Actions","line246JsxTextAccountInfo":"Account Info","line255JsxTextUserId":"User ID","line275JsxTextCreditSummary":"Credit Summary","line280JsxTextCurrentBalance":"Current Balance","line314JsxTextUserThreads":"User Threads","line336JsxTextDirectThread":"Direct Thread","line393JsxTextNoThreadsFound":"No threads found","line462JsxTextNoTransactionsFound":"No transactions found","line501JsxTextThread":"• Thread:","line543JsxTextNoActivityFound":"No activity found","line554JsxTextProcessRefund":"Process Refund","line559JsxTextRefundsAssignsCreditsBackToTheUserS":"Refunds assigns credits back to the user's account.","line562JsxTextRefundAmountUsd":"Refund Amount (USD)","line573JsxTextRefundReason":"Refund Reason","line576JsxAttrPlaceholderServiceOutageCompensation":"Service outage compensation"},"componentsAdminAdminUserTable":{"line145JsxTextFailedToLoadUsers":"Failed to load users:","line169JsxAttrPlaceholderSearchByEmail":"Search by email...","line178JsxAttrPlaceholderFilterByTier":"Filter by tier","line205JsxAttrEmptymessageNoUsersFoundMatchingYourCriteria":"No users found matching your criteria"},"componentsAdminFeedbackCriticalfeedbacklist":{"line42JsxTextCriticalFeedback":"Critical Feedback","line44JsxTextRecentLowRatingsThatNeedAttention":"Recent low ratings that need attention","line55JsxTextNoCriticalFeedbackFound":"No critical feedback found 🎉","line56JsxTextKeepUpTheGoodWork":"Keep up the good work!","line89JsxTextViewChat":"View Chat"},"componentsAdminFeedbackFeedbackstatscards":{"line39JsxTextAverageRating":"Average Rating","line54JsxTextTotalFeedback":"Total Feedback","line71JsxTextWithComments":"With Comments","line85JsxTextOfTotal":"% of total","line95JsxTextPositive45":"Positive (4-5★)","line117JsxTextNegative125":"Negative (1-2.5★)"},"componentsAdminFeedbackFeedbacktrendchart":{"line54JsxTextFeedbackVolume":"Feedback Volume","line55JsxTextStackedBySentimentOverTime":"Stacked by sentiment over time","line73JsxTextText7Days":"7 days","line74JsxTextText30Days":"30 days","line75JsxTextText90Days":"90 days","line76JsxTextText6Months":"6 months","line77JsxTextText1Year":"1 year","line87JsxTextNoDataAvailableForTheSelectedPeriod":"No data available for the selected period"},"componentsAdminFeedbackLlmanalysispanel":{"line71JsxTextAiAnalysis":"AI Analysis","line79JsxTextAllFeedback":"All Feedback","line80JsxTextNegativeOnly":"Negative Only","line81JsxTextPositiveOnly":"Positive Only","line82JsxTextCritical2":"Critical (≤2★)","line90JsxTextText7Days":"7 days","line91JsxTextText30Days":"30 days","line92JsxTextText90Days":"90 days","line115JsxTextGetAiPoweredInsightsAndActionableRecommendationsFrom":"Get AI-powered insights and actionable recommendations from user feedback","line135JsxTextExecutiveSummary":"Executive Summary","line142JsxTextReviewsAnalyzed":"reviews analyzed","line153JsxTextKeyThemes":"Key Themes","line175JsxTextWhatSWorking":"What's Working","line193JsxTextNeedsAttention":"Needs Attention","line214JsxTextImprovementDetails":"Improvement Details","line260JsxTextRecommendedActions":"Recommended Actions","line310JsxTextReadyToAnalyzeFeedback":"Ready to analyze feedback","line313JsxTextClickAnalyzeToGenerateAiPoweredInsightsUsing":"Click \"Analyze\" to generate AI-powered insights using GPT-5 Nano"},"componentsAdminFeedbackRatingdistributionchart":{"line49JsxTextRatingDistribution":"Rating Distribution","line50JsxTextBreakdownByStarRating":"Breakdown by star rating","line57JsxTextNoRatingDataAvailable":"No rating data available"},"componentsAdminFeedbackSentimentpiechart":{"line45JsxTextSentimentBreakdown":"Sentiment Breakdown","line46JsxTextOverallFeedbackSentiment":"Overall feedback sentiment","line53JsxTextNoSentimentDataAvailable":"No sentiment data available"},"componentsAdminSandboxWebTerminal":{"line95JsxTextWaitingForSandboxToBeReady":"Waiting for sandbox to be ready…","line137JsxAttrTitleOpenInNewTab":"Open in new tab","line151JsxTextConnecting":"Connecting…"},"componentsAnnouncementsMaintenanceBanner":{"line201JsxTextViewStatus":"View Status"},"componentsAnnouncementsMaintenanceCountdownBanner":{"line103JsxAttrTitleScheduledMaintenance":"Scheduled Maintenance"},"componentsAnnouncementsMobileAppInterstitial":{"line121JsxTextGetKortixForMobile":"Get Kortix for Mobile","line124JsxTextYourAiWorkerInYourPocket":"Your AI Worker, in your pocket","line135JsxTextAppStore":"App Store","line147JsxTextGooglePlay":"Google Play"},"componentsAnnouncementsTechnicalIssueBanner":{"line23JsxAttrTitleTechnicalIssue":"Technical Issue","line29JsxAttrStatuslabelViewStatus":"View Status"},"componentsAuthAuthCardShell":{"line67JsxTextBackToSignIn":"Back to sign in"},"componentsBillingAutoTopupCard":{"line149JsxTextCouldnTLoadYourCurrentSettingsShowingDefaults":"Couldn't load your current settings. Showing defaults.","line165JsxTextAutoTopUp":"Auto Top-up","line166JsxTextRechargeCreditsAutomatically":"Recharge credits automatically","line182JsxTextNoDefaultPaymentMethodFoundAddADefault":"No default payment method found. Add a default card in Billing before enabling auto top-up.","line204JsxTextWhenBelow":"when below","line223JsxTextYourCardIsOnlyChargedWhenYourBalance":"Your card is only charged when your balance drops. Disable anytime in Settings.","line231JsxTextYourAgentWillPauseWhenCreditsRunOut":"Your agent will pause when credits run out. You can enable this anytime."},"componentsBillingBillingHistory":{"line153JsxTextNoBillingEvents":"No billing events"},"componentsBillingCreditTransactions":{"line114JsxTextCreditTransactions":"Credit Transactions","line115JsxTextLoadingYourTransactionHistory":"Loading your transaction history...","line133JsxTextCreditTransactions":"Credit Transactions","line159JsxAttrPlaceholderAllTypes":"All types","line162JsxTextAllTypes":"All types","line163JsxTextTierGrant":"Tier Grant","line165JsxTextAutoTopUp":"Auto Top-up","line166JsxTextMachineBonus":"Machine Bonus","line167JsxTextDailyRefresh":"Daily Refresh","line168JsxTextAdminGrant":"Admin Grant","line198JsxTextCreditType":"Credit Type","line200JsxTextCreditsAfter":"Credits After"},"componentsBillingCreditsExplainedModal":{"line26JsxTextWhatAreCredits":"What are Credits?","line34JsxTextUnderstandingCredits":"Understanding Credits","line37JsxTextCreditsAreTheUniversalCurrencyThatPowersEverything":"Credits are the universal currency that powers everything you do on Kortix. They're consumed when your AI agents work on tasks, and the cost varies based on the complexity and resources required.","line47JsxTextHowCreditsWork":"How Credits Work","line51JsxTextCreditsAreConsumedBasedOnTheResourcesYour":"Credits are consumed based on the resources your AI agents use during task execution:","line60JsxTextAiActivity":"AI activity:","line60JsxTextProcessingRequestsGeneratingResponsesAndRunningAiModels":"Processing requests, generating responses, and running AI models.","line66JsxTextKortixComputer":"Kortix computer:","line66JsxTextCodeExecutionBrowserAutomationAndInteractiveTaskProcessing":"Code execution, browser automation, and interactive task processing.","line72JsxTextWebPeopleSearch":"Web & people search:","line72JsxTextFindingInformationDataAndResourcesOnline":"Finding information, data, and resources online.","line78JsxTextThirdPartyServices":"Third-party services:","line78JsxTextExternalApisAndIntegratedServices":"External APIs and integrated services.","line94JsxTextPlatformRatesVaryByServiceType":"Platform rates vary by service type:","line103JsxTextAiModels":"AI models:","line103JsxTextText20MarkupOnLlmCosts":"20% markup on LLM costs.","line109JsxTextText50MarkupOnWebSearchScrapingAndThird":"50% markup on web search, scraping, and third-party tools.","line115JsxTextImageSearch":"Image search:","line115JsxTextText100Markup":"100% markup.","line121JsxTextOwnApiKey":"Own API key:","line121JsxTextText10PlatformFeeInstead":"10% platform fee instead.","line133JsxTextTypesOfCredits":"Types of Credits","line137JsxTextCreditsAreDeductedInPriorityOrderDailyCredits":"Credits are deducted in priority order: daily credits first, then monthly, then extra credits.","line150JsxTextRefreshEvery24HoursUseItOrLose":"Refresh every 24 hours. Use it or lose it.","line163JsxTextIncludedWithYourPlanRefreshEachBillingCycle":"Included with your plan. Refresh each billing cycle.","line176JsxTextPurchasedOrPromoCreditsThatNeverExpire":"Purchased or promo credits that never expire.","line185JsxTextCreditPriority":"Credit priority:","line185JsxTextWeUseExpiringCreditsFirstDailyMonthlyBefore":"We use expiring credits first (daily → monthly) before extra credits, so you get the most value from all your credits.","line191JsxTextIfATaskFailsDueToASystem":"If a task fails due to a system error, we automatically refund all credits used for that task."},"componentsBillingPricingNewInstanceModal":{"line143JsxTextOneMachineAllYourToolsAgentsThatRun":"One machine. All your tools. Agents that run themselves.","line149JsxTextChooseYourMachine":"Choose your machine","line185JsxTextVcpu":"vCPU ·","line207JsxTextEveryPlanIncludes":"Every plan includes","line241JsxTextCancelAnytime":"Cancel anytime","line244JsxTextGetYourKortix":"Get Your Kortix"},"componentsChangelogVersionHistoryPanel":{"line141JsxTextMajorRelease":"Major Release","line272JsxTextMiddotLatest":"· Latest:","line282JsxTextUpdateTo":"Update to","line301JsxTextCouldNotLoadVersionHistoryThePlatformApi":"Could not load version history. The platform API may be unavailable.","line329JsxTextVersionsFound":"versions found."},"componentsChannelsChannelsDialog":{"line46JsxTextConnectSlackSoTheAgentCanPostInto":"Connect Slack so the agent can post into a workspace channel — per project.","line52JsxTextOpenAProjectToManageItsSlackConnection":"Open a project to manage its Slack connection. Each project has its own Slack install stored in that project's secrets.","line57JsxTextLoading":"Loading…","line88JsxTextAddKortixToYourSlackWorkspace":"Add Kortix to your Slack workspace","line90JsxTextOneClickApproveScopesInSlackAndWe":"One click — approve scopes in Slack and we'll wire this project to the workspace you choose.","line96JsxTextAddToSlack":"Add to Slack","line110JsxTextHideAdvanced":"← Hide advanced","line120JsxTextAdvancedBringYourOwnSlackApp":"Advanced — bring your own Slack app","line144JsxTextBotUser":"Bot user","line144JsxTextTeam":"· team","line149JsxTextNextEnableForThisProject":"Next: enable for this project","line151JsxTextInviteTheBotToAChannelAnd":"Invite the bot to a channel and","line151JsxTextMention":"@mention","line151JsxTextItASessionSpawnsInThisProjectS":"it. A session spawns in this project's sandbox; the agent posts replies back to the thread using the in-sandbox","line161JsxTextRemovesTheSecretsAndStopsEventsForThis":"Removes the secrets and stops events for this project.","line226JsxTextStep1Of2PasteTheManifestInto":"Step 1 of 2 — paste the manifest into Slack to create the app with all URLs, scopes and events pre-baked.","line233JsxTextAppManifest":"App manifest","line252JsxTextOpenSlack":"Open Slack","line283JsxTextNextPasteTokens":"Next — paste tokens","line292JsxTextStep2Of2PasteTheTwoValues":"Step 2 of 2 — paste the two values. Stored encrypted in this project's secrets manager (","line293JsxTextAlongsideAnyOtherSecretsTheProjectUses":") alongside any other secrets the project uses.","line299JsxTextBotUserOauthToken":"Bot User OAuth Token","line302JsxAttrPlaceholderXoxb":"xoxb-…","line309JsxTextSlackYourAppOauthPermissionsBotUserOauth":"Slack → your app → OAuth & Permissions → Bot User OAuth Token.","line313JsxTextSigningSecret":"Signing Secret","line324JsxTextSlackYourAppBasicInformationAppCredentialsSigning":"Slack → your app → Basic Information → App Credentials → Signing Secret.","line344JsxTextConnectSlack":"Connect Slack"},"componentsCommandPalette":{"line185JsxTextSearchFilesInThisProjectAposSRepo":"Search files in this project's repo","line187JsxTextPrefixWith":"Prefix with","line188JsxTextGt":">","line188JsxTextToSearchFileContents":"to search file contents","line215JsxTextForLdquo":"for “","line215JsxTextRdquo":"”","line330JsxTextLoadingMessages":"Loading messages...","line1207JsxTextChangeAgent":"Change Agent","line1218JsxTextChangeModel":"Change Model","line1233JsxTextJumpToMessage":"Jump to Message","line1246JsxTextSearchFiles":"Search Files","line1257JsxAttrHeadingRecentSessions":"Recent Sessions","line1403JsxAttrHeadingOpenUrl":"Open URL","line1421JsxAttrHeadingFileSearch":"File Search","line1428JsxTextSearchFilesForLdquo":"Search files for “","line1428JsxTextRdquo":"”","line1446JsxTextNoResultsForLdquo":"No results for “","line1446JsxTextRdquo":"”","line1449JsxTextTryLdquoSearchFilesRdquoOrADifferent":"Try “Search files” or a different term","line1728JsxTextGt":">","line1729JsxTextContentSearch":"content search","line183JsxTextSearchFilesInThisProjectSRepo":"Search files in this project's repo","line185JsxTextPrefixWith":"Prefix with","line186JsxTextText":">","line186JsxTextToSearchFileContents":"to search file contents","line213JsxTextFor":"for “","line213JsxTextText":"”","line328JsxTextLoadingMessages":"Loading messages...","line1209JsxTextChangeAgent":"Change Agent","line1220JsxTextChangeModel":"Change Model","line1235JsxTextJumpToMessage":"Jump to Message","line1248JsxTextSearchFiles":"Search Files","line1260JsxAttrHeadingRecentSessions":"Recent Sessions","line1281JsxAttrHeadingRecentProjects":"Recent workspaces","line1419JsxAttrHeadingOpenURL":"Open URL","line1437JsxAttrHeadingFileSearch":"File Search","line1444JsxTextSearchFilesFor":"Search files for “","line1444JsxTextText":"”","line1462JsxTextNoResultsFor":"No results for “","line1462JsxTextText":"”","line1465JsxTextTrySearchFilesOrADifferentTerm":"Try “Search files” or a different term","line1744JsxTextText":">","line1745JsxTextContentSearch":"content search"},"componentsCommonErrorBoundary":{"reload":"Reload","errorDetails":"Error details","copyDetails":"Copy error details"},"componentsCommonFilePreviewDialog":{"line89JsxTextFilePreview":"File Preview:","line122JsxAttrTitleOpenInNewTab":"Open in new tab","line133JsxTextTimes":"×","line153JsxTextFileDoesNotExist":"File does not exist","line159JsxTextThisPathMayBeRelativeOrFromA":"This path may be relative or from a different session. Files must use absolute paths to be accessible.","line165JsxTextCannotPreview":"Cannot preview","line175JsxTextOpenInTabInstead":"Open in tab instead"},"componentsDashboardConnectingScreen":{"line156JsxAttrTitleRuntimeDegraded":"Runtime degraded","line422JsxTextCouldnAposTStart":"Couldn't start","line469JsxTextIsStopped":"is stopped","line472JsxTextOpenANewSessionOrReturnToProjects":"Open a new session or return to projects to continue.","line564JsxTextRecovering":"recovering ·"},"componentsDashboardDashboardContent":{"line177JsxAttrAriaLabelOpenMenu":"Open menu","line199JsxAttrAriaLabelOpenMenu":"Open menu","line228JsxAttrPlaceholderAskAnything":"Ask anything..."},"componentsDashboardLayoutContent":{"line421JsxTextSkipOnboarding":"Skip onboarding","line427JsxTextSkipOnboarding":"Skip onboarding?","line429JsxTextYouCanSetUpYourProfileAnytimeYour":"You can set up your profile anytime. Your agent will work fine — it just won't know your preferences yet.","line438JsxTextSkipOnboarding":"Skip onboarding","line1114JsxTextSettingUpYourWorkspace":"Setting up your workspace…"},"componentsDashboardNoInstanceState":{"line128JsxAttrTitleKortixIsNowEvenBetter":"Kortix is now even better","line131JsxTextYourPlanNowIncludesADedicatedCloudComputer":"Your plan now includes a dedicated cloud computer","line138JsxTextInCredits":"in credits","line141JsxTextAlwaysOnRunsWhileYouSleepFullRoot":". Always on, runs while you sleep, full root access.","line144JsxAttrCtalabelClaimComputer":"Claim Computer","line145JsxAttrCtaloadinglabelSettingUp":"Setting up…","line152JsxAttrTitleGetYourCloudComputer":"Get your cloud computer","line153JsxAttrDescriptionADedicatedCloudComputerThatSAlwaysOn":"A dedicated cloud computer that's always on, runs while you sleep, with full root access and persistent storage.","line155JsxAttrCtaloadinglabelSettingUp":"Setting up…"},"componentsDashboardSleepOverlay":{"line195JsxTextClickAnywhereOrPressEnterToContinue":"Click anywhere or press Enter to continue"},"componentsDesktopDesktopChrome":{"line74JsxAttrAriaLabelWindowControls":"Window controls"},"componentsFileEditorsCodeEditor":{"line677JsxTextSaveChanges":"Save changes","line677JsxTextS":"⌘S","line719JsxTextDiscardChanges":"Discard changes"},"componentsFileEditorsIndex":{"line24JsxTextLoadingSpreadsheet":"Loading spreadsheet..."},"componentsFileEditorsMarkdownToolbar":{"line490JsxTextSaveChanges":"Save changes","line490JsxTextS":"⌘S","line520JsxTextDiscardChanges":"Discard changes","line552JsxAttrShortcutZ":"⌘Z","line559JsxAttrShortcutZ":"⌘⇧Z","line584JsxTextHeading1":"Heading 1","line588JsxTextHeading2":"Heading 2","line592JsxTextHeading3":"Heading 3","line607JsxAttrShortcutB":"⌘B","line614JsxAttrShortcutI":"⌘I","line621JsxAttrShortcutU":"⌘U","line635JsxAttrTooltipInlineCode":"Inline Code","line650JsxAttrTooltipBulletList":"Bullet List","line656JsxAttrTooltipNumberedList":"Numbered List","line662JsxAttrTooltipTaskList":"Task List","line683JsxAttrTooltipCodeBlock":"Code Block","line704JsxAttrShortcutK":"⌘K","line728JsxTextAddRowAbove":"Add row above","line732JsxTextAddRowBelow":"Add row below","line737JsxTextDeleteRow":"Delete row","line751JsxTextAddColumnLeft":"Add column left","line755JsxTextAddColumnRight":"Add column right","line760JsxTextDeleteColumn":"Delete column","line775JsxTextDeleteTable":"Delete table","line829JsxTextInsertImage":"Insert Image","line855JsxAttrAcceptImage":"image/*","line867JsxTextClickToChangeImage":"Click to change image","line869JsxTextWillBeUploadedToWorkspace":"Will be uploaded to workspace","line875JsxTextClickToUploadAnImage":"Click to upload an image","line876JsxTextPngJpgGifUpTo50mb":"PNG, JPG, GIF up to 50MB","line878JsxTextImageWillBeUploadedToWorkspace":"Image will be uploaded to workspace","line886JsxTextImageUrl":"Image URL"},"componentsFileRenderersBinaryRenderer":{"line68JsxTextThisBinaryFileCannotBePreviewedInThe":"This binary file cannot be previewed in the browser"},"componentsFileRenderersCanvasRenderer":{"line1486JsxTextClickOnTextToEdit":"Click on text to edit","line1553JsxTextSelectArea":"Select area","line1615JsxTextUpscaleImageWithAi":"Upscale image with AI","line1638JsxTextRemoveBg":"Remove bg","line1641JsxTextRemoveBackgroundWithAi":"Remove background with AI","line1655JsxTextEditText":"Edit text","line1658JsxTextSelectAndEditTextInImage":"Select and edit text in image","line1675JsxTextCreateCroppedCopy":"Create cropped copy","line1701JsxTextAiPoweredImageEditing":"AI-powered image editing","line1705JsxTextAiImageEdit":"AI Image Edit","line1707JsxAttrPlaceholderDescribeTheEditYouWantToMake":"Describe the edit you want to make...","line1868JsxTextRenameFrame":"Rename frame","line1872JsxTextFrameName":"Frame Name","line1916JsxTextSetDimensions":"Set dimensions","line1921JsxTextFrameSize":"Frame Size","line2034JsxTextBackgroundColor":"Background color","line2093JsxTextExportFrameAsPng":"Export frame as PNG","line2263JsxTextImagesSelected":"images selected","line2287JsxTextMergeSelectedImagesWithAi":"Merge selected images with AI","line2306JsxTextDeleteSelected":"Delete selected","line2315JsxTextMergeImages":"Merge images","line2320JsxTextImageOrderClickArrowsToSwap":"Image order (click arrows to swap)","line2350JsxAttrTitleSwapWithNext":"Swap with next","line2362JsxTextHowShouldTheseImagesBeMerged":"How should these images be merged?","line2366JsxAttrPlaceholderEGBlendSeamlesslyCreateACollageOverlay":"e.g. \"Blend seamlessly\", \"Create a collage\", \"Overlay second on first\"","line3326JsxTextLoadingCanvas":"Loading canvas...","line3336JsxAttrAcceptImage":"image/*","line3347JsxTextSelectV":"Select (V)","line3352JsxTextPanH":"Pan (H)","line3356JsxTextZoomOut":"Zoom Out","line3358JsxTextZoomIn":"Zoom In","line3361JsxTextResetView":"Reset View","line3363JsxTextAddImage":"Add Image","line3374JsxTextAddFrame":"Add Frame","line3415JsxTextGenerateWithAi":"Generate with AI","line3419JsxTextQuickImageGeneration":"Quick Image Generation","line3421JsxAttrPlaceholderDescribeTheImageYouWantToCreate":"Describe the image you want to create...","line3496JsxTextCanvasIsEmpty":"Canvas is empty","line3497JsxTextAddImagesToGetStarted":"Add images to get started"},"componentsFileRenderersCsvRenderer":{"line32JsxTextLoadingGrid":"Loading grid…","line98JsxTextNoData":"No data","line105JsxTextNoData":"No Data","line106JsxTextThisCsvFileAppearsToBeEmptyOr":"This CSV file appears to be empty or invalid.","line139JsxTextRows":"rows ·","line157JsxTextShowHideColumns":"Show/Hide Columns","line178JsxAttrPlaceholderSearchAllColumns":"Search all columns…"},"componentsFileRenderersHtmlRenderer":{"line143JsxAttrTitleHtmlPreview":"HTML Preview","line149JsxTextUnableToLoadHtmlPreview":"Unable to load HTML preview"},"componentsFileRenderersImageRenderer":{"line234JsxAttrTitleZoomOut":"Zoom out","line247JsxAttrTitleZoomIn":"Zoom in","line287JsxAttrTitleImageInformation":"Image information","line330JsxTextFailedToLoadImage":"Failed to load image","line333JsxTextTheImageCouldNotBeDisplayed":"The image could not be displayed"},"componentsFileRenderersPdfRenderer":{"line219JsxTextNoPdfSourceProvided":"No PDF source provided","line242JsxTextFailedToLoadPdf":"Failed to load PDF","line277JsxTextFailedToLoadPdf":"Failed to load PDF","line278JsxTextTheFileMayBeCorruptedOrInaccessible":"The file may be corrupted or inaccessible","line290JsxTextLoadingPdf":"Loading PDF...","line323JsxAttrTitleZoomOutCmd":"Zoom out (Cmd+-)","line338JsxAttrTitleResetZoomCmd0":"Reset zoom (Cmd+0)","line349JsxAttrTitleZoomInCmd":"Zoom in (Cmd++)","line364JsxAttrTitlePreviousPage":"Previous page (←)","line385JsxAttrTitleNextPage":"Next page (→)"},"componentsFileRenderersPptxRenderer":{"line203JsxTextPowerpointPreviewRequiresACloudSandbox":"PowerPoint preview requires a cloud sandbox","line212JsxTextDownloadToView":"Download to view"},"componentsFileRenderersSqliteRenderer":{"line97JsxTextLoadingGrid":"Loading grid…","line733JsxTextLoadingDatabase":"Loading database…","line748JsxTextFailedToLoadDatabase":"Failed to load database","line772JsxTextEmptyDatabase":"Empty Database","line773JsxTextNoTablesOrViewsFoundInThisDatabase":"No tables or views found in this database.","line795JsxAttrTitleUnsavedChanges":"Unsaved changes","line806JsxAttrTitleDiscardChanges":"Discard changes","line816JsxAttrTitleSaveToFileS":"Save to file (⌘S)","line860JsxAttrPlaceholderFilterTables":"Filter tables…","line941JsxAttrTitleInsertRow":"Insert row","line948JsxAttrTitleDeleteSelectedRows":"Delete selected rows","line961JsxAttrPlaceholderFilter":"Filter…","line979JsxAttrTitleExportAsCsv":"Export as CSV","line1035JsxAttrOverlaynorowstemplateSpanClassTextMutedForegroundTextSmNo":"<span class=\"text-muted-foreground text-sm\">No matching rows</span>","line1040JsxTextNoDataInThisTable":"No data in this table","line1054JsxTextCreateStatement":"CREATE Statement","line1077JsxTextColumns":"Columns (","line1087JsxTextNotNull":"NOT NULL","line1146JsxTextPrimaryKeys":"Primary keys","line1152JsxTextNotNull":"NOT NULL","line1169JsxTextEnter":"+Enter","line1237JsxTextWriteAQueryAndPressRun":"Write a query and press Run","line1246JsxTextQueryReturnedNoRows":"Query returned no rows ("},"componentsFileRenderersVideoRenderer":{"line201JsxTextFailedToLoadVideo":"Failed to load video","line267JsxTextFailedToLoadVideo":"Failed to load video","line268JsxTextTheVideoCouldNotBePlayed":"The video could not be played"},"componentsFileRenderersXlsxRenderer":{"line722JsxTextFailedToLoadSpreadsheet":"Failed to load spreadsheet","line751JsxTextLoadingSpreadsheet":"Loading spreadsheet…"},"componentsGamesDinoGame":{"line747JsxTextSpaceJumpDuck":"Space / ↑ jump · ↓ duck"},"componentsHomeCodeWindow":{"line34JsxTextQuotAcmeAgiQuot":"\"acme-agi\"","line35JsxTextNbsp":" ","line37JsxTextQuotBriefingQuot":"\"briefing\"","line38JsxTextQuot08Quot":"\"0 8 * * *\"","line39JsxTextNbsp":" ","line41JsxTextQuotSlackQuot":"\"slack\"","line41JsxTextQuotSupportQuot":"\"support\"","line42JsxTextNbsp":" ","line44JsxTextQuotGmailQuot":"\"gmail\"","line44JsxTextQuotStripeQuot":"\"stripe\"","line44JsxTextQuotSlackQuot":"\"slack\"","line52JsxTextOpencodeAgentsSupportMd":"# .opencode/agents/support.md","line59JsxTextNbsp":" ","line60JsxTextYouAreTheSupportAgentForAcmeResolve":"You are the support agent for Acme. Resolve","line61JsxTextTicketsWithFullProductContextAndEscalate":"tickets with full product context, and escalate","line62JsxTextAnythingOver500ForHumanApproval":"anything over $500 for human approval.","line70JsxTextKortixDeploy":"$ kortix deploy","line71JsxTextPushedToMain":"Pushed to main","line72JsxTextSandboxSnapshotBooted":"Sandbox snapshot booted","line73JsxTextTriggersScheduledChannelsLive":"Triggers scheduled · channels live","line74JsxTextNbsp":" ","line75JsxTextAcmeAgiIsRunning247":"acme-agi is running 24/7"},"componentsHomeDashboardPromoBanner":{"line77JsxTextMiddot":"·","line78JsxTextText30Off2xCredits":"30% off + 2X credits","line82JsxTextMiddot":"·"},"componentsHomeInteractiveDemo":{"line156JsxAttrTitleGoodMorningSarah":"Good morning, Sarah","line156JsxAttrSubThursdayMay22AcmeAgi":"Thursday, May 22 · Acme AGI","line160JsxTextAskKortixToDoAnythingAcrossYourCompany":"Ask Kortix to do anything across your company…","line165JsxTextOpus47":"Opus 4.7","line186JsxAttrTitleActiveAgents":"Active agents","line195JsxAttrTitleRecentSessions":"Recent sessions","line219JsxTextSessionsQ3BoardDeck":"Sessions / Q3 board deck","line225JsxTextBuildTheQ3BoardDeckFromOurLatest":"Build the Q3 board deck from our latest metrics and email it to the board.","line245JsxTextRevenueBurnPipeline":"revenue, burn, pipeline","line246JsxTextMetricsQ3":"metrics.q3 →","line246JsxTextText312Rows":"312 rows","line260JsxTextFormattingAmpFinalReview":"Formatting & final review…","line269JsxTextText12SlidesReadyIn4Min":"12 slides · ready in 4 min","line279JsxTextReplyToFinanceAgent":"Reply to finance-agent…","line296JsxAttrSubText5Deployed4RunningNow":"5 deployed · 4 running now","line296JsxTextNewAgent":"New agent","line326JsxAttrSubText4LibrariesSharedAcrossEveryAgent":"4 libraries · shared across every agent","line326JsxTextNewSkill":"New skill","line365JsxAttrSubText3000Available6Connected":"3,000+ available · 6 connected","line366JsxTextSearch":"Search…","line395JsxAttrSubText3ActiveRunsInYourTimezone":"3 active · runs in your timezone","line395JsxTextNewSchedule":"New schedule","line420JsxAttrSubText4ConnectedRoutingInboundToAgents":"4 connected · routing inbound to agents","line420JsxTextAddChannel":"Add channel","line449JsxAttrTitleMembersRoles":"Members & roles","line460JsxAttrTitleSecretsVault":"Secrets vault","line460JsxAttrCountEncrypted":"· encrypted","line471JsxTextInjectedAtRuntime":"injected at runtime","line528JsxAttrLabelAcmeAgi":"Acme AGI","line529JsxTextAcmeAgi":"Acme AGI","line536JsxTextK":"⌘K","line539JsxAttrEmailSarahAcmeAi":"sarah@acme.ai","line539JsxTextSarahAcmeAi":"SC","line547JsxAttrLabelAcmeAgi":"Acme AGI","line549JsxTextAcmeAgi":"Acme AGI","line550JsxTextEnterprise24Seats":"Enterprise · 24 seats","line556JsxTextNewSession":"New session","line560JsxTextK":"⌘K","line583JsxAttrEmailSarahAcmeAi":"sarah@acme.ai","line585JsxTextSarahChen":"Sarah Chen"},"componentsHomeNavbar":{"line221JsxTextDownloadSymbol":"Download symbol","line239JsxTextDownloadWordmark":"Download logo","line259JsxTextDesignSystem":"Design system","line301JsxTextRequestDemo":"Request demo","line312JsxTextGetStarted":"Get started","line322JsxAttrAriaLabelOpenMenu":"Open menu","line348JsxAttrAriaLabelCloseMenu":"Close menu","copySymbolSvg":"Copy symbol as SVG","copyWordmarkSvg":"Copy wordmark as SVG","downloadBrandAssets":"Download brand assets","svgCopied":"SVG copied to clipboard","copyFailed":"Copy failed","home":"Home","logIn":"Log in","back":"Back"},"componentsHomeSimpleFooter":{"line50JsxAttrAriaLabelToggleTheme":"Toggle theme"},"componentsHomeThemeToggle":{"line93JsxTextToggleTheme":"Toggle theme"},"componentsIamAuditTab":{"line90JsxAttrTitleAuditLog":"Audit log","line91JsxAttrDescriptionEveryStateChangingApiHitPlusBeforeAfter":"Every state-changing API hit, plus before/after snapshots for IAM mutations. Read-only.","line140JsxTextNoEventsMatchThisFilter":"No events match this filter","line142JsxTextTryABroaderFilterOrCheckBackAfter":"Try a broader filter or check back after some activity.","line169JsxTextLoadMore":"Load more","line251JsxTextNone":"— (none)","line192JsxTextDownloadCSV":"Download CSV","line195JsxTextDownloadJSONL":"Download JSONL"},"componentsIamCreateRoleDialog":{"line211JsxTextCreateARole":"Create a role","line214JsxTextBundleASetOfActionsAMemberOr":"Bundle a set of actions a member or group can perform. The role becomes attachable in any policy on this account.","line223JsxTextWhatKindOfResourceDoesThisRoleApply":"What kind of resource does this role apply to?","line230JsxAttrPlaceholderPickAResourceType":"Pick a resource type...","line243JsxTextPoliciesAttachThisRoleAtTheMatchingScope":"Policies attach this role at the matching scope. A Project role can only be granted on a project scope; an Account role grants account-wide privileges.","line258JsxAttrPlaceholderProjectReleaser":"Project Releaser","line285JsxTextImmutableIdentifierAutoDerivedFromNameUntilYou":"Immutable identifier. Auto-derived from name until you edit it.","line305JsxAttrPlaceholderCanDeployAProjectButNotModifyIts":"Can deploy a project but not modify its settings.","line329JsxTextSelectAll":"Select all","line349JsxAttrPlaceholderSearchActions":"Search actions...","line358JsxTextLoadingActionCatalog":"Loading action catalog...","line364JsxTextNoActionsRegisteredForThisResourceTypeYet":"No actions registered for this resource type yet.","line372JsxTextNoActionsMatchLdquo":"No actions match “","line372JsxTextRdquo":"”.","line423JsxTextCreateRole":"Create role"},"componentsIamGroupsTab":{"line87JsxAttrDescriptionBundleMembersTogetherAndGrantPermissionPoliciesTo":"Bundle members together and grant permission policies to the whole group.","line92JsxTextCreateAGroup":"Create a group","line104JsxAttrPlaceholderSearchByUserGroupName":"Search by user group name...","line114JsxAttrTitleFailedToLoadGroups":"Failed to load groups","line163JsxTextPermissionPolicies":"Permission policies","line219JsxTextDeleteGroup":"Delete group","line243JsxAttrTitleDeleteGroup":"Delete group","line249JsxAttrConfirmlabelDeleteGroup":"Delete group","line308JsxTextCreateAGroup":"Create a group","line311JsxTextGroupsBundleMembersTogetherAttachPermissionPoliciesTo":"Groups bundle members together. Attach permission policies to the group so every member inherits them.","line318JsxTextGroupName":"Group name","line339JsxAttrPlaceholderEngineersShippingThePlatform":"Engineers shipping the platform","line360JsxTextCreateGroup":"Create group"},"componentsIamPoliciesTable":{"line163JsxAttrTitlePermissionPolicies":"Permission policies","line169JsxTextGrantAccess":"Grant access","line197JsxAttrTitleNoAccessGrantedYet":"No access granted yet","line212JsxTextAppliesTo":"Applies to","line249JsxTextUnknownRole":"unknown role","line260JsxAttrAriaLabelPolicyActions":"Policy actions","line271JsxTextEditPolicy":"Edit policy","line278JsxTextRemovePolicy":"Remove policy","line319JsxAttrTitleRemovePolicy":"Remove policy","line320JsxAttrDescriptionThisMemberOrGroupWillLoseThePermissions":"This member or group will lose the permissions granted by this policy.","line321JsxAttrConfirmlabelRemovePolicy":"Remove policy","line579JsxAttrPlaceholderPickAScope":"Pick a scope...","line618JsxTextAppliesTo":"Applies to","line621JsxTextAllResourcesInThisAccount":"All resources in this account","line631JsxAttrPlaceholderPickAProject":"Pick a project...","line636JsxTextNoProjectsInThisAccount":"No projects in this account","line655JsxAttrPlaceholderPickAMember":"Pick a member...","line660JsxTextNoMembersInThisAccount":"No members in this account","line679JsxAttrPlaceholderPickAGroup":"Pick a group...","line684JsxTextNoGroupsInThisAccount":"No groups in this account","line705JsxTextEachSelectedRoleBecomesItsOwnPolicy":"Each selected role becomes its own policy.","line710JsxTextNoRolesAvailableForThisScope":"No roles available for this scope.","line720JsxAttrPlaceholderSearchRoles":"Search roles...","line733JsxTextNoRolesMatchLdquo":"No roles match “","line733JsxTextRdquo":"”.","line799JsxTextMakeThisA":"Make this a","line802JsxTextRevokesTheRoleAposSActionsOnThis":"Revokes the role's actions on this scope. Wins over any allow.","line812JsxTextWillBe":"will be","line231JsxAttrTitlePermissionPolicies":"Permission policies","line242JsxAttrTitleDownloadPoliciesAsJSONPortableAcrossAccounts":"Download policies as JSON (portable across accounts)","line253JsxAttrTitleBulkImportPoliciesFromJSON":"Bulk-import policies from JSON","line263JsxAttrTitleApplyACuratedSetOfPoliciesInOne":"Apply a curated set of policies in one click","line266JsxTextFromTemplate":"From template","line270JsxTextGrantAccess":"Grant access","line299JsxAttrTitleNoAccessGrantedYet":"No access granted yet","line314JsxTextAppliesTo":"Applies to","line358JsxAttrTitleAppliesOnlyWhenThisConditionIsMet":"Applies only when this condition is met","line371JsxTextExpiresIn":"expires in","line376JsxTextUnknownRole":"unknown role","line387JsxAttrAriaLabelPolicyActions":"Policy actions","line398JsxTextEditPolicy":"Edit policy","line405JsxTextRemovePolicy":"Remove policy","line447JsxAttrTitleRemovePolicy":"Remove policy","line448JsxAttrDescriptionThisMemberOrGroupWillLoseThePermissions":"This member or group will lose the permissions granted by this policy.","line449JsxAttrConfirmLabelRemovePolicy":"Remove policy","line558JsxTextBulkImportPolicies":"Bulk import policies","line560JsxTextPasteJSONExportedFromThisUIOrBuilt":"Paste JSON exported from this UI or built by hand. Entries reference roles by","line561JsxTextSoTheyRePortableAcrossAccounts":"so they're portable across accounts.","line574JsxAttrPlaceholderPrincipalTypeMemberPrincipalIdScopeTypeProject":"[{\"principal_type\":\"member\",\"principal_id\":\"...\",\"scope_type\":\"project\",\"scope_id\":\"...\",\"role_key\":\"project_editor\"}]","line588JsxTextReTargetToThis":"Re-target to this","line590JsxTextOverridesThePrincipalInEveryEntrySoYou":"Overrides the principal in every entry so you can import an export from a different member / group.","line598JsxTextParsePreview":"Parse & preview","line734JsxTextApplyAPolicyTemplate":"Apply a policy template","line736JsxTextTemplatesAreCuratedBundlesPickOneAndWe":"Templates are curated bundles — pick one and we'll create the matching policies in one shot. Skipped entries already existed.","line746JsxTextNoTemplatesApplyToThisPrincipalType":"No templates apply to this principal type.","line805JsxTextNoProjectsInThisAccount":"No projects in this account","line816JsxTextNoProjectGroupsYet":"No project groups yet","line844JsxTextApplyTemplate":"Apply template","line1215JsxAttrPlaceholderPickAScope":"Pick a scope...","line1235JsxTextIdPaste":"id paste","line1249JsxTextAppliesTo":"Applies to","line1252JsxTextAllResourcesInThisAccount":"All resources in this account","line1262JsxAttrPlaceholderPickAProject":"Pick a project...","line1267JsxTextNoProjectsInThisAccount":"No projects in this account","line1286JsxAttrPlaceholderPickAMember":"Pick a member...","line1291JsxTextNoMembersInThisAccount":"No members in this account","line1310JsxAttrPlaceholderPickAGroup":"Pick a group...","line1315JsxTextNoGroupsInThisAccount":"No groups in this account","line1334JsxAttrPlaceholderPickAProjectGroup":"Pick a project group...","line1339JsxTextNoProjectGroupsYetCreateOneInSettings":"No project groups yet. Create one in Settings → Project groups, then attach projects to it.","line1367JsxTextNoPickerYetFor":"No picker yet for","line1367JsxTextSFindTheIdInTheResourceS":"s. Find the id in the resource's URL or detail page and paste it here.","line1381JsxTextEachSelectedRoleBecomesItsOwnPolicy":"Each selected role becomes its own policy.","line1386JsxTextNoRolesAvailableForThisScope":"No roles available for this scope.","line1396JsxAttrPlaceholderSearchRoles":"Search roles...","line1409JsxTextNoRolesMatch":"No roles match “","line1409JsxTextText":"”.","line1475JsxTextMakeThisA":"Make this a","line1478JsxTextRevokesTheRoleSActionsOnThisScope":"Revokes the role's actions on this scope. Wins over any allow.","line1573JsxTextRestrictByIPOrMFA":"Restrict by IP or MFA","line1588JsxTextRequireMFA":"Require MFA","line1590JsxTextPolicyOnlyAppliesWhenTheSessionIsVerified":"Policy only applies when the session is verified with a second factor (Supabase aal2).","line1599JsxTextIPAllowlist":"IP allowlist","line1601JsxTextCallerSIPMustMatchOneOfThese":"Caller's IP must match one of these. Accepts IPv4 / IPv6 addresses or CIDRs (10.0.0.0/8, 2001:db8::/32). Empty = no restriction.","line1644JsxAttrPlaceholderEG100008":"e.g. 10.0.0.0/8","line1670JsxTextWillBe":"will be"},"componentsIamRolesTab":{"line63JsxAttrDescriptionSystemRolesShipWithThePlatformCreateCustom":"System roles ship with the platform. Create custom roles to bundle exactly the permissions your account needs.","line68JsxTextCreateARole":"Create a role","line80JsxAttrPlaceholderSearchRolesByNameOrKey":"Search roles by name or key..."},"componentsKortixCredentialsTab":{"line63JsxTextAes256GcmEncryptedScopedToThisProject":"AES-256-GCM encrypted, scoped to this project only. Agents read via","line67JsxTextNewCredential":"New credential","line72JsxTextLoadingCredentials":"Loading credentials…","line104JsxAttrTitleDeleteCredential":"Delete credential?","line171JsxAttrTitleClickToEdit":"Click to edit","line182JsxTextLastRead":"· last read","line183JsxTextNeverRead":"· never read","line209JsxAttrTitleCopyValueToClipboard":"Copy value to clipboard","line283JsxTextEncryptedWithAes256GcmScopedToThis":"Encrypted with AES-256-GCM, scoped to this project only.","line301JsxTextLettersDigitsUnderscoreNoLeadingDigitNoDashes":"Letters, digits, underscore — no leading digit, no dashes.","line308JsxTextEnterANewValueToRotateLeaveBlank":"— enter a new value to rotate; leave blank to keep existing and update description only","line321JsxTextDescriptionOptional":"Description (optional)","line325JsxAttrPlaceholderStripeLiveModeApiKeyForTheBilling":"Stripe live-mode API key — for the billing worker","line350JsxTextNoCredentialsYet":"No credentials yet","line352JsxTextStoreProjectSpecificSecretsApiKeysTokensConnection":"Store project-specific secrets (API keys, tokens, connection strings). Agents read them with","line353JsxTextCredentialGetQuotNameQuot":"credential_get(\"NAME\")","line353JsxTextInsteadOfScraping":"instead of scraping","line353JsxTextFilesValuesNeverEnter":"files. Values never enter","line357JsxTextStoreFirstCredential":"Store first credential"},"componentsKortixMarkdownField":{"line143JsxTextSaveEscCancel":"save · Esc cancel"},"componentsKortixMentionTextarea":{"line416JsxTextTagTeamMember":"Tag team member","line453JsxTextToNavigateToInsertEscToDismiss":"↑↓ to navigate · ↵ to insert · esc to dismiss"},"componentsKortixMilestoneDialog":{"line106JsxTextNewMilestone":"New milestone","line108JsxTextAnOutcomeLevelGoalThatGroupsTicketsKeep":"An outcome-level goal that groups tickets. Keep the acceptance criteria concrete — PM will run it to verify \"done\".","line234JsxTextTicketsDone":"tickets done ·","line234JsxTextComplete":"% complete","line235JsxTextDue":"· due","line258JsxTextNoTicketsYetTlLinksSubTicketsDuring":"No tickets yet. TL links sub-tickets during decomposition; you can also set a ticket's milestone from its detail view.","line297JsxTextNoActivityYet":"No activity yet.","line309JsxAttrPlaceholderClosingSummaryEvidenceTheAcceptanceCriteriaPassFile":"Closing summary — evidence the acceptance criteria pass (file:line, test output, curl result).","line315JsxTextMarkAsDone":"Mark as done","line318JsxTextCancelMilestone":"Cancel milestone","line369JsxAttrPlaceholderDeliveryPathE2e":"Delivery path e2e","line379JsxAttrPlaceholderText13LinesOfContextWhatThisOutcome":"1–3 lines of context — what this outcome covers.","line385JsxAttrLabelAcceptanceCriteria":"Acceptance criteria","line389JsxAttrPlaceholderDoneWhenPostEventsSubscriberReceivesSignedHook":"Done when: POST /events → subscriber receives signed hook within 3 attempts.","line394JsxTextAConcreteCheckShellCommandCurlTestName":"A concrete check — shell command, curl, test name, manual verification step.","line399JsxAttrLabelDueDateOptional":"Due date (optional)","line410JsxAttrAriaLabelNoColor":"No color","line411JsxAttrTitleNoColor":"No color","line464JsxTextConfirmDelete":"Confirm delete"},"componentsKortixMilestonesTab":{"line58JsxTextNewMilestone":"New milestone","line64JsxTextLoading":"Loading…","line70JsxTextNoOpenMilestones":"No open milestones","line71JsxTextGroupTicketsByEndToEndOutcomeCreate":"Group tickets by end-to-end outcome. Create the first one.","line173JsxTextDone":"done ·"},"componentsKortixNewTaskDialog":{"line117CallToastFailedToUploadAttachments":"Failed to upload attachments","line145CallToastTaskStarted":"Task started","line146CallToastTaskCreatedButFailedToStart":"Task created but failed to start","line163CallToastFailedToCreateTask":"Failed to create task","line179JsxTextNewTask":"New task","line181JsxTextCreateANewTask":"Create a new task","line191JsxTextNewTask":"New task","line216JsxAttrPlaceholderTaskTitle":"Task title","line225JsxAttrPlaceholderAddDescription":"Add description…","line235JsxTextVerificationCondition":"Verification condition","line247JsxAttrPlaceholderHowWillWeKnowThisTaskIsActually":"How will we know this task is actually done?","line257JsxTextAddVerificationCondition":"+ Add verification condition","line320JsxAttrTitleAttachFiles":"Attach files","line331JsxTextCreateMore":"Create more"},"componentsKortixNewTicketDialog":{"line157JsxTextNewTicket":"New ticket","line158JsxTextCreateATicket":"Create a ticket","line218JsxTextNewTicket":"New ticket","line219JsxTextStartFromATemplate":"Start from a template","line230JsxAttrHintStartFromAnEmptyTicket":"Start from an empty ticket.","line247JsxTextTemplatesLiveInSettingsTemplates":"Templates live in Settings → Templates.","line395JsxTextNewTicket":"New ticket","line411JsxAttrPlaceholderTicketTitle":"Ticket title","line451JsxTextNone":"— none —","line466JsxTextToCreate":"to create","line527JsxAttrTitleSaveCurrentBodyAsATemplate":"Save current body as a template","line528JsxAttrAriaLabelSaveAsTemplate":"Save as template","line535JsxTextSaveAsTemplate":"Save as template","line538JsxTextReuseThisTicketSBodyLaterAsA":"Reuse this ticket's body later as a fresh template in the picker.","line548JsxAttrPlaceholderTemplateNameEGBugFeature":"Template name — e.g. Bug, Feature…","line561JsxTextSaveTemplate":"Save template","line615JsxTextMoveTo":"Move to","line659JsxTextUnassignedColumnDefaultsStillFire":"Unassigned — column defaults still fire.","line698JsxTextAssignTo":"Assign to"},"componentsKortixNotificationsBell":{"line129JsxAttrTitleMarkAllAsRead":"Mark all as read","line132JsxTextMarkAllRead":"Mark all read","line140JsxTextAllCaughtUp":"All caught up","line142JsxTextMentionsAndAssignmentsWillShowUpHere":"Mentions and assignments will show up here.","line207JsxTextMentionedYou":"mentioned you","line211JsxTextAssignedYou":"assigned you"},"componentsKortixProjectAbout":{"line165JsxTextLoadingContextMd":"Loading CONTEXT.md…","line191JsxAttrPlaceholderProjectContext1010MissionArchitectureKeyDecisions":"# Project Context\n\nMission, architecture, key decisions, open questions — the durable project memory every agent reads first.","line200JsxTextNoContextMdYet":"No CONTEXT.md yet","line203JsxTextClickToCreate":"Click to create","line207JsxTextTheDurableProjectMemoryEveryAgentReadsFirst":"— the durable project memory every agent reads first.","line230JsxAttrTitleCopyPath":"Copy path"},"componentsKortixProjectMembersTab":{"line75JsxAttrTitleNotAllowedHere":"Not allowed here","line76JsxAttrDescriptionYouDonTHavePermissionToManageProject":"You don't have permission to manage project access. Ask the instance owner to grant projects:access.manage.","line162JsxTextMembers":"Members ·","line165JsxTextPeopleExplicitlyGrantedAccessTo":"People explicitly granted access to","line181JsxTextLoadingMembers":"Loading members…","line185JsxTextJustYouAddTeammatesToLetThemSee":"Just you. Add teammates to let them see this project.","line238JsxAttrAriaLabelRemoveFromProject":"Remove from project","line274JsxTextAddTeammate":"Add teammate","line280JsxAttrPlaceholderFindATeammate":"Find a teammate…","line283JsxTextNoMatches":"No matches."},"componentsKortixTaskDetailView":{"line156JsxTextTaskDetail":"Task detail","line165JsxTextTaskNotFound":"Task not found","line179JsxAttrTitleCopyTaskId":"Copy task ID","line279JsxAttrPlaceholderWhatNeedsToBeDoneBeSpecificWhat":"What needs to be done? Be specific — what to build, where, what to read first, what success looks like…","line284JsxAttrSublabelDeterministicRunnableBinaryPassFail":"Deterministic. Runnable. Binary pass/fail.","line289JsxAttrPlaceholderEGBunTestTestsAuthTestTs":"e.g. `bun test tests/auth.test.ts` exits 0 and the new signup test passes","line298JsxAttrLabelNeedsInput":"Needs input","line319JsxTextVerificationSummary":"Verification summary","line360JsxTextWorkerSession":"Worker session","line367JsxTextOpen":"Open →","line415JsxAttrTitleDeleteTask":"Delete task","line416JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line416JsxTextQuot":"\"","line416JsxTextQuot724b339d":"\""},"componentsKortixTaskKanban":{"line83JsxTextAddTask":"+ Add task","line113JsxAttrEmptytextNoActiveWorkers":"No active workers","line128JsxAttrLabelReviewInput":"Review / Input","line130JsxAttrEmptytextNoTasksAwaitingReviewOrInput":"No tasks awaiting review or input","line158JsxAttrEmptytextNoCompletedTasks":"No completed tasks","line177JsxAttrTitleDeleteTask":"Delete task","line178JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line178JsxTextQuot":"\"","line178JsxTextQuotfa5e6756":"\"","line178JsxTextThisActionCannotBeUndone":"? This action cannot be undone.","line282JsxTextCopyId":"Copy ID","line340JsxTextCopyId":"Copy ID"},"componentsKortixTaskList":{"line77JsxAttrEmptytextNoPlannedTasks":"No planned tasks","line83JsxTextCreateYourFirstTask":"+ Create your first task","line113JsxAttrEmptytextNoActiveWorkers":"No active workers","line146JsxAttrLabelReviewInput":"Review / Input","line148JsxAttrEmptytextNoTasksAwaitingReviewOrInput":"No tasks awaiting review or input","line176JsxAttrEmptytextNoCompletedTasks":"No completed tasks","line194JsxAttrTitleDeleteTask":"Delete task","line195JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line195JsxTextQuot":"\"","line195JsxTextQuot1c3ddf05":"\"","line195JsxTextThisActionCannotBeUndone":"? This action cannot be undone.","line308JsxTextCopyId":"Copy ID"},"componentsKortixTasksTab":{"line86JsxAttrPlaceholderSearch":"Search…","line123JsxAttrTitleNoTasksYet":"No tasks yet","line126JsxTextTasksTrackWorkThatNeedsDoingPress":"Tasks track work that needs doing. Press","line128JsxTextAnyTimeToCreateOne":"any time to create one.","line134JsxTextCreateTask":"Create task","line142JsxAttrTitleNoMatches":"No matches","line143JsxAttrDescriptionNoTasksMatchYourSearch":"No tasks match your search.","line147JsxTextClearSearch":"Clear search"},"componentsKortixTeamTab":{"line126JsxTextNewAgent":"New agent","line137JsxTextNoAgentsYet":"No agents yet","line138JsxTextAddTheFirstTeamAgentForThisProject":"Add the first team agent for this project.","line150JsxAttrLabelHowItWorks":"How it works","line153JsxTextCanCommentUpdateCustomFieldsAssignAndMove":"can comment, update custom fields, assign, and move tickets between columns.","line155JsxTextAdditionallyConfigureColumnsFieldsTemplatesAndTheTeam":"additionally configure columns, fields, templates, and the team roster.","line158JsxTextEachAgentHasAnExecutionMode":"Each agent has an execution mode —","line159JsxTextReusesOneSessionPerTicketConcurrentMentionsQueue":"reuses one session per ticket (concurrent mentions queue),","line159JsxTextSpawnsAFreshSessionEachTime":"spawns a fresh session each time.","line200JsxTextRealHuman":"real human","line203JsxTextAgentsTag":"Agents tag @","line203JsxTextWhenADecisionIsNeeded":"when a decision is needed.","line316JsxAttrTitleNewTeamAgent":"New team agent","line405JsxTextLoading":"Loading…","line420JsxTextRemovesTheAgentMarkdownFileAndDeregistersIt":"Removes the agent markdown file and deregisters it from the team. Existing tickets aren't deleted.","line523JsxAttrPlaceholderAgentName":"Agent name","line546JsxAttrPlaceholderSystemPromptDescribeResponsibilitiesFlowAndWhatThis":"System prompt — describe responsibilities, flow, and what this agent owns.","line559JsxAttrLabelDefaultFor":"Default for","line565JsxTextOverridesTheSessionDefaultWhenThisAgentRuns":"Overrides the session default when this agent runs.","line594JsxAttrAriaLabelCustomiseAgentLook":"Customise agent look","line652JsxTextRandomColorIconInferredFromNameIfUnset":"Random color + icon inferred from name if unset.","line689JsxTextExecutionMode":"Execution mode","line731JsxTextCanWorkTicketsCommentMoveStatusAssignEdit":"Can work tickets: comment, move status, assign, edit fields.","line742JsxTextPlusManageTeamColumnsCustomFieldsTemplatesContext":"Plus: manage team, columns, custom fields, templates, context.","line780JsxTextDefaultModel":"Default model","line783JsxTextSessionDefault":"Session default","line788JsxTextNoProvidersConnected":"No providers connected.","line830JsxTextDefaultForColumn":"Default for column"},"componentsKortixTicketBoard":{"line211JsxAttrTitleNoTicketsYet":"No tickets yet","line212JsxTextToCreateOne":"to create one.","line216JsxTextCreateTicket":"Create ticket","line234JsxAttrPlaceholderSearchTicketsOrNumber":"Search tickets or #number…","line251JsxAttrTitleFilterByMilestone":"Filter by milestone","line253JsxTextAllMilestones":"All milestones","line254JsxTextNoMilestone":"— no milestone —","line259JsxAttrLabelClosedCancelled":"Closed / cancelled","line268JsxTextDragCardsToMoveOrUseTheMenu":"drag cards to move — or use the ⋯ menu","line297JsxTextAddTicket":"+ Add ticket","line336JsxAttrTitleDeleteTicket":"Delete ticket","line337JsxTextThisCanAposTBeUndone":"? This can't be undone.","line368JsxAttrTitleAddTicket":"Add ticket","line523JsxAttrAriaLabelTicketActions":"Ticket actions","line531JsxTextOpenTicket":"Open ticket","line538JsxTextCopyReference":"Copy reference","line542JsxTextMoveTo":"Move to","line564JsxTextDeleteTicket":"Delete ticket","line656JsxTextDone":"done ·","line710JsxTextLastRan":"last ran"},"componentsKortixTicketDetailDrawer":{"line145JsxTextTicketDetail":"Ticket detail","line149JsxTextLoadingTicket":"Loading ticket…","line199JsxAttrPlaceholderAddADescriptionAcceptanceCriteriaNotesAnythingDurable":"Add a description — acceptance criteria, notes, anything durable.","line212JsxTextNoActivityYet":"No activity yet.","line241JsxAttrPlaceholderCommentTypeToTagATeamMember":"Comment. Type @ to tag a team member.","line246JsxTextToSend":"⌘↵ to send","line391JsxTextMoveTo":"Move to","line466JsxTextAssignTo":"Assign to","line514JsxAttrPlaceholderChoose":"Choose…","line532JsxAttrPlaceholderNumber":"Number…","line539JsxAttrPlaceholderText":"Text…","line607JsxTextCreatedTheTicket":"created the ticket","line608JsxTextUpdatedFields":"updated fields","line647JsxTextNone":"— none —","line652JsxAttrLabelClosedCancelled":"Closed / cancelled","line669JsxTextTicketsDone":"tickets done ·"},"componentsKortixTicketSettingsTab":{"line67JsxAttrLabelCustomFields":"Custom fields","line192JsxAttrDescriptionTheLinearSequenceTicketsMoveThroughOrderMatters":"The linear sequence tickets move through. Order matters — new tickets land in the first column. Click a column's icon to change it.","line199JsxTextAddColumn":"Add column","line206JsxTextNoFlowColumnsYet":"No flow columns yet.","line229JsxAttrDescriptionSideChannelColumnsEGBlockedOnHold":"Side-channel columns (e.g. blocked, on hold). Reachable from any flow column but don't participate in the linear sequence — skip-column and gate-column guards ignore them.","line236JsxTextAddSideChannel":"Add side-channel","line244JsxTextNoneTicketsThatStallWaitingOnExternalInput":"None. Tickets that stall waiting on external input can sit in a flow column, or you can add a side-channel like","line303JsxAttrPlaceholderDefault":"Default…","line305JsxTextNoDefault":"No default","line316JsxAttrTitleMoveUp":"Move up","line322JsxAttrTitleMoveDown":"Move down","line338JsxAttrTitleDeleteColumn":"Delete column","line380JsxAttrTitleChangeIcon":"Change icon","line381JsxAttrAriaLabelChangeColumnIcon":"Change column icon","line387JsxTextColumnIcon":"Column icon","line446JsxAttrLabelCustomFields":"Custom fields","line447JsxAttrDescriptionPerProjectFieldsShownOnEveryTicketType":"Per-project fields shown on every ticket. Type controls the editor — text, number, date, or a select with predefined options.","line455JsxTextAddField":"Add field","line462JsxTextNoCustomFieldsYet":"No custom fields yet.","line494JsxAttrPlaceholderOptionsCommaSeparatedEGP0P1P2":"Options, comma-separated — e.g. P0, P1, P2, P3","line550JsxAttrLabelTicketTemplates":"Ticket templates","line551JsxAttrDescriptionMarkdownTemplatesShownInTheNewTicketPicker":"Markdown templates shown in the New-ticket picker. Acceptance criteria lives in the body — no hardcoded verification field.","line559JsxTextAddTemplate":"Add template","line566JsxTextNoTemplatesYet":"No templates yet.","line589JsxTextSelectATemplateToEditOrAddA":"Select a template to edit, or add a new one.","line597JsxAttrPlaceholderNameEGBug":"Name (e.g. Bug)","line613JsxAttrPlaceholderMarkdownBody":"Markdown body…"},"componentsKortixTriggersTab":{"line160JsxAttrTitleDeleteTrigger":"Delete trigger","line231JsxTextCronWebhookTriggersScopedToThisProject":"Cron + webhook triggers scoped to this project.","line236JsxTextAddTrigger":"Add Trigger","line259JsxTextNoTriggersInThisProject":"No triggers in this project","line261JsxTextCronOrWebhookRunsAPromptCommandOr":"Cron or webhook — runs a prompt, command, or HTTP call when it fires.","line265JsxTextAddTrigger":"Add trigger"},"componentsLayoutAccountSwitcher":{"line137JsxAttrAriaLabelSwitchAccount":"Switch account","line190JsxAttrPlaceholderFindAccount":"Find account…","line277JsxTextAllAccounts":"All accounts","line286JsxTextNewAccount":"New account"},"componentsLayoutAppHeader":{"line72JsxAttrAriaLabelKortixHome":"Kortix home"},"componentsLayoutProjectSwitcher":{"line210JsxAttrPlaceholderFindProject":"Find project…","line281JsxTextAllProjects":"All projects","line293JsxTextNewProject":"New project"},"componentsLayoutUserMenu":{"line146JsxAttrAriaLabelYourMenu":"Your menu","line213JsxAttrLabelUserSettings":"Preferences","line253JsxAttrLabelLogOut":"Log out","line142JsxAttrAriaLabelYourMenu":"Your menu","line209JsxAttrLabelUserSettings":"Preferences","line248JsxAttrLabelLogOut":"Log out"},"componentsMaintenanceMaintenancePage":{"line46JsxTextWeLlBeRightBack":"We'll Be Right Back","line51JsxTextPerformingScheduledMaintenanceToEnhanceSystemStabilityAll":"Performing scheduled maintenance to enhance system stability. All services will resume shortly.","line62JsxTextServicesOffline":"Services Offline","line64JsxTextAllWorkerExecutionsAreCurrentlyPaused":"All Worker executions are currently paused."},"componentsMarkdownUnifiedMarkdown":{"line1115JsxTextNoContent":"No content","loadRemoteImage":"Load image from {host}"},"componentsOnboardingBootOverlay":{"line135JsxTextPressEnterToBoot":"Press Enter to boot..."},"componentsOnboardingSetupWizard":{"line174JsxTextWelcomeToYourKortix":"Welcome to your Kortix","line182JsxTextLetAposSGetYouSetUpThis":"Let's get you set up. This takes about a minute — you can change everything later in Settings.","line198JsxTextGetStarted":"Get started","line217JsxTextConnectYourAi":"Connect Your AI","line219JsxTextKortixIsDesignedToWorkWithYourOwn":"Kortix is designed to work with your own AI subscriptions. Here's how most people connect.","line231JsxTextCodingSubscriptions":"Coding subscriptions","line233JsxTextChatgptMaxClaudeProCodeOrSimilarBest":"ChatGPT Max, Claude Pro / Code, or similar. Best value at scale — we strongly recommend this.","line243JsxTextYourOwnApiKeys":"Your own API keys","line245JsxTextOpenaiAnthropicGoogleOpenrouterBringAnyKeyYou":"OpenAI, Anthropic, Google, OpenRouter — bring any key you already have.","line256JsxTextKortixCredits":"Kortix credits","line258JsxTextDonAposTHaveAKeyYetWe":"Don't have a key yet? We include a few free credits to get you started.","line270JsxTextConnectAProvider":"Connect a provider","line314JsxTextKortixCredits":"Kortix Credits","line316JsxTextYouStartWithAFewFreeCreditsTo":"You start with a few free credits to try things out. Your agent can use these when no provider API key is available.","line321JsxTextCreditsAreUsedWhenYourAgentRunsOn":"Credits are used when your agent runs on Kortix-managed models instead of your own API keys. Most users connect their own provider and rarely use credits.","line366JsxTextCheckingProviders":"Checking providers…","line522JsxTextLoadingModels":"Loading models…","line538JsxTextDefaultModel":"Default Model","line660JsxTextToolApiKeys":"Tool API Keys","line662JsxTextYourAgentUsesToolsLikeWebSearchScraping":"Your agent uses tools like web search, scraping, and image generation to complete tasks.","line665JsxAttrTextIncludedWithYourKortixCredits":"Included with your Kortix credits","line672JsxTextAllToolKeysAre":"All tool keys are","line672JsxTextAndUsageIsBilledThroughYourCreditsYou":"and usage is billed through your credits. You can optionally use your own API keys if you prefer.","line677JsxTextAddApiKeysToEnableAgentCapabilitiesLike":"Add API keys to enable agent capabilities like web search, image generation, and more. All keys are optional — you can add them later in Settings.","line719JsxAttrTitleToolApiKeys":"Tool API Keys","line769JsxTextSaving":"Saving…","line795JsxTextYouAposReAllSet":"You're all set","line797JsxTextYourKortixAgentIsConfiguredAndReadyWe":"Your Kortix agent is configured and ready. We'll walk you through the basics in a quick guided conversation.","line807JsxTextStartOnboarding":"Start onboarding","line882JsxTextBackToDashboard":"Back to Dashboard","line912JsxTextYouCanChangeAllOfThisLaterIn":"You can change all of this later in Settings."},"componentsPagesAdminAnalyticsComponentsArrSimulatorIndex":{"line1133JsxTextArrGrowthSimulator":"ARR Growth Simulator","line1136JsxTextAdjustParametersToModelYourPathTo":"Adjust parameters to model your path to","line1136JsxTextArrByJune2026":"ARR by June 2026","line1142JsxTextStartingSubscribers":"Starting Subscribers","line1152JsxTextStartingMrr":"Starting MRR ($)","line1162JsxTextWeeklyVisitors":"Weekly Visitors","line1172JsxTextMonthlyVisitorGrowth":"Monthly Visitor Growth (%)","line1182JsxTextLandingConv":"Landing Conv. (%)","line1192JsxTextSignupPaid":"Signup → Paid (%)","line1203JsxTextArpuMo":"ARPU ($/mo)","line1213JsxTextMonthlyChurn":"Monthly Churn (%)","line1223JsxTextTargetArr":"Target ARR ($)","line1241JsxTextProjectedArrJun2026":"Projected ARR (Jun 2026)","line1247JsxTextTotalSubscribers":"Total Subscribers","line1255JsxTextGapToTarget":"Gap to Target","line1261JsxTextProgressToGoal":"Progress to Goal","line1276JsxTextArrTrajectory":"ARR Trajectory","line1317JsxTextMonthlyView":"📅 Monthly View","line1324JsxTextWeeklyTracking":"📊 Weekly Tracking","line1336JsxTextArrGoalVsActual":"📈 ARR: Goal vs Actual","line1398JsxTextSubscribersGoalVsActual":"👥 Subscribers: Goal vs Actual","line1452JsxTextMrrGoalVsActual":"💰 MRR: Goal vs Actual","line1506JsxTextNewPaidVsChurnGoalVsActual":"📊 New Paid vs Churn: Goal vs Actual","line1565JsxTextMonthlyBreakdownGoalVsActual":"Monthly Breakdown (Goal vs Actual)","line1566JsxTextProjectedGrowthFromDec2025ToJun2026":"Projected growth from Dec 2025 to Jun 2026 with actual data comparison","line1579JsxTextNewPaid":"New Paid","line1583JsxTextChurnRate":"Churn Rate","line1584JsxTextTotalSubs":"Total Subs","line1749JsxAttrTitleLockedManualOverrideClickToUnlockAndUse":"Locked (manual override). Click to unlock and use auto-fetched value.","line1767JsxAttrTitleClickToEditAndOverride":"Click to edit and override","line1910JsxTextArrActualVsGoal":"📈 ARR: Actual vs Goal","line1932JsxTextSubscribersActualVsGoal":"👥 Subscribers: Actual vs Goal","line1954JsxTextMrrActualVsGoal":"💰 MRR: Actual vs Goal","line1976JsxTextNewPaidActualVsGoal":"🎯 New Paid: Actual vs Goal","line1999JsxTextWeeklyTrackingDec2025Jun2026":"📊 Weekly Tracking (Dec 2025 - Jun 2026)","line2001JsxTextDataIsAutoSyncedFromStripeVercelEdit":"Data is auto-synced from Stripe/Vercel. Edit any value to override it — once edited, it stays locked (🔒) and won't be overwritten by auto-sync. Click the lock icon to unlock and resume syncing.","line2010JsxTextDateRange":"Date Range","line2016JsxTextNewPaid":"New Paid","line2020JsxTextChurnRate":"Churn Rate","line2044JsxTextVar":"Var%","line2047JsxTextVar":"Var%","line2050JsxTextVar":"Var%","line2204JsxAttrTitleClickToEditAndOverride":"Click to edit and override","line2241JsxAttrTitleClickToEditAndOverride":"Click to edit and override","line2282JsxAttrTitleClickToEditAndOverride":"Click to edit and override","line2322JsxAttrTitleClickToEditAndOverride":"Click to edit and override","line2371JsxAttrTitleClickToEditAndOverride":"Click to edit and override","line2404JsxAttrTitleClickToEditAndOverride":"Click to edit and override","line2437JsxAttrTitleClickToEditAndOverride":"Click to edit and override"},"componentsPagesAdminAnalyticsComponentsRetentionTab":{"line91JsxTextRecurringUsers":"Recurring Users","line93JsxTextUsersActiveIn":"Users active in","line93JsxTextDifferentWeeksOverThePast":"+ different weeks over the past","line108JsxTextText2Weeks":"2 weeks","line109JsxTextText4Weeks":"4 weeks","line110JsxTextText8Weeks":"8 weeks","line111JsxTextText12Weeks":"12 weeks","line117JsxTextMinActive":"Min Active","line126JsxTextText1Week":"1+ week","line127JsxTextText2Weeks":"2+ weeks","line128JsxTextText3Weeks":"3+ weeks","line129JsxTextText4Weeks":"4+ weeks","line148JsxAttrEmptymessageNoRecurringUsersFound":"No recurring users found"},"componentsPagesAdminAnalyticsComponentsThreadBrowser":{"line182JsxTextNoMessages":"No messages","line231JsxAttrPlaceholderSearchByEmail":"Search by email...","line245JsxTextAllThreads":"All threads","line246JsxTextText1Message":"1 message","line247JsxTextText23Messages":"2-3 messages","line248JsxTextText5Messages":"5+ messages","line285JsxAttrEmptymessageNoThreadsFound":"No threads found"},"componentsPagesAdminAnalyticsComponentsUserEmailLink":{"line8JsxTextUnknownUser":"Unknown user"},"componentsPagesAdminAnalyticsPage":{"line181JsxTextPlatformHealthAndBusinessMetrics":"Platform health and business metrics","line316JsxTextTasksUsers":"Tasks & Users","line338JsxTextNewSignups":"New Signups","line342JsxTextNewPaid":"New Paid","line346JsxTextTotalTasks":"Total Tasks","line350JsxTextActiveUsers":"Active Users","line364JsxTextSuccessRate":"Success Rate","line373JsxTextTaskDistributionByCategory":"Task Distribution by Category","line395JsxTextNoTaskData":"No task data","line413JsxTextAvgTaskDuration":"Avg Task Duration","line454JsxTextDailyActiveUsers":"Daily Active Users","line459JsxTextWeeklyActiveUsers":"Weekly Active Users","line464JsxTextMonthlyActiveUsers":"Monthly Active Users","line469JsxTextStickinessRatio":"Stickiness Ratio","line481JsxTextConversionFunnel":"Conversion Funnel","line513JsxTextOfVisitors":"% of visitors","line533JsxTextOfVisitors":"% of visitors","line544JsxTextWebSubscribers":"Web Subscribers","line554JsxTextNoWebSubscribers":"No web subscribers","line566JsxTextAppSubscribers":"App Subscribers","line576JsxTextNoAppSubscribers":"No app subscribers","line585JsxTextAnalyticsNotConfigured":"Analytics not configured","line602JsxTextPayingUsers":"paying users","line606JsxTextPayingUsers":"Paying Users","line633JsxTextTotalActiveSubs":"Total Active Subs","line635JsxTextApp":"| App:","line656JsxTextChurnRate":"Churn Rate","line694JsxTextPerPayingUser":"Per Paying User (","line717JsxTextWebStripe":"Web (Stripe)","line719JsxTextCost":"Cost: $","line722JsxTextAppRevenuecat":"App (RevenueCat)","line724JsxTextCost":"Cost: $","line732JsxTextByTier":"By Tier","line820JsxTextNoTierData":"No tier data","line827JsxTextNoFinancialDataAvailable":"No financial data available","line856JsxTextText1Msg":"1 msg:","line872JsxAttrPlaceholderAllTiers":"All Tiers","line875JsxTextAllTiers":"All Tiers","line935JsxTextUserManagement":"User Management","line937JsxTextSearchUsersViewBillingManageCredits":"Search users, view billing, manage credits","line969JsxTextLoadingUser":"Loading user..."},"componentsPagesAdminFeedbackPage":{"line24JsxTextFeedbackAnalytics":"Feedback Analytics","line27JsxTextMonitorUserFeedbackAnalyzeTrendsAndGetAi":"Monitor user feedback, analyze trends, and get AI-powered insights","line40JsxTextAiAnalysis":"AI Analysis","line44JsxTextAllFeedback":"All Feedback"},"componentsPagesAdminNotificationsPage":{"line103JsxTextNotificationManagement":"Notification Management","line108JsxTextSingleUser":"Single User","line113JsxTextSendNotificationsViaNovuWorkflows":"Send notifications via Novu workflows","line148JsxTextSingleUser":"Single User","line157JsxTextBroadcastAll":"Broadcast All","line168JsxTextSelectWorkflow":"Select Workflow","line170JsxTextChooseFromYourNovuWorkflows":"Choose from your Novu workflows","line185JsxTextLoadingWorkflows":"Loading workflows...","line190JsxTextNoWorkflowsFound":"No workflows found","line228JsxTextTargetRecipient":"Target Recipient","line230JsxTextWhoShouldReceiveThisNotification":"Who should receive this notification","line237JsxTextTargetBy":"Target by:","line239JsxTextUserId":"User ID","line250JsxTextEmailAddress":"Email Address","line254JsxAttrPlaceholderUserExampleCom":"user@example.com","line260JsxTextAutoCreatesSubscriberIfDoesnTExist":"Auto-creates subscriber if doesn't exist","line265JsxTextUserId":"User ID","line268JsxAttrPlaceholderEnterUserAccountId":"Enter user/account ID","line273JsxTextTheSupabaseUserIdOfTheRecipient":"The Supabase user ID of the recipient","line288JsxTextPayloadDataOptional":"Payload Data (Optional)","line290JsxTextCustomDataToSendWithTheNotification":"Custom data to send with the notification","line329JsxTextUserSEmail":"User's email","line333JsxTextFullName":"Full name","line337JsxTextFirstName":"First name","line347JsxTextUseInNovuTemplate":"Use in Novu template:","line354JsxTextPayloadData":"Payload data:","line376JsxTextNovuTemplate":"Novu Template:","line387JsxTextYourPayload":"Your Payload:","line399JsxTextJohnReceives":"John receives:","line400JsxTextHelloJohnNewFeatureFeatures":"Hello John, New feature! /features","line415JsxTextQuickTips":"Quick Tips","line420JsxTextCreateWorkflowsInNovuDashboardFirst":"Create workflows in Novu dashboard first","line424JsxTextPayloadMustBeValidJson":"Payload must be valid JSON","line428JsxTextEmailModeAutoCreatesSubscribers":"Email mode auto-creates subscribers","line432JsxTextBroadcastsSendToAllActiveSubscribers":"Broadcasts send to all active subscribers"},"componentsPagesAdminSandboxPoolPage":{"line136JsxAttrFeatureSandboxPool":"Sandbox pool","line147JsxTextSandboxPool":"Sandbox Pool","line149JsxTextRealTimePoolMonitoringAndManagement":"Real-time pool monitoring and management","line168JsxTextIssuesDetected":"Issues Detected","line185JsxTextPoolSize":"Pool Size","line190JsxTextMin":"min /","line208JsxTextTotalCreated":"Total Created","line213JsxTextSinceServiceStart":"Since service start","line227JsxTextTotalClaimed":"Total Claimed","line232JsxTextHitRate":"Hit rate:","line246JsxTextAvgClaimTime":"Avg Claim Time","line268JsxTextQuickActions":"Quick Actions","line270JsxTextEmergencyControlsAndPoolManagement":"Emergency controls and pool management","line321JsxTextForceCreateSandboxes":"Force Create Sandboxes","line353JsxTextCurrentPoolServiceSettings":"Current pool service settings","line362JsxTextCheckInterval":"Check Interval","line366JsxTextMaxAge":"Max Age","line370JsxTextReplenishAt":"Replenish At","line378JsxTextLastReplenish":"Last Replenish","line384JsxTextLastCleanup":"Last Cleanup","line400JsxTextPooledSandboxes":"Pooled Sandboxes","line403JsxTextSandboxesCurrentlyAvailableInThePool":"sandboxes currently available in the pool","line443JsxTextNoSandboxesInPool":"No sandboxes in pool","line445JsxTextClickQuotReplenishPoolQuotToCreateNew":"Click \"Replenish Pool\" to create new sandboxes"},"componentsPagesAdminStressTestPage":{"line104JsxAttrFeatureStressTest":"Stress test","line110JsxTextStressTestAdmin":"Stress Test - Admin","line113JsxTextRunLoadTestsWithDetailedTimingBreakdownBypasses":"Run load tests with detailed timing breakdown (bypasses concurrent run limits)","line124JsxTextTimingMetricsTimeline":"Timing Metrics Timeline","line132JsxTextUserClicksQuotSendQuot":"User clicks \"Send\"","line134JsxTextFirstTokenVisible":"First token visible","line140JsxTextTotalTtft":"Total TTFT","line142JsxTextRequestTimeFirstResponse":"Request Time + First Response","line152JsxTextRequestTime":"Request Time","line156JsxTextFirstResponse":"First Response","line166JsxTextHttpCall":"HTTP Call","line181JsxTextAgentSetup":"Agent Setup","line184JsxTextLlmTtft":"LLM TTFT","line193JsxTextRequestTime":"Request Time","line194JsxTextHttpSetup":"HTTP + setup","line198JsxTextFirstResponse":"First Response","line199JsxTextAgentOverhead":"Agent overhead","line203JsxTextLlmTtft":"LLM TTFT","line204JsxTextPureModelLatency":"Pure model latency","line208JsxTextTotalTtft":"Total TTFT","line209JsxTextUserWaitTime":"User wait time","line218JsxTextKeyFormula":"Key Formula:","line219JsxTextTotalTtftRequestTimeFirstResponse":"Total TTFT = Request Time + First Response","line222JsxTextAgentOverhead":"Agent Overhead:","line223JsxTextAgentOverheadFirstResponseLlmTtft":"Agent Overhead = First Response - LLM TTFT","line233JsxTextTestConfiguration":"Test Configuration","line238JsxTextNumberOfRequests":"Number of Requests","line261JsxTextStartTest":"Start Test","line266JsxTextStopTest":"Stop Test","line291JsxTextWaitingForLlmResponse":"(waiting for LLM response...)","line328JsxTextLiveResults":"Live Results","line339JsxTextRequestTime":"Request Time","line340JsxTextFirstResponse":"First Response","line342JsxTextLlmTtft":"LLM TTFT","line344JsxTextTotalTtft":"Total TTFT","line428JsxTextNoResultsYet":"No results yet","line451JsxTextTestSummary":"Test Summary","line457JsxTextTotalRequests":"Total Requests","line479JsxTextTotalTestTime":"Total Test Time","line488JsxTextRequestTimes":"Request Times","line491JsxTextTimeForHttpRequestToCompleteDistributedAcross":"Time for HTTP request to complete (distributed across workers like real traffic)","line514JsxTextTimeToFirstResponse":"Time to First Response","line518JsxTextTimeFromAgentStartUntilFirstLlmResponse":"Time from agent start until first LLM response chunk (includes MCP init, prompt building, LLM TTFT)","line548JsxTextLlmTtftPureModelLatency":"LLM TTFT (Pure Model Latency)","line552JsxTextActualTimeForTheLlmApiCallTo":"Actual time for the LLM API call to return first token (from litellm.acompletion call to first chunk)","line582JsxTextTotalTtftEndToEnd":"Total TTFT (End-to-End)","line585JsxTextCompleteTimeFromUserRequestUntilFirstResponse":"Complete time from user request until first response = Request Time + Time to First Response","line619JsxTextErrorBreakdown":"Error Breakdown","line637JsxTextRequestTimingBreakdown":"Request Timing Breakdown","line640JsxTextDetailedBreakdownOfTimeSpentInEachPhase":"Detailed breakdown of time spent in each phase during thread/project creation","line647JsxTextMinMs":"Min (ms)","line648JsxTextAvgMs":"Avg (ms)","line649JsxTextMaxMs":"Max (ms)","line655JsxTextLoadConfig":"Load Config","line663JsxTextGetModel":"Get Model","line671JsxTextCreateProject":"Create Project","line679JsxTextCreateThread":"Create Thread","line687JsxTextCreateMessageRun":"Create Message + Run","line695JsxTextTotalSetup":"Total Setup"},"componentsPagesBoardPage":{"line60JsxTextRedirectingToWorkspace":"Redirecting to workspace…","line119JsxAttrTitleNewTicketC":"New ticket (C)","line123JsxTextNewTicket":"New ticket"},"componentsPagesCreditsExplainedPage":{"line56JsxTextAiActivity":"AI activity:","line56JsxTextProcessingRequestsGeneratingResponsesMakingDecisionsAndRunning":"Processing requests, generating responses, making decisions, and running AI models during task execution.","line62JsxTextKortixComputer":"Kortix computer:","line62JsxTextTheExecutionEnvironmentThatPowersCodeExecutionBrowser":"The execution environment that powers code execution, browser automation, and interactive task processing.","line68JsxTextFileStorageAndManagement":"File storage and management:","line68JsxTextStoringOrganizingAndManagingFilesCreatedDuringYour":"Storing, organizing, and managing files created during your tasks.","line74JsxTextWebSearch":"Web search:","line74JsxTextSearchingTheInternetForInformationDataAndResources":"Searching the internet for information, data, and resources needed to complete tasks.","line80JsxTextPeopleSearch":"People search:","line80JsxTextFindingAndRetrievingInformationAboutPeopleContactsAnd":"Finding and retrieving information about people, contacts, and professional data.","line86JsxTextThirdPartyServices":"Third-party services:","line86JsxTextAccessingExternalApisDatabasesAndIntegratedServicesThat":"Accessing external APIs, databases, and integrated services that extend your agent's capabilities.","line92JsxTextOnceATaskCompletesNoFurtherCreditsAre":"Once a task completes, no further credits are consumed. Your completed work, stored files, and deployed projects remain accessible without any ongoing credit costs.","line98JsxTextIfATaskFailsDueToASystem":"If a task fails due to a system error on our side, we'll automatically refund all credits used for that task. We're constantly improving our infrastructure to make credit usage more efficient.","line113JsxTextWeApplyAMarkupOnTopOfProvider":"We apply a markup on top of provider costs to cover platform infrastructure, security, and ongoing development. Rates vary by service type:","line122JsxTextAiModels20Markup":"AI models (20% markup):","line122JsxTextAppliedToAllLlmApiCostsIncludingInput":"Applied to all LLM API costs including input tokens, output tokens, and prompt caching.","line128JsxTextToolUsage50Markup":"Tool usage (50% markup):","line128JsxTextAppliedToWebSearchWebScrapingAndOther":"Applied to web search, web scraping, and other third-party tool calls.","line134JsxTextImageSearch100Markup":"Image search (100% markup):","line134JsxTextAppliedToImageSearchQueries":"Applied to image search queries.","line140JsxTextBringYourOwnKey10PlatformFee":"Bring your own key (10% platform fee):","line140JsxTextIfYouUseYourOwnApiKeyA":"If you use your own API key, a flat 10% fee applies instead of the standard AI model markup.","line156JsxTextCreditsAreUsedToPayForLlmCalls":"Credits are used to pay for LLM calls and tool usage. You get credits from purchases, auto-topup, and a one-time bonus when you provision a machine.","line166JsxTextMachineBonus":"Machine Bonus","line169JsxTextText500Credits5GrantedOneTimeWhenYou":"500 credits ($5) granted one-time when you provision a new cloud computer. These never expire.","line182JsxTextBuyCreditPacks10500OrEnableAuto":"Buy credit packs ($10–$500) or enable auto-topup to never run out. Purchased credits never expire.","line192JsxTextMonthlyLegacy":"Monthly (Legacy)","line195JsxTextSomeLegacyPlansIncludeMonthlyCreditsThatRefresh":"Some legacy plans include monthly credits that refresh each billing cycle. These don't roll over.","line203JsxTextHowYouGetCredits":"How you get credits","line208JsxTextMachineBonus":"Machine bonus:","line208JsxTextEveryNewCloudComputerComesWith500Credits":"Every new cloud computer comes with 500 credits ($5) as a one-time welcome bonus.","line214JsxTextCreditPurchases":"Credit purchases:","line214JsxTextBuyPacksOfCreditsAnytimeAvailableIn10":"Buy packs of credits anytime. Available in $10, $25, $50, $100, $250, and $500 denominations.","line220JsxTextAutomaticallyRechargeWhenYourBalanceGetsLowEnabled":"Automatically recharge when your balance gets low. Enabled by default — configure threshold and amount in settings.","line231JsxTextCreditUsage":"Credit usage:","line231JsxTextCreditsAreDeductedPerLlmTokenUsedAnd":"Credits are deducted per LLM token used and per tool call. Costs vary by model — more capable models cost more per token."},"componentsPagesLegacyPage":{"line217JsxTextNoOutput":"No output","line286JsxTextContinueFromHere":"Continue from here","line370JsxTextFailedToLoadMessages":"Failed to load messages","line379JsxTextPreviousChat":"Previous Chat","line401JsxTextWhatDoYouWantToBuild":"What do you want to build?","line414JsxTextThisIsALegacyChatConvertItTo":"This is a legacy chat. Convert it to continue.","line415JsxTextFilesWillBeImportedToTheLegacyFolder":"Files will be imported to the Legacy folder on the Files page.","line434JsxTextConvertToSession":"Convert to session"},"componentsPagesSettingsApiKeysPage":{"line384JsxTextApiKeys":"API Keys","line386JsxTextManageKeysForProgrammaticAccessToYourSandbox":"Manage keys for programmatic access to your sandbox.","line399JsxTextApiDocs":"API Docs","line412JsxTextSandboxToken":"Sandbox Token","line416JsxTextUsedByTheAgentInsideYourSandboxTo":"Used by the agent inside your sandbox to call the platform API","line429JsxTextRegenerateSandboxToken":"Regenerate Sandbox Token","line431JsxTextThisWillRevokeTheCurrentTokenAndCreate":"This will revoke the current token and create a new one. It will be applied to the sandbox automatically.","line452JsxTextPublicLinks":"Public Links","line457JsxTextNewLink":"New Link","line462JsxTextCreatePublicLink":"Create Public Link","line464JsxTextGenerateATokenBasedPublicUrlForA":"Generate a token-based public URL for a sandbox port.","line479JsxTextExpiresAfter":"Expires after","line483JsxTextText1Hour":"1 hour","line484JsxTextText1Day":"1 day","line485JsxTextText7Days":"7 days","line486JsxTextText30Days":"30 days","line487JsxTextText1Year":"1 year","line497JsxAttrPlaceholderEGChannelsMaster":"e.g. channels-master","line519JsxTextLinkCreated":"Link created","line537JsxTextNoSandboxActive":"No sandbox active","line538JsxTextARunningSandboxIsRequiredToManagePublic":"A running sandbox is required to manage public links.","line559JsxTextNoPublicLinks":"No public links","line560JsxTextCreateALinkToExposeASandboxPort":"Create a link to expose a sandbox port publicly.","line601JsxTextYourKeys":"Your Keys","line606JsxTextCreateKey":"Create Key","line611JsxTextNewApiKey":"New API Key","line618JsxAttrPlaceholderEGCiCdPipeline":"e.g. CI/CD Pipeline","line631JsxAttrPlaceholderWhatIsThisKeyFor":"What is this key for?","line646JsxTextNoExpiration":"No expiration","line647JsxTextText7Days":"7 days","line648JsxTextText30Days":"30 days","line649JsxTextText90Days":"90 days","line650JsxTextText1Year":"1 year","line677JsxTextNoSandboxActive":"No sandbox active","line679JsxTextARunningSandboxIsRequiredToManageApi":"A running sandbox is required to manage API keys.","line703JsxTextTryAgain":"Try Again","line711JsxTextNoApiKeys":"No API keys","line713JsxTextCreateAKeyToAccessYourSandboxProgrammatically":"Create a key to access your sandbox programmatically.","line717JsxTextCreateKey":"Create Key","line746JsxTextLastUsed":"Last used","line762JsxTextRevokeQuot":"Revoke \"","line762JsxTextQuot":"\"","line764JsxTextThisWillImmediatelyInvalidateTheKeyAnyApplications":"This will immediately invalidate the key. Any applications using it will stop working.","line787JsxTextDeleteQuot":"Delete \"","line787JsxTextQuot":"\"","line789JsxTextThisWillPermanentlyRemoveTheKeyThisCannot":"This will permanently remove the key. This cannot be undone.","line818JsxTextPassYourSecretKeyAsABearerToken":"Pass your secret key as a Bearer token:","line818JsxTextAuthorizationBearerKortix":"Authorization: Bearer kortix_...","line821JsxTextKeysAreHashedServerSideAndNeverStored":"Keys are hashed server-side and never stored in plain text. The secret is shown once at creation.","line858JsxTextStoreThisKeySecurelyItCannotBeRetrieved":"Store this key securely. It cannot be retrieved after closing this dialog."},"componentsPagesSettingsCredentialsPage":{"line11JsxTextSecretsManager":"Secrets Manager","line13JsxTextManageEnvironmentVariablesAndApiKeysForYour":"Manage environment variables and API keys for your sandbox."},"componentsPagesSettingsProvidersPage":{"line27JsxTextLlmProviders":"LLM Providers","line29JsxTextConnectModelProvidersThatPowerYourAgent":"Connect model providers that power your agent.","line38JsxTextAddProvider":"Add Provider","line54JsxTextNoProvidersConnectedYet":"No providers connected yet","line61JsxTextConnectYourFirstProvider":"Connect your first provider"},"componentsPagesWorkspacePage":{"line204JsxTextDetailsFor":"details for","line280JsxTextNoAdditionalDetails":"No additional details","line340JsxTextNoItemsMatchYourFilters":"No items match your filters.","line342JsxTextClearFilters":"Clear filters","line350JsxTextNothingHereYet":"Nothing here yet","line352JsxTextUseTheActionsAboveToAddAgentsSkills":"Use the actions above to add agents, skills, commands, tools, or MCP servers.","line501JsxTextAgentsSkillsCommandsToolsAndMcpServers":"Agents, skills, commands, tools, and MCP servers.","line542JsxTextMcpServer":"MCP server"},"componentsProjectsProjectCreateModal":{"line237JsxTextNewProject":"New project","line240JsxTextStartWithAPrivateManagedRepoExistingGithub":"A dedicated space for one company, product, or idea — set up for you.","line251JsxAttrTitleKortixManagedRepository":"Start fresh","line253JsxTextCreatesAPrivateManagedRepoSeedsTheStarter":"We set up your project with starter skills, ready to use. Nothing to configure.","line258JsxTextProjectName":"Project name","line273JsxTextGeneralKnowledgeWorkerSkills":"Starter skills","line275JsxTextIncludePreconfiguredSkillsForResearchAuditSupportBrand":"Comes with ready-made skills for research, writing, documents, slides, data, and the web.","line297JsxTextImportExistingGithubRepo":"Already have code on GitHub? Import it","line320JsxTextCreateProject":"Create project","line330JsxTextImportGithubRepository":"Import GitHub repository","line333JsxTextPickAConnectedGithubAccountThenSearchIts":"Pick a connected GitHub account, then search its repos.","line345JsxTextManagedRepo":"Managed repo","line352JsxTextLoadingGithubConnections":"Loading GitHub connections","line362JsxAttrTitleConnectTheKortixGithubApp":"Connect the Kortix GitHub App","line383JsxTextKortixUsesTheGithubAppToListRepositories":"Kortix uses the GitHub App to list repositories and mint short-lived clone tokens. Git credentials are not stored as project environment secrets.","line391JsxTextGitAccount":"Git account","line405JsxTextAddAccount":"Add account","line417JsxAttrPlaceholderSelectAGithubAccount":"Select a GitHub account","line451JsxTextManageGitConnections":"Manage Git connections","line484JsxAttrTitleNoRepositoriesAvailable":"No repositories available","line485JsxAttrDescriptionUpdateTheGithubAppInstallationToGrantKortix":"Update the GitHub App installation to grant Kortix access to at least one repository.","line511JsxTextProjectName":"Project name","line516JsxAttrPlaceholderUseRepositoryName":"Use repository name","line549JsxTextImportRepo":"Import repo","line623JsxAttrPlaceholderSearchRepositories":"Search repositories...","line631JsxTextNoRepositoriesFound":"No repositories found"},"componentsProjectsProjectProviderModal":{"line151JsxTextLlmProviders":"LLM Providers","line153JsxTextConnectProvidersKeysAreStoredPerProjectAnd":"Connect providers — keys are stored per-project and injected as env vars into every new session sandbox.","line178JsxTextAddProvider":"Add provider","line300JsxTextNoProvidersConnectedYet":"No providers connected yet","line302JsxTextAddProvider":"Add provider","line312JsxTextNoConnectedProvidersMatchLdquo":"No connected providers match “","line312JsxTextRdquo":"”","line361JsxTextDisconnectProvider":"Disconnect provider?","line366JsxTextThisDeletes":"? This deletes","line374JsxTextProjectSecret":"project secret.","line378JsxTextProjectSecrets":"project secrets (","line388JsxTextYouAposLlNeedToReconnectToUse":"You'll need to reconnect to use it again.","line492JsxTextCustomProvider":"Custom provider","line495JsxTextConnectAnyOpenaiCompatibleEndpointWithYourOwn":"Connect any OpenAI-compatible endpoint with your own base URL","line576JsxTextBackToProviders":"Back to providers","line618JsxTextNewestFirst":"newest first","line623JsxTextNoModelsDeclared":"No models declared.","line767JsxTextBackToProviders":"Back to providers","line827JsxTextGetCredentialsFrom":"Get credentials from","line847JsxTextConnecting":"Connecting…","line856JsxTextValuesAreEncryptedAtRestAes256Gcm":"Values are encrypted at rest (AES-256-GCM, per-project key) and injected into every new session sandbox as env vars. Restart any running session for this provider to take effect there.","line983JsxTextBackToProviders":"Back to providers","line987JsxTextCustomProvider":"Custom provider","line989JsxTextConnectAnyOpenaiCompatibleEndpointTheApiKey":"Connect any OpenAI-compatible endpoint. The API key is saved as a project secret; the provider declaration goes in your repo's","line1002JsxTextProviderId":"Provider ID","line1020JsxTextDisplayName":"Display name","line1026JsxAttrPlaceholderMyLlm":"My LLM","line1033JsxTextBaseUrl":"Base URL","line1045JsxTextApiKey":"API key","line1052JsxAttrPlaceholderSkSavedAsAProjectSecret":"sk-… (saved as a project secret)","line1059JsxTextModelId":"Model ID","line1071JsxTextModelName":"Model name","line1077JsxAttrPlaceholderFoo7b":"Foo 7B","line1094JsxTextGenerating":"Generating…","line1136JsxTextYourKeyIsStoredAs":"Your key is stored as","line1138JsxTextAndWillBeInjectedIntoSessionsAsAn":"and will be injected into sessions as an env var.","line1141JsxTextNoApiKeyWasProvidedTheSnippetBelow":"No API key was provided — the snippet below omits the apiKey field.","line1149JsxTextAddTo":"Add to","line1168JsxTextPasteThisIntoYourProjectRepoAposS":"Paste this into your project repo's","line1170JsxTextAndCommitRestartAnyRunningSessionForThe":"and commit. Restart any running session for the change to land in the sandbox.","line1258JsxTextConnectAProviderToSeeItsModels":"Connect a provider to see its models.","line1323JsxTextConnectProvider":"Connect provider"},"componentsProjectsProjectSessionList":{"line120JsxTextFailedToLoadSessions":"Failed to load sessions","line132JsxTextNoSessionsYet":"No sessions yet.","line189JsxTextDeleteSession":"Delete session?","line191JsxTextThisWillPermanentlyDestroyTheBranchAndSandbox":"This will permanently destroy the branch and sandbox for","line193JsxTextThisActionCannotBeUndone":". This action cannot be undone.","line312JsxAttrAriaLabelSessionActions":"Session actions"},"componentsProjectsProjectSidebar":{"line259JsxTextLoading":"Loading…","line261JsxTextNoSessionsYet":"No sessions yet","line510JsxAttrLabelNewSession":"New session"},"componentsProjectsProjectTabBar":{"line35JsxAttrAriaLabelOpenMenu":"Open menu","line231JsxAttrAriaLabelCloseCustomize":"Close Customize","line38JsxAttrAriaLabelOpenMenu":"Open menu"},"componentsProjectsSandboxSnapshotCard":{"line154JsxTextSandboxSnapshot":"Sandbox snapshot","line158JsxTextFailedToLoadSnapshotStatus":"Failed to load snapshot status:","line172JsxTextSandboxSnapshot":"Sandbox snapshot","line174JsxTextEverySessionBootsFromThisProjectAposS":"Every session boots from this project's own Daytona snapshot, built from","line175JsxTextAtTheLatestCommitOn":"at the latest commit on","line176JsxTextThe":". The","line176JsxTextMostRecentReadySnapshotsAreRetained":"most recent ready snapshots are retained.","line186JsxTextBranchHead":"Branch HEAD","line193JsxTextCouldNotResolveHead":"Could not resolve HEAD","line198JsxTextLatestReady":"Latest ready","line204JsxTextBuilt":"· built","line210JsxTextInProgress":"In progress","line223JsxTextNeedsRebuild":"Needs rebuild","line232JsxTextNotBuiltYet":"Not built yet","line258JsxTextRecentBuilds":"Recent builds","line262JsxTextNoSnapshotBuildsYetTheFirstBuildKicks":"No snapshot builds yet. The first build kicks off automatically when the project is created; it typically completes within a few minutes."},"componentsProjectsTriggersView":{"line251JsxTextCronDrivenEntryPointsWhenAScheduleFires":"Run the agent automatically on a schedule.","line270JsxTextSignedHttpEntryPointsWhenARequestHits":"Start a session from signed HTTP POST requests.","line421JsxTextTriggerFile":"trigger file","line421JsxTextFailedToParse":"failed to parse","line623JsxTextFireNow":"Fire now","line744JsxTextSignedViaProjectSecret":"Signed via project secret","line749JsxTextNoSigningSecretConfigured":"No signing secret configured","line758JsxAttrTitleSampleRequest":"Sample request","line776JsxTextBody":"$BODY","line777JsxTextSecret":"$SECRET","line777JsxTextTheSignatureMustCoverTheRawRequestBody":". The signature must cover the raw request body byte-for-byte.","line817JsxAttrTitlePromptTemplate":"Prompt template","line1079JsxTextTriggerSource":"Trigger source","line1085JsxAttrDescriptionTimeBasedSchedule":"Time-based schedule","line1092JsxAttrDescriptionFiresOnHttpRequest":"Fires on HTTP request","line1122JsxTextActionType":"Action type","line1128JsxAttrDescriptionSpawnASessionAndSendThisInstructionTo":"Spawn a session and send this instruction to the agent","line1134JsxTextCommandHttpAndTicketCreateActionsLiveOn":"Command, HTTP, and ticket-create actions live on the legacy in-sandbox triggers system. Cloud triggers always spawn a fresh project session with the rendered prompt.","line1151JsxAttrPlaceholderDailyStandupDigest":"Daily standup digest","line1162JsxAttrPlaceholderGenerateTheDailyStatusReportAndSaveIt":"Generate the daily status report and save it to /workspace/reports/","line1166JsxTextMustachePlaceholdersSupported":"Mustache placeholders supported:","line1325JsxTextSigningSecret":"Signing secret","line1349JsxTextExternalUrl":"External URL","line1355JsxTextWeGenerateTheTriggerIdOnCreatePost":"We generate the trigger id on create. POST a JSON body to this URL with an","line1357JsxTextHeaderSetTo":"header set to","line1359JsxTextSha256LtHmacGt":"sha256=<hmac>","line1360JsxTextComputedOverTheRawBodyWithTheSecret":"computed over the raw body with the secret above.","line1394JsxTextDeleteTrigger":"Delete trigger?","line1402JsxTextAndStopAnyFutureRunsFromItPast":"and stop any future runs from it. Past events are kept for audit.","line1438JsxTextAccessRequired":"Access required","line1440JsxTextYouDonAposTHavePermissionToView":"You don't have permission to view this project's triggers.","line1450JsxTextFailedToLoadTriggers":"Failed to load triggers","line253JsxTextCronDrivenEntryPointsWhenAScheduleFires":"Run the agent automatically on a schedule.","line272JsxTextSignedHttpEntryPointsWhenARequestHits":"Start a session from signed HTTP POST requests."},"componentsProvidersConnectProviderContent":{"line663JsxAttrPlaceholderSearchProviders":"Search providers...","line696JsxTextMoreProviders":"More providers (","line727JsxAttrDescriptionAddAnyOpenaiCompatibleEndpoint":"Add any OpenAI-compatible endpoint","line734JsxTextNoProvidersFound":"No providers found","line744JsxTextAddAnOpenaiCompatibleProvider":"Add an OpenAI-compatible provider.","line751JsxTextLearnMore":"Learn more","line757JsxTextProviderId":"Provider ID","line772JsxTextDisplayName":"Display Name","line776JsxAttrPlaceholderMyProvider":"My Provider","line786JsxTextBaseUrl":"Base URL","line800JsxTextApiKey":"API Key","line815JsxTextToReadFromEnvironment":"to read from environment","line825JsxAttrPlaceholderModelId":"Model ID","line834JsxAttrPlaceholderDisplayName":"Display Name","line869JsxTextSelectLoginMethodFor":"Select login method for","line916JsxTextEnterYour":"Enter your","line916JsxTextApiKey":"API key.","line921JsxTextApiKey":"API Key","line924JsxAttrPlaceholderEnterApiKey":"Enter API key...","line960JsxTextStartingAuthorization":"Starting authorization...","line980JsxTextClickTheButtonBelowToOpenTheAuthorization":"Click the button below to open the authorization page","line987JsxTextSignInAndAuthorizeAccess":"Sign in and authorize access","line994JsxTextAfterRedirectCopyTheFullUrlFromYour":"After redirect, copy the full URL from your browser's address bar (starts with","line1006JsxTextPasteItBelowAndClickConnect":"Paste it below and click Connect","line1021JsxTextOpenAuthorizationPage":"Open Authorization Page","line1026JsxTextPasteTheRedirectUrlHere":"Paste the redirect URL here","line1065JsxTextABrowserTabShouldHaveOpenedAutomaticallyComplete":"A browser tab should have opened automatically. Complete the authorization there, then return here.","line1086JsxTextOpenAuthorizationPage":"Open Authorization Page","line1090JsxTextWaitingForAuthorization":"Waiting for authorization...","line1111JsxTextTryAgain":"Try again"},"componentsProvidersProviderList":{"line103JsxTextNoProvidersConnected":"No providers connected","line112JsxTextConnectAProvider":"Connect a provider","line205JsxTextDisconnectProvider":"Disconnect provider?","line213JsxTextYouAposLlNeedToReEnterYour":"? You'll need to re-enter your API key to use it again."},"componentsProvidersProviderModal":{"line118JsxTextNoProvidersConnectedYet":"No providers connected yet","line126JsxTextAddProvider":"Add provider","line136JsxTextNoConnectedProvidersMatchLdquo":"No connected providers match “","line136JsxTextRdquo":"”","line191JsxTextDisconnectProvider":"Disconnect provider?","line199JsxTextYouAposLlNeedToReconnectItTo":"? You'll need to reconnect it to use it again.","line413JsxTextLlmProviders":"LLM Providers","line415JsxTextConnectProvidersAndManageWhichModelsAppearIn":"Connect providers and manage which models appear in chat.","line442JsxTextAddProvider":"Add provider","line505JsxTextConnectAProviderToSeeItsModels":"Connect a provider to see its models."},"componentsScheduledTasksScheduleBuilder":{"line210JsxTextCustomCronExpression":"Custom cron expression","line219JsxTextText6FieldSecondMinuteHourDayMonthWeekday":"6-field: second minute hour day month weekday","line229JsxTextSwitchToVisualEditor":"Switch to visual editor","line287JsxTextOnDay":"On day","line302JsxTextOfEachMonth":"of each month","line331JsxTextAtMinute":"at minute","line407JsxTextCronExpression":"cron expression","line419JsxTextText6FieldSecMinHourDayMonthWeekday":"6-field: sec min hour day month weekday"},"componentsScheduledTasksScheduledTasksPage":{"line179JsxAttrTitleDeleteTrigger":"Delete trigger","line295JsxTextFailedToLoadTriggersPleaseTryRefreshingThe":"Failed to load triggers. Please try refreshing the page.","line343JsxAttrPlaceholderSearchTriggers":"Search triggers...","line366JsxTextAddTrigger":"Add Trigger","line380JsxAttrTitleCreateATrigger":"Create a trigger","line381JsxAttrDescriptionAutomateWithTriggersScheduleCronJobsSetUp":"Automate with triggers. Schedule cron jobs, set up webhooks, run commands, or call HTTP endpoints — all from one place.","line385JsxTextAddTrigger":"Add Trigger"},"componentsScheduledTasksTaskConfigDialog":{"line217JsxTextCreateTrigger":"Create trigger","line232JsxTextTriggerSource":"Trigger source","line249JsxTextTimeBasedSchedule":"Time-based schedule","line267JsxTextFiresOnHttpRequest":"Fires on HTTP request","line293JsxTextExternalUrl":"External URL","line298JsxTextSendA":"Send a","line298JsxTextRequestToThisUrlToFireTheTrigger":"request to this URL to fire the trigger.","line305JsxTextSecretOptional":"Secret (optional)","line317JsxTextActionType":"Action type","line374JsxAttrPlaceholderDailyReport":"Daily Report","line382JsxTextBindToTicketOptional":"Bind to ticket (optional)","line385JsxAttrPlaceholderNoTicket":"No ticket","line388JsxTextNoTicketGenericProjectTrigger":"No ticket — generic project trigger","line397JsxTextEachFireThreadsOntoOneSessionPerTicket":"Each fire threads onto one session per ticket — the agent sees prior fires and can post","line397JsxTextStatusUpdates":"status updates.","line408JsxAttrPlaceholderGenerateTheDailyStatusReportAndSaveIt":"Generate the daily status report and save it to /workspace/reports/","line411JsxTextTheInstructionSentToYourAgentOnEach":"The instruction sent to your agent on each run","line415JsxTextSessionMode":"Session Mode","line421JsxTextNewSession":"New Session","line422JsxTextReuseSession":"Reuse Session","line444JsxTextLoadingModels":"Loading models...","line467JsxAttrPlaceholderCScriptsBackupSh":"[\"-c\", \"./scripts/backup.sh\"]","line468JsxTextJsonArrayOrSpaceSeparated":"JSON array or space-separated","line471JsxTextWorkingDirectoryOptional":"Working Directory (optional)","line499JsxTextBodyTemplateOptional":"Body Template (optional)","line500JsxAttrPlaceholderTextAlertMessage":"{\"text\": \"Alert: {{ message }}\"}","line509JsxTextTicketTitle":"Ticket title","line514JsxAttrPlaceholderSummarySource":"{{ summary }} — {{ source }}","line519JsxTextBodyOptional":"Body (optional)","line524JsxAttrPlaceholderFromUserNNText":"From {{ user }}:\\n\\n{{ text }}","line529JsxTextLandInColumn":"Land in column","line532JsxAttrPlaceholderBacklogDefault":"Backlog (default)","line535JsxTextFirstColumnDefault":"First column (default)","line543JsxTextAssignTo":"Assign to","line548JsxAttrPlaceholderEngineerQa":"engineer,qa","line552JsxTextCommaSeparatedAgentSlugs":"Comma-separated agent slugs."},"componentsScheduledTasksTaskDetailPanel":{"line219CallConfirmAreYouSureYouWantToDeleteThis":"Are you sure you want to delete this task? This cannot be undone.","line316JsxTextWebhookPath":"Webhook Path","line322JsxTextExternalUrl":"External URL","line326JsxTextExampleCurl":"Example curl","line351JsxAttrPlaceholderTheInstructionSentToYourAgent":"The instruction sent to your agent...","line360JsxTextSessionMode":"Session Mode","line369JsxTextNewSession":"New Session","line370JsxTextReuseSession":"Reuse Session","line397JsxTextNextRun":"Next run","line403JsxTextLastRun":"Last run","line457JsxTextPauseTrigger":"Pause Trigger","line462JsxTextResumeTrigger":"Resume Trigger","line486JsxTextNoExecutionsYet":"No executions yet","line488JsxTextExecutionsWillAppearHereOnceTheTriggerRuns":"Executions will appear here once the trigger runs","line547JsxTextOpenSession":"Open session `","line552JsxTextExitCode":"Exit code:"},"componentsSecretsSecretsManager":{"line118JsxAttrPlaceholderFilterKeys":"Filter keys...","line196JsxAttrPlaceholderEnterValue":"Enter value...","line205JsxTextRemoveThisKey":"Remove this key?"},"componentsSessionCompactDialog":{"line47JsxTextCompactSession":"Compact Session","line50JsxTextThisWillSummarizeOlderMessagesUsingAiTo":"This will summarize older messages using AI to free up context space. Key information is preserved, but original messages will be condensed into a compact summary.","line56JsxTextWhatHappensDuringCompaction":"What happens during compaction:","line58JsxTextOlderMessagesAreSummarizedIntoAConciseRecap":"Older messages are summarized into a concise recap","line59JsxTextToolOutputsAndFileChangesArePreservedAs":"Tool outputs and file changes are preserved as references","line60JsxTextRecentMessagesRemainUnchanged":"Recent messages remain unchanged"},"componentsSessionDiagnosticsPanel":{"line152JsxTextCol":", Col","line339JsxTextNoDiagnostics":"No diagnostics","line405JsxTextNoDiagnostics":"No diagnostics","line421JsxTextNoDiagnostics":"No diagnostics"},"componentsSessionDiffDialog":{"line32JsxTextFileChanges":"File Changes"},"componentsSessionExportTranscriptModal":{"line118JsxTextExportTranscript":"Export Transcript","line121JsxTextExportThisSessionAsAMarkdownFileConfigure":"Export this session as a Markdown file. Configure what to include below.","line131JsxTextAssistantMetadata":"Assistant metadata","line131JsxTextAssistantMetadataDescription":"Include agent name, model, and response duration in headers.","line145JsxTextToolCallDetails":"Tool call details","line145JsxTextToolCallDetailsDescription":"Include tool inputs, outputs, and errors in collapsible sections.","line159JsxTextThinkingReasoning":"Thinking / reasoning","line159JsxTextThinkingReasoningDescription":"Include the model's internal reasoning blocks as quoted text.","line176JsxTextLoadingMessages":"Loading messages...","line224JsxTextDownloadMd":"Download .md"},"componentsSessionModelSelector":{"line207JsxAttrAriaLabelModelPicker":"Model picker","line218JsxTextChooseModel":"Choose model","line224JsxAttrPlaceholderSearchModels":"Search models...","line239JsxTextConnectProvider":"Connect provider","line251JsxTextManageModels":"Manage models","line304JsxTextNoModelsFound":"No models found"},"componentsSessionOpencodeSettingsDialog":{"line152JsxTextCustomInstructions":"Custom Instructions","line155JsxTextAdditionalInstructionFilePathsOnePerLineE":"Additional instruction file paths, one per line (e.g. docs/rules.md)","line165JsxAttrPlaceholderDocsRulesMd10Cursorrules10AgentsMd":"docs/rules.md\n.cursorrules\nAGENTS.md","line174JsxTextDefaultModel":"Default Model","line190JsxTextResetToAuto":"Reset to auto","line207JsxTextCreateAGitSnapshotAtEachAgenticStep":"Create a git snapshot at each agentic step for reviewing changes","line242JsxTextConnected":"Connected (","line333JsxTextGlobalPermissionMode":"Global Permission Mode","line336JsxTextSetABlanketPermissionLevelOrConfigurePer":"Set a blanket permission level, or configure per-tool below.","line375JsxTextPerToolPermissions":"Per-Tool Permissions","line411JsxTextToolOverrides":"Tool Overrides","line414JsxTextEnableOrDisableIndividualTools":"Enable or disable individual tools.","line467JsxTextNeedsAuth":"needs auth","line660JsxTextStartingAuthorization":"Starting authorization...","line667JsxTextVisitThe":"Visit the","line669JsxTextAuthorizationPage":"authorization page","line671JsxTextAndAfterItRedirectsToLocalhostPasteThe":"and after it redirects to `localhost`, paste the full redirected URL below.","line674JsxTextLocalhostRedirectUrl":"Localhost Redirect URL","line676JsxAttrPlaceholderPasteHttpLocalhostCallback":"Paste http://localhost:.../callback?...","line715JsxTextTryAgain":"Try again","line736JsxTextAddMcpServer":"Add MCP Server","line742JsxTextServerName":"Server Name","line753JsxTextTransportType":"Transport Type","line762JsxTextStdioCommand":"Stdio (command)","line771JsxTextHttpUrl":"HTTP (URL)","line781JsxAttrPlaceholderNpxYModelcontextprotocolServerGithub":"npx -y @modelcontextprotocol/server-github","line786JsxTextFullCommandWithArgumentsSpaceSeparated":"Full command with arguments, space-separated","line803JsxTextEnvironmentVariables":"Environment Variables","line874JsxTextServers":"Servers (","line883JsxTextAddServer":"Add Server","line1007JsxTextNoMcpServersConfigured":"No MCP servers configured","line1009JsxTextAddAnMcpServerToExtendAvailableTools":"Add an MCP server to extend available tools","line1097JsxTextConfigureOpencodeSettingsIncludingGeneralOptionsProvidersAnd":"Configure OpenCode settings including general options, providers, and permissions.","line1124JsxTextMcpServers":"MCP Servers","line1178JsxTextSaveChanges":"Save Changes"},"componentsSessionSandboxImage":{"line96JsxTextImageUnavailable":"Image unavailable"},"featuresSessionComposerTokenProgress":{"titleHealthy":"Conversation space","titleWarning":"Getting full","titleDanger":"Almost full","percentFull":"{percent}% full","tipWarning":"Longer chats may forget earlier messages.","tipDanger":"Older messages may drop soon.","viewDetails":"View details","labelInput":"Input","labelCached":"Cached","labelOutput":"Output","labelReasoning":"Reasoning","usedCount":"{used} used","remainingCount":"{remaining} left","windowMeta":"{limit} window","modelUnknown":"Current model","meterLabel":"Context usage"},"componentsSessionSessionActionsPanel":{"line152JsxTextNoActionsYet":"No actions yet.","line185JsxAttrAriaLabelPreviousAction":"Previous action","line212JsxTextJumpToLatest":"Jump to latest","line223JsxAttrAriaLabelNextAction":"Next action"},"componentsSessionSessionChatInput":{"line210JsxAttrAriaLabelAgentPicker":"Agent picker","line223JsxTextSwitchAgent":"Switch agent","line230JsxAttrPlaceholderSearchAgents":"Search agents...","line272JsxTextNoAgentsMatchLdquo":"No agents match “","line272JsxTextRdquo":"”","line321JsxTextCycleThinkingEffort":"Cycle thinking effort","line735JsxTextK":"k /","line735JsxTextKTokens":"k tokens","line736JsxTextUsed":"% used","line1112JsxTextSearching":"Searching…","line1152JsxTextTasksDone":"tasks done","line2021JsxTextDropFilesToAttach":"Drop files to attach","line2061JsxAttrAriaLabelClearReply":"Clear reply","line2101JsxAttrAriaLabelCancelCommand":"Cancel command","line2128JsxTextAddToQueue":"Add to queue","line2168JsxTextEnterDetailsAndPressEnterOrPressEsc":"Enter details and press Enter, or press Esc to cancel","line2220JsxAttrAcceptImagePdfTxtMdJsonCsvXmlYaml":"image/*,.pdf,.txt,.md,.json,.csv,.xml,.yaml,.yml,.toml,.js,.ts,.jsx,.tsx,.py,.rb,.go,.rs,.java,.c,.cpp,.h,.css,.html,.vue,.svelte,.log,.sql,.zip,.tar,.gz,.rar","line2235JsxTextAttachFiles":"Attach files","line211JsxAttrAriaLabelAgentPicker":"Agent picker","line224JsxTextSwitchAgent":"Switch agent","line231JsxAttrPlaceholderSearchAgents":"Search agents...","line273JsxTextNoAgentsMatchLdquo":"No agents match “","line273JsxTextRdquo":"”","line322JsxTextCycleThinkingEffort":"Cycle thinking effort","line736JsxTextK":"k /","line736JsxTextKTokens":"k tokens","line737JsxTextUsed":"% used","line1113JsxTextSearching":"Searching…","line1153JsxTextTasksDone":"tasks done","line2038JsxTextDropFilesToAttach":"Drop files to attach","removeQuoteAriaLabel":"Remove quote","line2118JsxAttrAriaLabelCancelCommand":"Cancel command","line2145JsxTextAddToQueue":"Add to queue","line2185JsxTextEnterDetailsAndPressEnterOrPressEsc":"Enter details and press Enter, or press Esc to cancel","line2252JsxTextAttachFiles":"Attach files"},"componentsSessionSessionChat":{"line1124JsxTextRarr":"→","line3820JsxTextWaitingToRetry":"Waiting to retry","line5829JsxTextThisSessionIsNotAccessibleRightNow":"This session is not accessible right now.","line5841JsxTextGoToHome":"← Go to home","line5935JsxTextRetryingConnection":"Retrying connection...","line5962JsxTextCompactingSession":"Compacting session...","line6103JsxTextScrollToBottom":"Scroll to bottom","line6266JsxTextSendNow":"Send now","line1130JsxTextRarr":"→","line3826JsxTextWaitingToRetry":"Waiting to retry","line5996JsxTextThisSessionIsNotAccessibleRightNow":"This session is not accessible right now.","line6008JsxTextGoToHome":"← Go to home","line6102JsxTextRetryingConnection":"Retrying connection...","line6129JsxTextCompactingSession":"Compacting session...","line6270JsxTextScrollToBottom":"Scroll to bottom","line6433JsxTextSendNow":"Send now","line5821JsxTextThisSessionIsNotAccessibleRightNow":"This session is not accessible right now.","line5833JsxTextGoToHome":"← Go to home","line5927JsxTextRetryingConnection":"Retrying connection...","line5954JsxTextCompactingSession":"Compacting session...","line6095JsxTextScrollToBottom":"Scroll to bottom"},"componentsSessionSessionContextModal":{"title":"Session usage","description":"What this session has used so far — model, messages, and cost.","copyJson":"Copy JSON","copied":"Copied","statModel":"Model","statCost":"Total cost","statMessages":"Messages","statContextUsed":"Context used","legendSystem":"Instructions","legendUser":"Your messages","legendAssistant":"Replies","legendTool":"Tool results","legendOther":"Other","subAgentsLabel":"Sub-agents","subAgentsNote":"This session started helper sessions. The totals below include them.","combinedCost":"Combined cost","combinedMessages":"Combined messages","tokensIn":"Tokens in","tokensOut":"Tokens out","treeMessages":"messages","detailInput":"Input tokens","detailOutput":"Output tokens","detailReasoning":"Reasoning tokens","detailCache":"Cache read / write","detailUserMessages":"Your messages","detailAssistantMessages":"Assistant replies","detailStarted":"Session started","detailLastReply":"Last reply","rawLabel":"Raw message data","rawDescription":"The exact messages exchanged with the model. Useful for debugging.","showMore":"Show more","rawSearchPlaceholder":"Search messages","rawFilterAll":"All","rawFilterUser":"You","rawFilterAssistant":"Assistant","rawNoMatches":"No matching messages","detailsLabel":"Details"},"componentsSessionSessionDiffViewer":{"line186JsxAttrTitleUnifiedView":"Unified view","line198JsxAttrTitleSideBySideView":"Side-by-side view","line355JsxTextFailedToLoadChanges":"Failed to load changes","line370JsxTextNoChangesYet":"No changes yet","line372JsxTextFileChangesWillAppearHereAsTheSession":"File changes will appear here as the session progresses"},"componentsSessionSessionErrorBanner":{"line58JsxAttrTitleYouRanOutOfCredits":"You ran out of credits","line74JsxTextEnableAutoTopUp":"Enable auto top-up","line82JsxTextBuyCredits":"Buy credits"},"componentsSessionSessionFilesPanel":{"line80JsxTextThisSessionIsItsOwnVersion":"This session is its own version","line83JsxTextChangesHereLiveOnAStandaloneVersionOf":"Changes here live in this session's own copy of your project, separate from","line85JsxTextSoYouCanWorkInParallelWithoutAffecting":", so you can work in parallel without affecting it. To make them part of your project, ask your agent to propose the","line88JsxTextChangeRequest":"changes for review","line89JsxTextYouCanReviewAndMergeItInto":"; you approve and apply them to","line91JsxTextWheneverYouAposReReady":"whenever you're ready.","line96JsxTextAskAgentToOpenAChangeRequest":"Ask agent to propose these changes","line113JsxTextLoadingChanges":"Loading changes…","line151JsxTextNoChangesYetFilesTheAgentCreatesOr":"No changes yet. Files the agent creates or edits in this session will show up here.","line144JsxTextInThisSessionTheseLiveOnlyHereUntil":"in this session — these live only here until merged into","line149JsxTextFilesTheAgentChangesHereLiveOnlyIn":"Files the agent changes here live only in this session until merged into","line167JsxTextOpenChangeRequest":"Open change request","line180JsxTextMergeTo":"Merge to","line194JsxTextOpenChangeRequest":"Open change request","line196JsxTextProposeMergingThisSessionAposS":"Propose merging this session's","line196JsxTextChangedFile":"changed file","line224JsxAttrPlaceholderWhatChangedAndWhyOptional":"What changed and why (optional)","line242JsxTextOpenChangeRequest":"Open change request","line256JsxTextThisBringsThisSessionAposS":"This brings this session's","line256JsxTextChangedFile":"changed file","line257JsxTextIntoThe":"into the","line258JsxTextBranchAChangeRequestIsCreatedAndMerged":"branch. A change request is created and merged for the record.","line91JsxTextWheneverYouReReady":"whenever you're ready."},"componentsSessionSessionLayout":{"line348JsxAttrAriaLabelSidePanelView":"Side panel view","line370JsxAttrAriaLabelClosePanel":"Close panel","line376JsxTextClosePanel":"Close panel","line378JsxTextI":"⌘I","line326JsxAttrAriaLabelSidePanelView":"Side panel view","line348JsxAttrAriaLabelClosePanel":"Close panel","line353JsxTextClosePanel":"Close panel"},"componentsSessionSessionSiteHeader":{"line105JsxTextMoreActions":"More actions","line118JsxTextViewChanges":"View changes","line124JsxTextExportTranscript":"Export transcript","line130JsxTextCompactSession":"Compact session","line162JsxTextOpenBrowser":"Open browser","line188JsxTextI":"⌘I","line185JsxTextI":"⌘I"},"componentsSessionSubSessionModal":{"line68JsxTextOpenInTab":"Open in tab"},"componentsSessionToolRenderers":{"line380JsxTextLoadingPreview":"Loading preview...","line387JsxTextFailedToLoad":"Failed to load","line475JsxTextOpenInBrowser":"Open in browser","line491JsxTextOpenAsTab":"Open as tab","line851JsxTextConnectorRequestFailed":"Connector request failed","line1597JsxTextStackTrace":"Stack trace","line1730JsxTextObservation":"Observation #","line1811JsxTextPrompt":"Prompt #","line1823JsxTextFilesRead":"Files read","line1847JsxTextLtm":"LTM #","line2011JsxTextConf":"% conf","line2350JsxTextTruncated":"... (truncated)","line2465JsxTextPreparingCommand":"Preparing command...","line2624JsxTextTerminalOutput":"Terminal output","line2685JsxTextGt":">","line2853JsxTextWaitingForFileContent":"Waiting for file content...","line3044JsxTextApplyingPatch":"Applying patch…","line3420JsxAttrMessageNoMatchingFilesFound":"No matching files found","line3485JsxAttrMessageNoMatchingResultsFound":"No matching results found","line3534JsxAttrMessageDirectoryIsEmpty":"Directory is empty","line3806JsxTextWebSearch":"Searching","line4240JsxTextImageSearch":"Image Search","line4414JsxTextLoadingImagePreview":"Loading image preview...","line4612JsxTextCreatedSlide":"Created slide","line4935JsxTextPreparingOutput":"Preparing output...","line5016JsxTextOpenInBrowser":"Open in browser","line5032JsxTextOpenAsTab":"Open as tab","line5235JsxTextContextInfo":"Context Info","line5270JsxTextLegacyConnectorTool":"Legacy Connector Tool","line5283JsxTextThisLegacyConnectorToolSurfaceHasBeenRemoved":"This legacy connector tool surface has been removed while connectors are rebuilt.","line5824JsxTextMsgs":"msgs ·","line5856JsxTextNoMessagesInThisSession":"No messages in this session","line6183JsxAttrMessageNoBackgroundSessions":"No background sessions","line6211JsxTextWorkspaceDeleteDisabled":"Workspace delete disabled","line6401JsxTextStarting":"Starting…","line6574JsxTextMessage":"Message →","line6643JsxTextTaskApproved":"Task approved","line6678JsxTextAgentStopped":"Agent stopped","line6903JsxTextTaskRemoved":"Task removed","line7398JsxTextSettingUpConnectors":"Setting up connectors...","line7845JsxTextExpectedOneOf":"Expected one of:","line7883JsxTextStackTrace":"Stack trace","line8026JsxTextAllowAlways":"Allow always","line8034JsxTextAllowOnce":"Allow once","line5781JsxTextMsgs":"msgs ·","line5813JsxTextNoMessagesInThisSession":"No messages in this session","line6140JsxAttrMessageNoBackgroundSessions":"No background sessions","line6168JsxTextWorkspaceDeleteDisabled":"Workspace delete disabled","line6357JsxTextStarting":"Starting…","line6520JsxTextMessage":"Message →","line6589JsxTextTaskApproved":"Task approved","line6624JsxTextAgentStopped":"Agent stopped","line6849JsxTextTaskRemoved":"Task removed","line7344JsxTextSettingUpConnectors":"Setting up connectors...","line7791JsxTextExpectedOneOf":"Expected one of:","line7829JsxTextStackTrace":"Stack trace","line7972JsxTextAllowAlways":"Allow always","line7980JsxTextAllowOnce":"Allow once","line413JsxAttrSandboxAllowSameOriginAllowScriptsAllowFormsAllow":"allow-same-origin allow-scripts allow-forms allow-popups allow-downloads allow-modals","line1847JsxTextLTM":"LTM #","line2685JsxTextText":">"},"componentsSettingsAccountSettingsModal":{"line95JsxTextAccountSettings":"Account settings","line103JsxTextAccountSettings":"Account settings"},"componentsSettingsAppearanceTab":{"line115JsxTextChooseAColorModeAndWallpaper":"Choose a color mode and wallpaper.","line122JsxTextColorMode":"Color Mode","line120JsxTextChooseAColorModeWallpaperAndLayoutOptions":"Choose a color mode, wallpaper, and layout options.","line127JsxTextColorMode":"Color Mode","line180JsxTextSessionTabs":"Session tabs","line182JsxTextShowATabBarAtTheTopOf":"Show a tab bar at the top of projects and the dashboard to switch between open sessions."},"componentsSettingsCliTokensTab":{"line94JsxTextLastUsed":"Last used","line105JsxAttrTitleManagePermissionPolicies":"Manage permission policies","line128JsxTextAnyCliUsingItWillBeSignedOut":"? Any CLI using it will be signed out.","line181JsxTextCliTokens":"CLI tokens","line184JsxTextPersonalAccessTokensForThe":"Personal Access Tokens for the","line186JsxTextCliEachTokenAuthenticatesAsYouTreatThem":"CLI. Each token authenticates as you — treat them like passwords.","line191JsxTextNewToken":"New token","line235JsxTextUsingTheCli":"Using the CLI","line274JsxTextTokenCreated":"Token created ·","line277JsxTextCopyItNowItWonAposTBe":"Copy it now — it won't be shown again. Then run","line279JsxTextKortixLoginTokenLtPasteGt":"kortix login --token <paste>","line281JsxTextInYourTerminal":"in your terminal.","line317JsxTextTokenName":"Token name","line329JsxTextUsedOnlyToRecognizeThisTokenLater":"Used only to recognize this token later.","line363JsxTextNoTokensYet":"No tokens yet","line365JsxTextNewToken":"New token","line365JsxTextAboveToMintYourFirstOne":"above to mint your first one.","line368JsxTextNewToken":"New token"},"componentsSettingsUserSettingsModal":{"line876JsxTextKeyboardShortcuts":"Keyboard Shortcuts","line878JsxTextViewAndCustomizeKeyboardShortcutsForTabNavigation":"View and customize keyboard shortcuts for tab navigation.","line884JsxTextModifierKey":"Modifier key","line886JsxTextChooseWhichModifierKeyIsUsedForTab":"Choose which modifier key is used for tab shortcuts.","line915JsxTextAllShortcuts":"All shortcuts","line956JsxTextChooseASoundPackAndConfigureWhichEvents":"Choose a sound pack and configure which events play sounds","line962JsxTextSoundPack":"Sound Pack","line1012JsxTextSoundEvents":"Sound Events","line1075JsxTextConfigureHowAndWhenYouReceiveNotifications":"Configure how and when you receive notifications","line1082JsxTextYourBrowserDoesNotSupportNotifications":"Your browser does not support notifications.","line1091JsxAttrLabelEnableNotifications":"Enable Notifications","line1108JsxTextNotificationTypes":"Notification Types","line1112JsxAttrLabelTaskCompletions":"Task Completions","line1113JsxAttrDescriptionWhenASessionFinishesItsTask":"When a session finishes its task","line1120JsxAttrDescriptionWhenASessionEncountersAnError":"When a session encounters an error","line1127JsxAttrDescriptionWhenKortixNeedsYourInputToContinue":"When Kortix needs your input to continue","line1133JsxAttrLabelPermissionRequests":"Permission Requests","line1134JsxAttrDescriptionWhenKortixNeedsPermissionToUseATool":"When Kortix needs permission to use a tool","line1147JsxAttrLabelOnlyWhenTabIsHidden":"Only When Tab is Hidden","line1148JsxAttrDescriptionOnlyNotifyWhenYouReOnAnotherTab":"Only notify when you're on another tab or app","line1154JsxAttrLabelNotificationSound":"Notification Sound","line1155JsxAttrDescriptionPlayASoundWhenANotificationIsSent":"Play a sound when a notification is sent","line1164JsxTextSendTestNotification":"Send Test Notification","line1251JsxTextNewKortix":"New Kortix","line1256JsxTextNoInstancesYet":"No instances yet.","line1551JsxTextCreditsInstancesAndSubscription":"Credits, instances, and subscription.","line1556JsxAttrTitleYouRanOutOfCredits":"You ran out of credits.","line1621JsxTextAutoTopUp":"Auto top-up","line1623JsxTextNeverRunOutAgain":"Never run out again","line1633JsxTextBuyCredits":"Buy credits","line1634JsxTextOneTimeTopUp":"One-time top-up","line1711JsxTextLearnMoreAboutCredits":"Learn More about Credits","line1723JsxTextCreditLedger":"Credit ledger","line1725JsxTextLedgerBackedAccountEventsFromTheKortixSchema":"Ledger-backed account events from the Kortix schema: purchases, grants, usage, expirations, refunds, and bonuses."},"componentsSidebarSessionList":{"line208JsxTextWaitingForYourInput":"waiting for your input","line906JsxTextNoSessionsYet":"No sessions yet","line907JsxTextStartANewSessionToGetGoing":"Start a new session to get going","line941JsxTextShowMore":"Show more (","line966JsxTextArchiveSession":"Archive session","line968JsxTextAreYouSureYouWantToArchive":"Are you sure you want to archive","line969JsxTextLdquo":"“","line969JsxTextRdquo":"”","line971JsxTextYouCanRestoreItLaterFromTheArchived":"You can restore it later from the archived list.","line1005JsxTextRenameSession":"Rename session","line1007JsxTextEnterANewNameForThisSession":"Enter a new name for this session.","line1017JsxAttrPlaceholderSessionTitle":"Session title..."},"componentsSidebarSidebarLeft":{"line340JsxTextNoSessionsYet":"No sessions yet","line461JsxTextBackingUpSandbox":"Backing up sandbox","line488JsxTextUpdateFailed":"Update failed","line587JsxTextUpdating":"Updating…","line679JsxTextPreviousChats":"Previous Chats","line777JsxTextConvertAllPreviousChats":"Convert all previous chats?","line779JsxTextThisWillConvert":"This will convert","line779JsxTextPreviousChatsIntoSessionsTheProcessRunsIn":"previous chats into sessions. The process runs in the background, but may take a few minutes depending on the number of chats.","line784JsxTextConvertAll":"Convert all","line858JsxAttrAriaLabelSubscriptionCancelledClickToReactivate":"Subscription cancelled — click to reactivate","line869JsxTextSubscriptionCancelled":"Subscription cancelled","line878JsxAttrTitleSubscriptionCancelled":"Subscription cancelled","line880JsxTextThisInstanceWillBeDeleted":"This instance will be deleted","line880JsxTextAllDataWillBePermanentlyRemoved":". All data will be permanently removed.","line1042JsxTextConfigDegradedRuntimeStillHealthy":"Config degraded — runtime still healthy","line1063JsxTextConfigIgnored":"Config ignored","line1066JsxTextRuntimeHealthy":"Runtime healthy","line1095JsxTextMoreSource":"more source","line1304JsxAttrAriaLabelCollapseSidebar":"Collapse sidebar","line1339JsxAttrLabelNewSession":"New session"},"componentsSidebarSidebarRight":{"line168JsxTextQuickActions":"Quick Actions","line169JsxTextQuickActionsAndNavigation":"Quick actions and navigation","line177JsxTextQuickActions":"Quick Actions","line283JsxAttrAriaLabelToggleSidebar":"Toggle Sidebar","line286JsxAttrTitleToggleSidebar":"Toggle Sidebar","line327JsxTextQuickActions":"Quick Actions"},"componentsSidebarSshKeyDialog":{"line140JsxTextPrivateKeyHiddenClickToCopyFullCommand":"Private key hidden — click to copy full command","line173JsxTextLetYourAiAgentDoIt":"Let your AI agent do it","line175JsxTextCopyThisPromptInto":"Copy this prompt into","line176JsxTextClaudeCodeCursorCodex":"Claude Code, Cursor, Codex","line177JsxTextItContainsYourKeySoTheAgentSets":"— it contains your key so the agent sets everything up.","line180JsxAttrLabelAgentPrompt":"Agent prompt","line187JsxTextOrManually":"or manually","line195JsxTextSaveSshKeyAmpConnect":"Save SSH key & connect","line198JsxTextContainsPrivateKey":"Contains private key","line203JsxTextRunOnceInYourTerminalSavesYourKey":"Run once in your terminal — saves your key and opens an SSH session.","line205JsxAttrLabelSetupCommand":"Setup command","line206JsxTextReconnectLater":"Reconnect later:","line207JsxAttrLabelSshCommand":"SSH command","line215JsxTextOpenInYourEditor":"Open in your editor","line222JsxTextCursorVsCode":"Cursor / VS Code","line227JsxTextAddHostToSshConfigRunOnce":"Add host to SSH config (run once):","line228JsxAttrLabelSshConfig":"SSH config","line231JsxTextCmdShiftP":"Cmd+Shift+P","line233JsxTextRemoteSshConnectToHost":"Remote-SSH: Connect to Host","line243JsxTextTerminalPlainSsh":"Terminal / Plain SSH","line245JsxAttrLabelSshCommand":"SSH command","line259JsxTextDownloadKeyFile":"Download key file","line365JsxTextSshAccess":"SSH Access","line368JsxTextConnectToYourKortixInstanceViaYourIde":"Connect to your Kortix instance via your IDE so it feels like home.","line389JsxTextGenerating":"Generating…","line391JsxTextGenerateSshKey":"Generate SSH Key","line395JsxTextGeneratesAFreshEd25519KeypairAndConfiguresSsh":"Generates a fresh ed25519 keypair and configures SSH access.","line400JsxTextReconnectCommand":"Reconnect command"},"componentsTabsBrowserTabContent":{"line97JsxTextConnectingToBrowser":"Connecting to browser…","line122JsxAttrTitleOpenInNewTab":"Open in new tab","line135JsxTextBrowserUnavailable":"Browser unavailable","line137JsxTextTheBrowserViewerPort9224IsNotReachable":"The browser viewer (port 9224) is not reachable. The sandbox may still be starting.","line152JsxAttrTitleAgentBrowser":"Agent Browser"},"componentsTabsDesktopTabContent":{"line99JsxTextConnectingToDesktop":"Connecting to desktop…","line124JsxAttrTitleOpenInNewTab":"Open in new tab","line137JsxTextDesktopUnavailable":"Desktop unavailable","line139JsxTextTheDesktopStreamPort6080IsNotReachable":"The desktop stream (port 6080) is not reachable. The sandbox may still be starting up.","line154JsxAttrTitleSandboxDesktop":"Sandbox Desktop"},"componentsTabsPageTabContent":{"line164JsxTextPageNotFound":"Page not found"},"componentsTabsPreviewTabContent":{"line357JsxAttrPlaceholderTypeAUrlOrLocalhostPort":"Type a URL or localhost:PORT...","line370JsxTextInternalBrowser":"Internal Browser","line372JsxTextBrowseAnyWebsiteOrServiceRunningInsideThe":"Browse any website or service running inside the sandbox. Type a URL like","line373JsxTextInTheAddressBarAbove":"in the address bar above.","line451JsxAttrPlaceholderTypeAUrlOrLocalhostPort":"Type a URL or localhost:PORT...","line468JsxAttrTitleOpenInBrowser":"Open in browser","line481JsxTextLoadingPreview":"Loading preview...","line492JsxTextFailedToLoadPreview":"Failed to load preview"},"componentsTabsRunningServicesPanel":{"line285JsxTextNoServicesFound":"No services found","line438JsxTextServiceManager":"Service Manager","line450JsxAttrPlaceholderSearchServices":"Search services...","line500JsxTextNoServicesMatchingLdquo":"No services matching “","line500JsxTextRdquo":"”","line548JsxTextLoading":"Loading…","line551JsxTextNoLogsCapturedYet":"No logs captured yet.","line565JsxTextRegisterAService":"Register a service","line572JsxTextServiceId":"Service ID","line576JsxTextSourcePath":"Source path","line580JsxTextStartCommand":"Start command","line581JsxAttrPlaceholderBunServerJs":"bun server.js","line584JsxTextOptionalAutoAssignedIfEmpty":"(optional — auto-assigned if empty)","line602JsxTextRestartInstance":"Restart Instance","line605JsxTextConfigOnly":"Config Only","line605JsxTextHotReloadAgentsSkillsCommandsAndConfigFast":"— Hot-reload agents, skills, commands, and config. Fast (~2s). Use after editing .md files or opencode.jsonc.","line606JsxTextFullRestart":"Full Restart","line606JsxTextKillAndRestartEveryServiceOpencodeStaticServer":"— Kill and restart every service (OpenCode, static server, kortix-master). Clears all module caches. Use after editing .ts plugin/route code. Active sessions will be interrupted.","line613JsxTextConfigOnly":"Config Only","line567JsxTextRegisterAServiceItWillAutostartAnd":"Register a service. It starts automatically and remains available after reloads.","line287JsxTextServicesWillAppearHereWhenKortixMasterStartsManagingThem":"Services will appear here when Kortix Master starts managing them. Register a service or wait for the built-in services to come online."},"componentsTabsTabBar":{"line312JsxAttrPlaceholderFilterTabs":"Filter tabs...","line343JsxTextNoMatchingTabs":"No matching tabs","line1094JsxAttrAriaLabelOpenMenu":"Open menu","line1101JsxAttrAriaLabelQuickActions":"Quick actions","line1188JsxTextNewTab":"New tab","line1204JsxTextOpenTabList":"Open tab list"},"componentsTabsTerminalTabContent":{"line135JsxTextTerminalSessionEnded":"Terminal session ended","line143JsxTextNewTerminal":"New Terminal"},"componentsThreadDeleteconfirmationdialog":{"line47JsxTextDeleteConversation":"Delete conversation","line49JsxTextAreYouSureYouWantToDeleteThe":"Are you sure you want to delete the conversation","line52JsxTextThisActionCannotBeUndone":"This action cannot be undone."},"componentsThreadContentSandboxUrlDetector":{"line186JsxTextFailedToLoad":"Failed to load","line385JsxTextOpenInBrowser":"Open in browser","line509JsxTextOpenInBrowser":"Open in browser","line521JsxTextOpenPreview":"Open preview","line590JsxTextEndpointsMentionedInCode":"Endpoints mentioned in code"},"componentsThreadFileAttachmentAttachmentgroup":{"line173JsxTextRemoveFile":"Remove file","line211JsxTextAllFiles":"All Files (","line256JsxTextRemoveFile":"Remove file"},"componentsThreadFileAttachmentIndex":{"line233JsxAttrTitleOpenInNewTab":"Open in new tab"},"componentsThreadIframePreview":{"line36JsxTextUnableToLoadPreview":"Unable to load preview","line38JsxTextClickTheLinkInTheHeaderToOpen":"Click the link in the header to open in a new tab."},"componentsThreadToolViewsCanvasToolCanvastoolview":{"line261JsxAttrTitleOpenInFileViewer":"Open in file viewer","line282JsxTextOperationFailed":"Operation Failed","line308JsxTextCanvasEmpty":"Canvas Empty","line311JsxTextThisCanvasDoesnTHaveAnyContentYet":"This canvas doesn't have any content yet."},"componentsThreadToolViewsMcpContentRenderer":{"line66JsxTextSearchResults":"search results","line71JsxTextCost":"Cost: $","line154JsxTextCopyUrl":"Copy URL","line187JsxTextTableData":"Table Data (","line232JsxTextStructuredData":"Structured Data","line246JsxTextNoContentAvailable":"No content available","line287JsxTextUrls":"URLs (","line315JsxTextErrorDetails":"Error Details","line363JsxTextMarkdownContent":"Markdown Content","line388JsxTextCodeOutput":"Code Output"},"componentsThreadToolViewsPresentationToolsDeletepresentationtoolview":{"line128JsxAttrTitleDeletePresentation":"Delete Presentation","line136JsxAttrIconcolorTextRed500DarkTextRed400":"text-red-500 dark:text-red-400","line137JsxAttrBgcolorBgGradientToBFromRed100To":"bg-gradient-to-b from-red-100 to-red-50 shadow-inner dark:from-red-800/40 dark:to-red-900/60 dark:shadow-red-950/20","line138JsxAttrTitleDeletingPresentation":"Deleting presentation","line139JsxAttrFilepathRemovingAllFiles":"Removing all files...","line151JsxTextThereWasAnErrorDeletingThePresentationPlease":"There was an error deleting the presentation. Please try again.","line160JsxTextPresentationDeletedSuccessfully":"Presentation deleted successfully","line173JsxTextDeletedPath":"Deleted Path","line183JsxTextAllSlidesAndMetadataHaveBeenPermanentlyRemoved":"All slides and metadata have been permanently removed"},"componentsThreadToolViewsPresentationToolsDeleteslidetoolview":{"line67JsxAttrTitleDeleteSlide":"Delete Slide","line75JsxAttrIconcolorTextRed500DarkTextRed400":"text-red-500 dark:text-red-400","line76JsxAttrBgcolorBgGradientToBFromRed100To":"bg-gradient-to-b from-red-100 to-red-50 shadow-inner dark:from-red-800/40 dark:to-red-900/60 dark:shadow-red-950/20","line77JsxAttrTitleDeletingSlide":"Deleting slide","line78JsxAttrFilepathRemovingSlideFile":"Removing slide file...","line90JsxTextThereWasAnErrorDeletingTheSlidePlease":"There was an error deleting the slide. Please try again.","line99JsxTextSlideDeletedSuccessfully":"Slide deleted successfully","line109JsxTextDeletedSlide":"Deleted Slide"},"componentsThreadToolViewsPresentationToolsExporttoolview":{"line144JsxAttrTitleExportPresentation":"Export Presentation","line151JsxAttrBgcolorBgZinc50DarkBgZinc900":"bg-zinc-50 dark:bg-zinc-900","line192JsxTextDownloadPdf":"Download PDF","line209JsxTextDownloadPptx":"Download PPTX","line216JsxTextNoExportFilesAvailableYet":"No export files available yet"},"componentsThreadToolViewsPresentationToolsFullscreenpresentationviewer":{"line377JsxTextNoSlideContentToPreview":"No slide content to preview","line485JsxAttrTitleExportPresentation":"Export presentation","line518JsxTextGoogleSlides":"Google Slides","line529JsxAttrTitleCloseFullScreen":"Close full screen","line621JsxTextNoSlideFound":"No slide found"},"componentsThreadToolViewsPresentationToolsListpresentationtemplatestoolview":{"line134JsxTextTemplatePreview":"Template Preview","line156JsxAttrIconcolorTextOrange500DarkTextOrange400":"text-orange-500 dark:text-orange-400","line157JsxAttrBgcolorBgGradientToBFromOrange100To":"bg-gradient-to-b from-orange-100 to-orange-50 shadow-inner dark:from-orange-800/40 dark:to-orange-900/60 dark:shadow-orange-950/20","line158JsxAttrTitleLoadingPresentationTemplates":"Loading presentation templates","line159JsxAttrFilepathFetchingAvailableTemplates":"Fetching available templates...","line168JsxTextNoTemplatesAvailable":"No templates available"},"componentsThreadToolViewsPresentationToolsListpresentationstoolview":{"line96JsxAttrTitleAllPresentations":"All Presentations","line106JsxAttrIconcolorTextZinc500DarkTextZinc400":"text-zinc-500 dark:text-zinc-400","line107JsxAttrBgcolorBgGradientToBFromBlue100To":"bg-gradient-to-b from-blue-100 to-blue-50 shadow-inner dark:from-blue-800/40 dark:to-blue-900/60 dark:shadow-blue-950/20","line108JsxAttrTitleLoadingPresentations":"Loading presentations","line109JsxAttrFilepathScanningWorkspace":"Scanning workspace...","line121JsxTextThereWasAnErrorLoadingThePresentationsPlease":"There was an error loading the presentations. Please try again.","line130JsxTextNoPresentationsFound":"No presentations found","line133JsxTextYouHavenTCreatedAnyPresentationsYetUse":"You haven't created any presentations yet. Use the create_slide tool to start building your first presentation.","line187JsxTextLastUpdated":"Last updated:"},"componentsThreadToolViewsPresentationToolsPresentationslidecard":{"line104JsxTextNoSlideContentToPreview":"No slide content to preview","line133JsxAttrTitleOpenInFullScreen":"Open in full screen"},"componentsThreadToolViewsPresentationToolsPresentationslidepreview":{"line124JsxTextLoadingPresentation":"Loading presentation..."},"componentsThreadToolViewsPresentationToolsPresentationviewer":{"line746JsxAttrTitleOpenInFullScreen":"Open in full screen","line757JsxAttrTitleExportPresentation":"Export presentation","line790JsxTextGoogleSlides":"Google Slides","line855JsxTextToolExecutionError":"Tool Execution Error","line858JsxTextThePresentationToolEncounteredAnErrorDuringExecution":"The presentation tool encountered an error during execution:","line891JsxTextNoSlidesFound":"No slides found","line894JsxTextThisPresentationDoesnTHaveAnySlidesYet":"This presentation doesn't have any slides yet."},"componentsThreadToolViewsSharedFiledownloadbutton":{"line216JsxAttrTitleExportFile":"Export file","line257JsxAttrTitleExportFile":"Export file","line288JsxAttrTitleDownloadFile":"Download file"},"componentsThreadToolViewsSharedJsonviewer":{"line119JsxAttrTitleCopyToClipboard":"Copy to clipboard"},"componentsThreadToolViewsSharedSmartjsonviewer":{"line42JsxTextQuot":"\"","line42JsxTextQuoteaab7c3c":"\"","line49JsxTextQuot":"\"","line49JsxTextQuote68c4839":"\"","line52JsxTextQuot":"\"","line52JsxTextQuotcd964905":"\""},"componentsThreadToolViewsSpreadsheetSpreadsheetloader":{"line26JsxTextLoadingSpreadsheet":"Loading spreadsheet..."},"componentsThreadToolViewsSpreadsheetSpreadsheetsimulation":{"line132JsxTextBuildingSpreadsheet":"Building spreadsheet..."},"componentsThreadToolViewsSpreadsheetSpreadsheettoolview":{"line126JsxAttrTitleDownloadFile":"Download file"},"componentsThreadToolViewsSpreadsheetSpreadsheetviewer":{"line237JsxTextNoFilePathProvided":"No file path provided","line238JsxTextFilepathIsRequiredToLoadTheSpreadsheet":"FilePath is required to load the spreadsheet","line253JsxTextFailedToLoadSpreadsheet":"Failed to load spreadsheet"},"componentsThreadToolViewsSpreadsheetSyncstatusindicator":{"line109JsxTextLoadExternal":"Load External","line117JsxTextKeepMine":"Keep Mine","line144JsxTextUnsavedChanges":"Unsaved changes"},"componentsTunnelScopeEditorsFilesystemScopeEditor":{"line89JsxTextAllowedPaths":"Allowed Paths","line121JsxTextExcludePatterns":"Exclude Patterns","line146JsxAttrPlaceholderNodeModules":"node_modules/**","line159JsxTextMaxFileSize":"Max File Size"},"componentsTunnelScopeEditorsNetworkScopeEditor":{"line93JsxAttrPlaceholderEG30008080":"e.g. 3000, 8080","line123JsxAttrPlaceholderEGLocalhost127001":"e.g. localhost, 127.0.0.1"},"componentsTunnelScopeEditorsShellScopeEditor":{"line46JsxTextAllowedCommands":"Allowed Commands","line65JsxAttrPlaceholderEGGitNodePython":"e.g. git, node, python","line91JsxTextWorkingDirectory":"Working Directory","line96JsxAttrPlaceholderHomeUserProjectOptional":"/home/user/project (optional)","line103JsxTextMaxTimeout":"Max Timeout"},"componentsTunnelTunnelAuditTable":{"line23JsxTextLoadingAuditLogs":"Loading audit logs...","line27JsxTextNoAuditLogsYet":"No audit logs yet."},"componentsTunnelTunnelDetail":{"line35JsxTextTunnelConnectionNotFound":"Tunnel connection not found.","line38JsxTextBackToTunnels":"Back to tunnels","line79JsxTextMiddot":"·","line100JsxTextAuditLog":"Audit Log"},"componentsTunnelTunnelOverview":{"line126JsxTextDeleteConnection":"Delete connection?","line128JsxTextThisWillPermanentlyDelete":"This will permanently delete","line128JsxTextAndRemoveAllItsPermissionsAndAuditLogs":"and remove all its permissions and audit logs. This action cannot be undone.","line169JsxTextAddConnection":"Add Connection","line181JsxTextConnectAMachine":"Connect a machine","line183JsxTextRunThisCommandOnTheMachineYouWant":"Run this command on the machine you want to connect.","line203JsxTextText1RunTheCommand":"1. Run the command","line205JsxTextText2ApproveInBrowser":"2. Approve in browser","line207JsxTextText3Connected":"3. Connected","line234JsxTextConnectYourMachine":"Connect your machine","line236JsxTextRunThisCommandOnAnyMachineToConnect":"Run this command on any machine to connect it to Kortix. You'll approve the connection in your browser.","line255JsxTextText1RunTheCommand":"1. Run the command","line257JsxTextText2ApproveInBrowser":"2. Approve in browser","line259JsxTextText3Connected":"3. Connected","line348JsxAttrPlaceholderSearchConnections":"Search connections...","line362JsxTextNoConnectionsMatchingLdquo":"No connections matching “","line362JsxTextRdquo":"”"},"componentsTunnelTunnelPermissionRequestDialog":{"line109JsxTextPermissionRequest":"Permission Request","line112JsxTextYourAiAgentIsRequesting":"Your AI agent is requesting","line135JsxAttrLabelAllowThisOnce":"Allow this once","line136JsxAttrDescriptionExactScopeExpiresIn1Hour":"Exact scope + expires in 1 hour","line141JsxAttrLabelAddToPermissions":"Add to permissions","line142JsxAttrDescriptionConfigureScopeAndExpiry":"Configure scope and expiry","line149JsxAttrDescriptionUnrestrictedAccessToThisCapability":"Unrestricted access to this capability","line157JsxTextConfigureScope":"Configure scope","line203JsxTextMoreRequest":"more request"},"componentsTunnelTunnelScopeToggles":{"line73JsxTextLoadingPermissions":"Loading permissions...","line79JsxTextNewGrantsExpireIn":"New grants expire in:"},"componentsTunnelTunnelSettingsDialog":{"line138JsxTextAuditLog":"Audit Log","line243JsxAttrAriaLabelCopyTunnelId":"Copy tunnel ID"},"componentsUpdateChangelogPreview":{"line102JsxTextMoreChanges":"more changes"},"componentsUpdateDialog":{"line205JsxTextItSNotRecommendedToRefreshThisTab":"It's not recommended to refresh this tab during the update.","line272JsxTextUpdatedTo":"Updated to","line290JsxTextUpdateFailed":"Update failed","line320JsxTextUpdateTo":"Update to","line324JsxTextYourSandboxIsRunning":"Your sandbox is running","line326JsxTextThisWillRestartYourSandbox":"This will restart your sandbox.","line335JsxTextSelfHostedUpdatesRunFromTheHost":"Self-hosted updates run from the host","line338JsxTextIfYouInstalledKortixViaTheCliUpdates":"If you installed Kortix via the CLI, updates should be run from your terminal so the full stack updates together.","line341JsxTextKortixUpdate":"kortix update","line359JsxTextCopyCommand":"Copy command","line364JsxTextUpdateNow":"Update now"},"featuresFilesComponentsDriveGridView":{"line210JsxTextOpenFolder":"Open folder","line232JsxTextCopyPath":"Copy path","line392JsxTextOpenInTab":"Open in tab","line404JsxTextViewHistory":"View history","line422JsxTextCopyPath":"Copy path","line587JsxTextThisFolderIsEmpty":"This folder is empty","line589JsxTextDropFilesHereOrUseTheNewButton":"Drop files here or use the New button to get started"},"featuresFilesComponentsDriveListView":{"line255JsxTextOpenInTab":"Open in tab","line267JsxTextViewHistory":"View history","line285JsxTextCopyPath":"Copy path","line382JsxTextThisFolderIsEmpty":"This folder is empty","line384JsxTextDropFilesHereOrUseTheNewButton":"Drop files here or use the New button to get started"},"featuresFilesComponentsDriveToolbar":{"line163JsxAttrTitleDoubleClickToEditPath":"Double-click to edit path","line235JsxTextSortBy":"Sort by","line238JsxTextLastModified":"Last modified","line239JsxTextFileSize":"File size","line270JsxAttrTitleSearchFilesCtrlP":"Search files (Ctrl+P)","line293JsxAttrTitleDownloadDirectoryAsZip":"Download directory as zip","line309JsxAttrTitleNewFileOrFolder":"New file or folder","line317JsxTextNewFolder":"New folder","line321JsxTextNewFile":"New file","line326JsxTextFileUpload":"File upload"},"featuresFilesComponentsFileBrowser":{"line513CallToastNoteDirectoryContentsAreNotCopied":"Note: directory contents are not copied","line555JsxTextServerNotReachable":"Server not reachable","line557JsxTextCouldNotConnectToTheOpencodeServerAt":"Could not connect to the OpenCode server at","line563JsxTextMakeSure":"Make sure","line563JsxTextOpencodeServe":"opencode serve","line564JsxTextOpencodeWeb":"opencode web","line564JsxTextIsRunning":"is running.","line587JsxAttrTitleUploadFile":"Upload file","line600JsxAttrTitleNewFile":"New file","line613JsxAttrTitleNewFolder":"New folder","line634JsxAttrTitleSearchFilesCtrlP":"Search files (Ctrl+P)","line657JsxAttrTitleDownloadCurrentDirectoryAsZip":"Download current directory as zip","line694JsxTextFailedToLoadFiles":"Failed to load files","line751JsxTextAFileOrFolderWithThatNameAlready":"A file or folder with that name already exists","line789JsxTextAFileOrFolderWithThatNameAlready":"A file or folder with that name already exists","line839JsxTextEmptyDirectory":"Empty directory","line856JsxTextNewFile":"New File","line868JsxTextNewFolder":"New Folder","line876JsxTextUploadFile":"Upload File","line933JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line935JsxTextQuot":"\"","line935JsxTextQuotf487118f":"\"","line937JsxTextThisActionCannotBeUndone":"? This action cannot be undone."},"featuresFilesComponentsFileContentRenderer":{"line195JsxTextFileNotFound":"File not found","line201JsxTextThisFileDoesNotExistOrMayHave":"This file does not exist or may have been deleted.","line554JsxTextViewOnly":"View only","line586JsxAttrTitleSaveS":"Save (⌘S)","line600JsxAttrTitleDiscardChanges":"Discard changes","line692JsxTextFailedToLoadFile":"Failed to load file","line805JsxTextStartingPreviewServer":"Starting preview server…","line844JsxTextBinaryFile":"Binary file","line869JsxTextUncommittedChanges":"Changed in this session","line915JsxTextInvalidJson":"Invalid JSON","line963JsxTextQuot":"\"","line963JsxTextQuotb4125902":"\""},"featuresFilesComponentsFileExplorerPage":{"line546JsxTextServerNotReachable":"Server not reachable","line548JsxTextCouldNotConnectTo":"Could not connect to","line603JsxAttrPlaceholderFolderName":"Folder name","line621JsxAttrPlaceholderFileName":"File name","line665JsxTextFailedToLoadFiles":"Failed to load files","line744JsxTextDropFilesToUpload":"Drop files to upload","line746JsxTextFilesWillBeUploadedToTheCurrentDirectory":"Files will be uploaded to the current directory","line771JsxTextPasteHere":"Paste here","line807JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line808JsxTextQuot":"\"","line808JsxTextQuot306b697a":"\"","line808JsxTextThisActionCannotBeUndone":"? This action cannot be undone."},"featuresFilesComponentsFileExplorerToolbar":{"line89JsxAttrTitleSearchFiles":"Search files"},"featuresFilesComponentsFileHistoryPanel":{"line129JsxTextFailedToLoadDiff":"Failed to load diff","line182JsxTextNoDiffContentAvailable":"No diff content available","line273JsxAttrTitleCopyCommitHash":"Copy commit hash","line359JsxTextFailedToLoadHistory":"Failed to load history","line366JsxTextThisProjectIsNotTrackedByGit":"This project is not tracked by git.","line376JsxTextNoCommitHistory":"No commit history","line378JsxTextThisFileHasNoGitCommitsYet":"This file has no git commits yet.","line422JsxTextShowingFirst":"Showing first","line422JsxTextCommitsMoreAvailable":"commits — more available"},"featuresFilesComponentsFileHistoryPopover":{"line72JsxTextFailedToLoadDiff":"Failed to load diff","line102JsxTextNoDiff":"No diff","line160JsxAttrTitleCopyHash":"Copy version ID","line226JsxTextNoCommitHistory":"No version history yet","line242JsxTextShowingFirst":"Showing first"},"featuresFilesComponentsFilePreviewModal":{"line198JsxAttrTitleOpenInTab":"Open in tab","line208JsxAttrTitleCloseEsc":"Close (Esc)","line222JsxAttrTitlePreviousFile":"Previous file","line233JsxAttrTitleNextFile":"Next file"},"featuresFilesComponentsFileSearch":{"line109JsxAttrPlaceholderSearchFiles":"Search files...","line124JsxTextTypeToSearchFiles":"Type to search files...","line136JsxTextNoFilesFound":"No files found"},"featuresFilesComponentsFileTreeItem":{"line229JsxTextAFileOrFolderWithThatNameAlready":"A file or folder with that name already exists","line322JsxTextViewHistory":"View History","line352JsxTextCopyPath":"Copy path"},"featuresFilesComponentsFileTree":{"line342JsxTextOpenInNewTab":"Open in new tab","line367JsxTextViewHistory":"View History","line375JsxTextNewFile":"New File","line379JsxTextNewFolder":"New Folder","line383JsxTextUploadFile":"Upload file","line398JsxTextCopyPath":"Copy path","line912JsxAttrTitleNewFile":"New file","line915JsxAttrTitleNewFolder":"New folder","line936JsxAttrTitleBackToWorkspace":"Back to /workspace","line964JsxAttrTitleClickToNavigateToPath":"Click to navigate to path","line1054JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line1054JsxTextQuot":"\"","line1054JsxTextQuot46a46963":"\"","line1054JsxTextThisActionCannotBeUndone":"? This action cannot be undone."},"featuresFilesComponentsFileViewer":{"line41JsxAttrTitleOpenInNewTab":"Open in new tab"},"featuresProjectFilesComponentsChangeRequestDetailDialog":{"line269JsxTextThisVersionIsAlreadyAtTheBaseNothing":"This version is already at the base — nothing to merge.","line273JsxTextMergeableCleanly":"Mergeable cleanly","line283JsxTextConflictsIn":"Conflicts in","line356JsxTextNoChangesDetected":"No changes detected."},"featuresProjectFilesComponentsChangeRequestsPanel":{"line131JsxTextChangeRequests":"Proposed changes","line145JsxAttrTitleOpenANewChangeRequest":"Propose a new change","line199JsxTextChangeRequests":"No proposed changes here yet","line209JsxTextOpenTheFirstOne":"Propose the first one"},"featuresProjectFilesComponentsCheckpointDetailDialog":{"line166JsxTextSelectAFileToViewTheDiff":"Select a file to view the diff","line220JsxTextFailedToLoadDiff":"Failed to load diff","line226JsxTextNoTextualDiff":"No textual diff","line228JsxTextFileMayBeBinaryOrUnchangedInThis":"File may be binary or unchanged in this version.","line407JsxAttrTitlePreviousCheckpoint":"Previous version (←)","line417JsxAttrTitleNextCheckpoint":"Next version (→)","line482JsxAttrTitleCopyCheckpointId":"Copy version ID","line528JsxAttrPlaceholderFilterFiles":"Filter files","line546JsxTextFailedToLoadCheckpoint":"Couldn't load version","line575JsxTextLoadingCheckpoint":"Loading version…"},"featuresProjectFilesComponentsCheckpointsPanel":{"line230JsxTextFailedToLoadCheckpoints":"Couldn't load version history","line241JsxTextNoCheckpointsYet":"No versions saved yet","line278JsxTextShowingTheMostRecent":"Showing the most recent"},"featuresProjectFilesComponentsDiffPreviewBanner":{"line33JsxTextCalculatingTheDiff":"Comparing versions…","line44JsxAttrTitleCouldnTComputeTheDiff":"Couldn't compare these versions","line57JsxTextSameVersionOnBothSidesPickDifferentVersions":"Same version on both sides. Pick two different versions.","line65JsxTextNoChangesBetweenTheseVersionsTheSourceNeeds":"No changes between these versions yet. Make some changes first, then propose them."},"featuresProjectFilesComponentsDriveGridView":{"line209JsxTextOpenFolder":"Open folder","line231JsxTextCopyPath":"Copy path","line390JsxTextOpenInTab":"Open in tab","line402JsxTextCheckpointHistory":"Version history","line420JsxTextCopyPath":"Copy path","line604JsxTextThisFolderIsEmpty":"This folder is empty","line606JsxTextNoFilesOrSubfoldersAtThisPathIn":"No files or subfolders at this path in the current version."},"featuresProjectFilesComponentsDriveListView":{"line255JsxTextOpenInTab":"Open in tab","line267JsxTextCheckpointHistory":"Version history","line285JsxTextCopyPath":"Copy path","line396JsxTextThisFolderIsEmpty":"This folder is empty","line398JsxTextNoFilesOrSubfoldersAtThisPathIn":"Anything your agents save and any assets added to this project will show up here."},"featuresProjectFilesComponentsDriveToolbar":{"line191JsxAttrTitleDoubleClickToEditPath":"Double-click to edit path","line262JsxTextSortBy":"Sort by","line295JsxAttrTitleDownloadDirectoryAsZip":"Download directory as zip","line312JsxAttrTitleNewFileOrFolder":"New file or folder","line320JsxTextNewFolder":"New folder","line324JsxTextNewFile":"New file","line329JsxTextFileUpload":"File upload","line348JsxAttrTitleOpenANewChangeRequest":"Open a new change request","line352JsxTextOpenCr":"Open CR","line366JsxAttrTitleToggleCheckpointsPanel":"Toggle Checkpoints panel","line412JsxTextChangeRequests":"Change requests"},"featuresProjectFilesComponentsFileBrowser":{"line515CallToastNoteDirectoryContentsAreNotCopied":"Note: directory contents are not copied","line557JsxTextServerNotReachable":"Server not reachable","line559JsxTextCouldNotConnectToTheOpencodeServerAt":"Could not connect to the OpenCode server at","line565JsxTextMakeSure":"Make sure","line565JsxTextOpencodeServe":"opencode serve","line566JsxTextOpencodeWeb":"opencode web","line566JsxTextIsRunning":"is running.","line589JsxAttrTitleUploadFile":"Upload file","line602JsxAttrTitleNewFile":"New file","line615JsxAttrTitleNewFolder":"New folder","line636JsxAttrTitleSearchFilesCtrlP":"Search files (Ctrl+P)","line659JsxAttrTitleDownloadCurrentDirectoryAsZip":"Download current directory as zip","line696JsxTextFailedToLoadFiles":"Failed to load files","line753JsxTextAFileOrFolderWithThatNameAlready":"A file or folder with that name already exists","line791JsxTextAFileOrFolderWithThatNameAlready":"A file or folder with that name already exists","line841JsxTextEmptyDirectory":"Empty directory","line858JsxTextNewFile":"New File","line870JsxTextNewFolder":"New Folder","line878JsxTextUploadFile":"Upload File","line935JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line937JsxTextQuot":"\"","line937JsxTextQuot6e940e76":"\"","line939JsxTextThisActionCannotBeUndone":"? This action cannot be undone."},"featuresProjectFilesComponentsFileContentRenderer":{"line196JsxTextFileNotFound":"File not found","line202JsxTextThisFileDoesNotExistOrMayHave":"This file does not exist or may have been deleted.","line556JsxTextViewOnly":"View only","line588JsxAttrTitleSaveS":"Save (⌘S)","line602JsxAttrTitleDiscardChanges":"Discard changes","line694JsxTextFailedToLoadFile":"Failed to load file","line807JsxTextStartingPreviewServer":"Starting preview server…","line846JsxTextBinaryFile":"Binary file","line871JsxTextUncommittedChanges":"Uncommitted changes","line919JsxTextInvalidJson":"Invalid JSON","line967JsxTextQuot":"\"","line967JsxTextQuotfff0f8c6":"\""},"featuresProjectFilesComponentsFileExplorerPage":{"line594JsxAttrPlaceholderFolderName":"Folder name","line612JsxAttrPlaceholderFileName":"File name","line658JsxTextFailedToLoadFiles":"Failed to load files","line771JsxTextDropFilesToUpload":"Drop files to upload","line773JsxTextFilesWillBeUploadedToTheCurrentDirectory":"Files will be uploaded to the current directory","line806JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line807JsxTextQuot":"\"","line807JsxTextQuot32c14d98":"\"","line807JsxTextThisActionCannotBeUndone":"? This action cannot be undone."},"featuresProjectFilesComponentsFileExplorerToolbar":{"line89JsxAttrTitleSearchFiles":"Search files"},"featuresProjectFilesComponentsFileHistoryPanel":{"line129JsxTextFailedToLoadDiff":"Failed to load diff","line182JsxTextNoDiffContentAvailable":"No diff content available","line273JsxAttrTitleCopyCheckpointId":"Copy checkpoint id","line359JsxTextFailedToLoadCheckpoints":"Failed to load checkpoints","line371JsxTextNoCheckpointsYet":"No checkpoints yet","line373JsxTextThisFileHasnTBeenSavedToA":"This file hasn’t been saved to a checkpoint yet.","line417JsxTextShowingFirst":"Showing first","line417JsxTextCheckpointsMoreAvailable":"checkpoints — more available"},"featuresProjectFilesComponentsFileHistoryPopover":{"line72JsxTextFailedToLoadDiff":"Failed to load diff","line102JsxTextNoDiff":"No diff","line160JsxAttrTitleCopyCheckpointId":"Copy version ID","line216JsxTextFailedToLoadHistory":"Failed to load history","line224JsxTextNoCheckpointsYet":"No versions yet","line240JsxTextShowingTheMostRecent":"Showing the most recent"},"featuresProjectFilesComponentsFilePreviewModal":{"line179JsxAttrTitleCheckpointHistory":"Checkpoint history","line198JsxAttrTitleCloseEsc":"Close (Esc)","line217JsxAttrTitlePreviousFile":"Previous file (←)","line233JsxAttrTitleNextFile":"Next file (→)"},"featuresProjectFilesComponentsFileSearch":{"line109JsxAttrPlaceholderSearchFiles":"Search files...","line124JsxTextTypeToSearchFiles":"Type to search files...","line136JsxTextNoFilesFound":"No files found"},"featuresProjectFilesComponentsFileTreeItem":{"line229JsxTextAFileOrFolderWithThatNameAlready":"A file or folder with that name already exists","line322JsxTextCheckpointHistory":"Checkpoint history","line352JsxTextCopyPath":"Copy path"},"featuresProjectFilesComponentsFileTree":{"line342JsxTextOpenInNewTab":"Open in new tab","line367JsxTextViewHistory":"View History","line375JsxTextNewFile":"New File","line379JsxTextNewFolder":"New Folder","line383JsxTextUploadFile":"Upload file","line398JsxTextCopyPath":"Copy path","line912JsxAttrTitleNewFile":"New file","line915JsxAttrTitleNewFolder":"New folder","line936JsxAttrTitleBackToWorkspace":"Back to /workspace","line964JsxAttrTitleClickToNavigateToPath":"Click to navigate to path","line1054JsxTextAreYouSureYouWantToDelete":"Are you sure you want to delete","line1054JsxTextQuot":"\"","line1054JsxTextQuotec1ca351":"\"","line1054JsxTextThisActionCannotBeUndone":"? This action cannot be undone."},"featuresProjectFilesComponentsFileViewer":{"line41JsxAttrTitleOpenInNewTab":"Open in new tab"},"featuresProjectFilesComponentsOpenChangeRequestDialog":{"line226JsxTextOpenChangeRequest":"Propose changes","line231JsxTextProposeMergingThisSessionAposSWorkInto":"Propose adding this session's work into","line232JsxTextTheSessionNeedsToHaveCommittedAndPushed":". The session needs saved work before there is anything to review.","line237JsxTextProposeMergingOneVersionIntoAnotherTheMerge":"Propose bringing the changes from one version into another. You review everything before it is applied.","line246JsxAttrTitleNoNonDefaultVersionsYet":"No other versions yet.","line247JsxTextStartASessionEachSessionLivesOnIts":"Start a session. Each session works in its own version, and you can propose its changes from there.","line305JsxAttrPlaceholderPickAVersion":"Pick a version","line354JsxTextPickTwoDifferentVersionsYouCanAposT":"Pick two different versions. A version can't be compared with itself.","line369JsxAttrPlaceholderContextForReviewersWhatChangedAndWhy":"Context for reviewers: what changed and why.","line386JsxTextOpenChangeRequest":"Propose changes"},"featuresProjectFilesComponentsVersionSelector":{"line88JsxAttrTitleSwitchVersion":"Switch version","line112JsxAttrPlaceholderFindAVersion":"Find a version…","line122JsxTextLoadingVersions":"Loading versions…","line128JsxTextFailedToLoadVersions":"Failed to load versions","line134JsxTextNoVersionsMatch":"No versions match","line140JsxTextMainVersion":"Main version","line154JsxTextOtherVersions":"Other versions","line234JsxAttrTitleAheadBehindMainVersion":"Ahead / behind main version"},"appAccountsIdMembersUserIdPage":{"line120JsxTextBackToProjects":"Back to projects","line184JsxTextRevokeSuperAdmin":"Revoke super-admin","line196JsxTextGrantSuperAdmin":"Grant super-admin","line203JsxAttrTitleFailedToLoadMember":"Failed to load member","line210JsxTextThisUserIsNotAMemberOfThis":"This user is not a member of this account.","line250JsxAttrTitleGrantSuperAdmin":"Grant super-admin?","line253JsxTextSuperAdminBypassesEveryIAMCheck":"Super-admin bypasses every IAM check.","line253JsxTextWillBeAbleToDoAnythingInThis":"will be able to do anything in this account, including managing billing and deleting the account. Only grant this to people you fully trust.","line258JsxAttrConfirmLabelGrantSuperAdmin":"Grant super-admin","line266JsxAttrTitleRevokeSuperAdmin":"Revoke super-admin?","line269JsxTextWillLoseTheBypassFromNowOnEvery":"will lose the bypass. From now on, every action they perform will go through the normal policy checks. They may lose access to parts of the account if no explicit policies grant it.","line274JsxAttrConfirmLabelRevokeSuperAdmin":"Revoke super-admin","line353JsxAttrTitleWhatThisMemberCanDo":"What this member can do","line354JsxAttrDescriptionComputedByTheIAMEngineSumOfExplicit":"Computed by the IAM engine — sum of explicit policies, group inheritance, super-admin bypass, and legacy role bridges.","line435JsxAttrDescriptionAnyPolicyAttachedToOneOfTheseGroups":"Any policy attached to one of these groups also applies to this member.","line449JsxTextNotAMemberOfAnyGroups":"Not a member of any groups","line451JsxTextAddThemToAGroupToInheritIts":"Add them to a group to inherit its policies."},"componentsIamAnalyticsCard":{"line80JsxAttrTitlePermissionUsageAnalytics":"Permission usage analytics","line92JsxTextTopPrincipals":"Top principals","line98JsxTextNoPrincipalsTrackedYet":"No principals tracked yet.","line143JsxTextMostUsedActions":"Most-used actions","line149JsxTextNoActionsTrackedYet":"No actions tracked yet."},"componentsIamApprovalsCard":{"line114JsxTextTwoPersonRule":"Two-person rule","line117JsxTextWhenOnTheCuratedSetOfHighBlast":"When on, the curated set of high-blast-radius IAM actions requires approval from a second super-admin before they execute. Requesters can't approve their own requests.","line139JsxTextGatedActions":"Gated actions","line142JsxTextNoActionsGated":"No actions gated.","line152JsxTextRequestsAutoExpireAfter24Hours":"Requests auto-expire after 24 hours.","line160JsxTextPendingRequests":"Pending requests (","line166JsxTextNoPendingApprovalRequests":"No pending approval requests.","line194JsxTextYourRequest":"your request","line198JsxTextRequestedBy":"Requested by","line207JsxTextText":"”","line246JsxAttrTitleApproveThisRequest":"Approve this request?","line265JsxAttrTitleRejectThisRequest":"Reject this request?"},"componentsIamAuditWebhooksCard":{"line101JsxTextAuditWebhooks":"Audit webhooks","line103JsxTextShipEveryAuditEventToYourSIEMOr":"Ship every audit event to your SIEM or generic HTTP endpoint. Payloads are signed with HMAC-SHA256.","line110JsxTextNewWebhook":"New webhook","line125JsxTextNoWebhooksConfigured":"No webhooks configured.","line164JsxTextLastDelivered":"Last delivered","line220JsxAttrTitleDeleteWebhook":"Delete webhook","line226JsxAttrConfirmLabelDeleteWebhook":"Delete webhook","line300JsxTextSigningSecret":"Signing secret","line308JsxAttrAriaLabelCopySecret":"Copy secret","line316JsxTextDestinationURL":"Destination URL","line338JsxAttrPlaceholderSplunkProduction":"Splunk production","line346JsxTextDestinationURL":"Destination URL","line359JsxTextActionPrefix":"Action prefix","line400JsxTextOnlyDeliverEventsWhoseActionStartsWithThis":"Only deliver events whose action starts with this prefix. Leave blank to deliver everything.","line418JsxTextCreateWebhook":"Create webhook"},"componentsIamBreakGlassCard":{"line95JsxTextBreakGlassEmergencyAccess":"Break-glass emergency access","line98JsxTextSelfActivateTemporarySuperAdminForIncidentResponse":"Self-activate temporary super-admin for incident response. A reason is required and every activation, expiry, and revocation is audit-logged.","line116JsxTextRevokeMyGrant":"Revoke my grant","line134JsxTextNoBreakGlassGrantsOnFileActivateOne":"No break-glass grants on file. Activate one only during a real incident — every use shows up in audit reports.","line142JsxTextActive":"Active (","line161JsxTextHistory":"History (","line197JsxAttrTitleRevokeBreakGlassGrant":"Revoke break-glass grant?","line257JsxTextActivateBreakGlass":"Activate break-glass?","line259JsxTextYouLlGetFullSuperAdminUntilThe":"You'll get full super-admin until the grant expires or you revoke it. Every action you take while active is attributed normally — break-glass only adds permission, never anonymity.","line269JsxTextUseOnlyDuringARealIncidentActivationIs":"Use only during a real incident. Activation is audit-logged with your name and reason.","line279JsxAttrPlaceholderEGP0BillingPipelineStuckNeedTo":"e.g. P0 — billing pipeline stuck, need to rotate secrets","line286JsxTextDurationMinutes":"Duration (minutes)","line295JsxTextMax4808HoursDefaultIs60Minutes":"Max 480 (8 hours). Default is 60 minutes.","line366JsxTextText":"”"},"componentsIamDriftCard":{"line39JsxAttrTitleIAMDrift":"IAM drift","line50JsxTextLookbackNbsp":"Lookback ","line84JsxTextCouldnTLoadDriftReport":"Couldn't load drift report.","line89JsxAttrTitleUnusedPolicies":"Unused policies","line91JsxAttrEmptyNoUnusedPolicies":"No unused policies.","line113JsxAttrTitleExpiredPoliciesStillPresent":"Expired policies still present","line115JsxAttrEmptyNoExpiredPoliciesToCleanUp":"No expired policies to clean up.","line131JsxAttrTitleEmptyGroupsNoMembers":"Empty groups (no members)","line133JsxAttrEmptyNoEmptyGroups":"No empty groups.","line142JsxAttrTitleOrphanGroupsNoPoliciesAttached":"Orphan groups (no policies attached)","line144JsxAttrEmptyNoOrphanGroups":"No orphan groups.","line189JsxTextShowingFirst10Of":"Showing first 10 of","line189JsxTextUseTheIAMAPIToEnumerateTheRest":". Use the IAM API to enumerate the rest."},"componentsIamExternalGrantsCard":{"line69JsxTextExternalAccess":"External access","line72JsxTextGrantAConsultantOrPartnerFromADifferent":"Grant a consultant or partner from a different Kortix account specific access here. They keep their own login; you attach policies normally on the member detail page.","line80JsxTextAddExternalUser":"Add external user","line91JsxTextNoExternalUsersAttachedUseThisForConsultants":"No external users attached. Use this for consultants and partners who shouldn't consume a regular seat.","line134JsxAttrAriaLabelRevokeExternalGrant":"Revoke external grant","line161JsxAttrTitleRevokeExternalGrant":"Revoke external grant?","line162JsxAttrDescriptionTheUserImmediatelyLosesAccessToThisAccount":"The user immediately loses access to this account. Their own account is unaffected.","line211JsxTextAttachExternalUser":"Attach external user","line213JsxTextTheUserMustAlreadyHaveAKortixAccount":"The user must already have a Kortix account. Look them up by email; you'll attach policies on their member page after.","line224JsxAttrPlaceholderAliceConsultancyCom":"alice@consultancy.com","line230JsxTextAutoRevokeOptional":"Auto-revoke (optional)","line244JsxTextNoteOptional":"Note (optional)","line248JsxAttrPlaceholderQ1AuditContractorFromFooCo":"Q1 audit, contractor from FooCo"},"componentsIamMfaRequiredCard":{"line116JsxTextRequireMFAForAllMembers":"Require MFA for all members","line119JsxTextWhenEnabledMembersMustCompleteASecondFactor":"When enabled, members must complete a second-factor challenge before any IAM-gated action. Super-admins and Personal Access Tokens are exempt.","line150JsxTextNotRequired":"Not required","line165JsxTextRequireMFAForThisAccount":"Require MFA for this account?","line167JsxTextMembersWithoutAVerifiedSecondFactorWillBe":"Members without a verified second factor will be blocked from every IAM-gated action until they enrol. CLI tokens (PATs) are unaffected.","line185JsxTextNobodyWouldRetainAccessPromoteASuperAdmin":"Nobody would retain access. Promote a super-admin or have at least one member enrol MFA before enabling.","line200JsxTextMembersHaveMFAEnrolled":"members have MFA enrolled.","line208JsxTextWillBeLockedOutUntilTheyEnrolMFA":"will be locked out until they enrol MFA:","line234JsxTextWithoutMFATheyWonTBeLockedOut":"without MFA — they won't be locked out, but consider asking them to enrol:","line266JsxTextRequireMFA":"Require MFA","line281JsxTextDisableMFARequirement":"Disable MFA requirement?","line283JsxTextMembersWillBeAbleToSignInWith":"Members will be able to sign in with a password alone. Per-policy MFA conditions you may have set on individual policies still apply — only the account-wide gate is removed.","line303JsxTextDisableMFARequirement":"Disable MFA requirement"},"componentsIamPatPolicyCard":{"line95JsxTextCLITokenLifecycle":"CLI token lifecycle","line98JsxTextApplyToPersonalAccessTokensCLIProgrammaticClients":"Apply to Personal Access Tokens (CLI / programmatic clients). Sandbox-injected tokens are exempt — their lifetime is bound to the sandbox itself.","line118JsxTextRequireExpiryOnEveryPAT":"Require expiry on every PAT","line120JsxTextWhenOnTheMintEndpointRefusesPATsWithout":"When on, the mint endpoint refuses PATs without an","line128JsxTextMaxLifetimeDays":"Max lifetime (days)","line132JsxAttrPlaceholderBlankNoCap":"blank = no cap","line137JsxTextRefusesPATsWhoseRequestedExpiresAtIsFurther":"Refuses PATs whose requested expires_at is further out than this many days from now.","line142JsxTextIdleAutoRevokeDays":"Idle auto-revoke (days)","line146JsxAttrPlaceholderBlankNever":"blank = never","line151JsxTextTokensNotUsedInThisManyDaysAre":"Tokens not used in this many days are auto-revoked on the next sign-in attempt.","line168JsxTextSavePolicy":"Save policy"},"componentsIamPermissionBoundaryCard":{"line110JsxAttrTitlePermissionBoundary":"Permission boundary","line111JsxAttrDescriptionCapsTheMaxSetOfActionsThisMember":"Caps the max set of actions this member can ever use, no matter how many allow-policies they have. Super-admins are exempt.","line120JsxTextNoBoundaryConfiguredAllExplicitAllowPoliciesApply":"No boundary configured. All explicit allow-policies apply at full strength.","line127JsxTextBoundaryIsAnEmptyListThisMemberIs":"Boundary is an empty list — this member is effectively denied every action until you add prefixes or clear the boundary.","line134JsxTextAllowedActionPrefixesUseATrailingDotTo":"Allowed action prefixes. Use a trailing dot to cover a whole namespace (e.g.","line138JsxTextEtc":", etc.).","line181JsxAttrPlaceholderEGProject":"e.g. project.","line210JsxTextClearBoundary":"Clear boundary","line233JsxAttrTitleClearPermissionBoundary":"Clear permission boundary?","line234JsxAttrDescriptionRemovesTheBoundaryEntirelyAllExplicitAllowPolicies":"Removes the boundary entirely. All explicit allow-policies on this member will apply again at full strength.","line235JsxAttrConfirmLabelClearBoundary":"Clear boundary"},"componentsIamProjectGroupsCard":{"line73JsxTextProjectGroups":"Project groups","line76JsxTextBundleProjectsSoOnePolicyCoversManyE":"Bundle projects so one policy covers many — e.g. “Mobile editors get Editor role on every project in the Mobile group”. Pick the group as the scope when creating a policy.","line84JsxTextNewGroup":"New group","line95JsxTextNoProjectGroupsYetCreateOneAttachProjects":"No project groups yet. Create one, attach projects, then use it as a scope in any policy.","line139JsxAttrAriaLabelDeleteGroup":"Delete group","line176JsxAttrTitleDeleteProjectGroup":"Delete project group?","line182JsxAttrConfirmLabelDeleteGroup":"Delete group","line229JsxTextNewProjectGroup":"New project group","line231JsxTextChooseAShortDescriptiveNameYouLlAdd":"Choose a short, descriptive name. You'll add projects to the group next.","line241JsxAttrPlaceholderMobileProduction":"Mobile production","line247JsxTextDescriptionOptional":"Description (optional)","line251JsxAttrPlaceholderCustomerFacingMobileApps":"Customer-facing mobile apps","line270JsxTextCreateGroup":"Create group","line346JsxTextProjectsInThisGroupAreCoveredByAny":"Projects in this group are covered by any policy scoped to it.","line353JsxTextInThisGroup":"In this group (","line358JsxTextNoProjectsYet":"No projects yet.","line373JsxAttrAriaLabelRemoveFromGroup":"Remove from group","line385JsxTextAddProjects":"Add projects (","line391JsxTextEveryProjectInThisAccountIsAlreadyIn":"Every project in this account is already in the group."},"componentsIamScimCard":{"line97JsxTextSCIMProvisioning":"SCIM provisioning","line99JsxTextConnectOktaAzureADOrAnySCIM2":"Connect Okta, Azure AD, or any SCIM 2.0 provider to sync users and groups into this account.","line107JsxTextSCIMBaseURL":"SCIM base URL","line115JsxAttrAriaLabelCopySCIMBaseURL":"Copy SCIM base URL","line122JsxTextPrependYourAPIOriginEG":"Prepend your API origin (e.g.","line122JsxTextTheIdPAppends":"). The IdP appends","line130JsxTextBearerTokens":"Bearer tokens","line132JsxTextEachTokenAuthenticatesASingleIdPConnectorRotate":"Each token authenticates a single IdP connector. Rotate by minting a new one and revoking the old.","line139JsxTextNewSCIMToken":"New SCIM token","line153JsxTextNoSCIMTokensYetCreateOneToConnect":"No SCIM tokens yet. Create one to connect your IdP.","line179JsxTextLastUsed":"Last used","line189JsxAttrTitleRevokeThisToken":"Revoke this token","line213JsxAttrTitleRevokeSCIMToken":"Revoke SCIM token","line219JsxAttrConfirmLabelRevokeToken":"Revoke token","line293JsxAttrAriaLabelCopyToken":"Copy token","line301JsxTextSCIMBaseURL":"SCIM base URL","line309JsxAttrAriaLabelCopyURL":"Copy URL","line331JsxAttrPlaceholderOktaProduction":"Okta production","line338JsxTextUsedOnlyToRecogniseThisTokenLater":"Used only to recognise this token later.","line353JsxTextMintToken":"Mint token"},"componentsIamServiceAccountsCard":{"line93JsxTextServiceAccounts":"Service accounts","line96JsxTextMachineIdentitiesForCICDAndConnectorsAttach":"Machine identities for CI/CD and connectors. Attach policies just like a member — pick the service account as the principal when creating a policy.","line104JsxTextNewServiceAccount":"New service account","line115JsxTextNoServiceAccountsYetCreateOneToGet":"No service accounts yet. Create one to get a bearer token your CI/automation can use without impersonating a human.","line124JsxTextLastUsed":"Last used","line179JsxAttrTitleDeletePermanently":"Delete permanently","line216JsxAttrTitleDisableServiceAccount":"Disable service account?","line235JsxAttrTitleDeleteServiceAccount":"Delete service account?","line287JsxTextNewServiceAccount":"New service account","line289JsxTextABearerTokenWillBeShownOnceAfter":"A bearer token will be shown once after creation. Attach policies to it from the member detail view (it appears under the Token principal type).","line306JsxTextDescriptionOptional":"Description (optional)","line310JsxAttrPlaceholderGitHubActionsDeployWorker":"GitHub Actions deploy worker","line360JsxTextSaveThisBearerNow":"Save this bearer now","line362JsxTextThisIsTheOnlyTimeWeLlShow":"This is the only time we'll show","line362JsxTextSSecretStoreItInYourSecretsManager":"'s secret. Store it in your secrets manager — we can't recover it if you lose it.","line380JsxTextAttachPolicies":"Attach policies"},"componentsIamSessionControlsCard":{"line145JsxTextSessionControls":"Session controls","line148JsxTextCapHowLongABrowserSessionLivesForce":"Cap how long a browser session lives, force re-sign-in after idle periods, and force-logout specific sessions. Personal Access Tokens are not affected.","line161JsxTextMaxSessionLifetimeMinutes":"Max session lifetime (minutes)","line165JsxAttrPlaceholderLeaveBlankForNoMax":"leave blank for no max","line170JsxTextForcesAFreshSignInAfterThisMany":"Forces a fresh sign-in after this many minutes, measured from when the access token was issued.","line175JsxTextIdleTimeoutMinutes":"Idle timeout (minutes)","line179JsxAttrPlaceholderLeaveBlankForNoIdleGate":"leave blank for no idle gate","line184JsxTextKillsTheSessionAfterThisManyMinutesOf":"Kills the session after this many minutes of no activity against this account.","line202JsxTextSavePolicy":"Save policy","line212JsxTextActiveSessions":"Active sessions","line218JsxTextNoSessionsTrackedYetSessionsShowUpHere":"No sessions tracked yet. Sessions show up here the first time a member hits an account-scoped route while a policy is configured.","line233JsxTextRevokedExpired":"Revoked / expired (","line255JsxAttrTitleForceLogoutThisSession":"Force-logout this session?","line289JsxTextNoActiveSessions":"No active sessions.","line298JsxTextLastSeen":"Last seen"},"componentsIamSsoCard":{"line103JsxTextSAMLSSO":"SAML SSO","line106JsxTextConnectYourIdPUsersSigningInViaSAML":"Connect your IdP. Users signing in via SAML are auto-provisioned and their IAM groups are kept in sync from a JWT claim.","line127JsxTextNoSAMLProviderConfiguredSetUpTheIdP":"No SAML provider configured. Set up the IdP in Supabase Studio (Authentication → SSO) first, then paste the resulting provider UUID and your domain here.","line135JsxTextPrimaryDomain":"Primary domain","line137JsxTextGroupClaim":"Group claim","line139JsxTextAutoCreateMembers":"Auto-create members","line143JsxTextSupabaseProviderId":"Supabase provider id","line154JsxTextGroupMappings":"Group mappings","line163JsxTextAddMapping":"Add mapping","line172JsxTextNoMappingsYetMapIdPGroupRoleValues":"No mappings yet. Map IdP group/role values (from the","line173JsxTextClaimToIAMGroupsSoUsersLandIn":"claim) to IAM groups so users land in the right group on sign-in.","line180JsxTextClaimValue":"Claim value","line181JsxTextIAMGroup":"→ IAM group","line201JsxAttrAriaLabelRemoveMapping":"Remove mapping","line225JsxTextRemoveSSOProvider":"Remove SSO provider","line253JsxAttrTitleRemoveSSOProvider":"Remove SSO provider?","line254JsxAttrDescriptionExistingMembersKeepTheirAccessNewSignIns":"Existing members keep their access; new sign-ins via SAML stop being provisioned and group sync no longer runs.","line255JsxAttrConfirmLabelRemoveProvider":"Remove provider","line266JsxAttrTitleRemoveMapping":"Remove mapping?","line272JsxAttrConfirmLabelRemoveMapping":"Remove mapping","line343JsxTextCreateTheProviderInSupabaseStudioAuthenticationSSO":"Create the provider in Supabase Studio (Authentication → SSO) first. Paste the resulting provider UUID below.","line350JsxTextDisplayName":"Display name","line360JsxTextSupabaseProviderUUID":"Supabase provider UUID","line371JsxTextPrimaryEmailDomain":"Primary email domain","line379JsxTextUsedToRouteSignInFlowsForThis":"Used to route sign-in flows for this domain through your IdP.","line384JsxTextGroupClaimName":"Group claim name","line393JsxTextCommonValues":"Common values:","line393JsxTextOkta":"(Okta),","line394JsxTextAzureAD":"(Azure AD).","line407JsxTextAutoCreateMembers":"Auto-create members","line409JsxTextWhenOffOnlyUsersAnAdminHasAlready":"When off, only users an admin has already invited can sign in via SAML. Group sync still runs for those members.","line490JsxTextAddGroupMapping":"Add group mapping","line492JsxTextUsersWithThisClaimValueInTheirSAML":"Users with this claim value in their SAML token will be added to the chosen IAM group on sign-in.","line499JsxTextClaimValue":"Claim value","line508JsxTextExactCaseSensitiveMatchAgainstAnEntryIn":"Exact, case-sensitive match against an entry in the group claim your IdP sends.","line514JsxTextIAMGroup":"IAM group","line521JsxAttrPlaceholderPickAGroup":"Pick a group...","line526JsxTextNoGroupsInThisAccountYetCreateOne":"No groups in this account yet. Create one first.","line554JsxTextAddMapping":"Add mapping"},"componentsIamStrictModeCard":{"line115JsxTextStrictIAMMode":"Strict IAM mode","line118JsxTextWhenEnabledOnlySuperAdminBypassAndExplicit":"When enabled, only super-admin bypass and explicit IAM policies grant access. Legacy owner/admin/member roles and project_members rows are ignored.","line146JsxTextOffLegacyBridgesActive":"Off (legacy bridges active)","line160JsxTextEnableStrictIAMMode":"Enable strict IAM mode?","line162JsxTextTheLegacyBridgesOwnerAdminMemberRolesProject":"The legacy bridges (owner/admin/member roles, project_members rows) stop granting access. Only super-admin bypass and explicit IAM policies will work after this.","line180JsxTextNobodyWouldRetainAccessPromoteASuperAdmin":"Nobody would retain access. Promote a super-admin or create at least one explicit policy before enabling.","line190JsxTextNoMembersWillLoseAccessEveryMemberIs":"No members will lose access — every member is super-admin or has an explicit policy.","line199JsxTextWillLoseAllAccess":"will lose all access:","line226JsxAttrTitleMirrorLegacyAccountRoleProjectMembersRowsInto":"Mirror legacy account_role + project_members rows into IAM policies. Safe to re-run.","line229JsxTextBackfillMemberships":"Backfill memberships","line247JsxTextEnableStrictMode":"Enable strict mode","line264JsxTextDisableStrictIAMMode":"Disable strict IAM mode?","line266JsxTextLegacyBridgesResumeGrantingAccessAlongsideYourExplicit":"Legacy bridges resume granting access alongside your explicit policies. Owners/admins regain Administrator privileges, members regain account-level reads, and project_members rows act as fallbacks again. Existing policies are not affected.","line287JsxTextDisableStrictMode":"Disable strict mode"},"autoAppAppAccountsIdGroupsGroupIdPageJsxTextProject5cf58b9a":"Project access","autoAppAppAccountsIdGroupsGroupIdPageJsxTextAn3a706d13":"an account owner or admin. They get Manager on every project regardless of this group's role.","autoAppAppAccountsIdGroupsGroupIdPageJsxAttrTitle5ac3c178":"Account owners and admins always have Manager access on every project, regardless of group role.","autoAppAppAccountsIdGroupsGroupIdPageJsxAttrTitle82ea8920":"Project access","autoAppAppAccountsIdGroupsGroupIdPageJsxTextAttachfc6eecb6":"Attach to project","autoAppAppAccountsIdGroupsGroupIdPageJsxAttrTitle724619d6":"Failed to load project access","autoAppAppAccountsIdGroupsGroupIdPageJsxAttrTitleb851c672":"Not attached to any project","autoAppAppAccountsIdGroupsGroupIdPageJsxAttrTitle2c336348":"Detach from project?","autoAppAppAccountsIdGroupsGroupIdPageJsxTextWilldd678991":"will no longer be attached to","autoAppAppAccountsIdGroupsGroupIdPageJsxTextEvery76958122":". Every group member will lose their inherited","autoAppAppAccountsIdGroupsGroupIdPageJsxTextAccessf1329cb6":"access on that project (unless they also have a direct grant or another group attached). Owners and admins keep their implicit Manager acces","autoAppAppAccountsIdGroupsGroupIdPageJsxTextAttachf3cd23a1":"Attach \"","autoAppAppAccountsIdGroupsGroupIdPageJsxTextTo28a6368a":"\" to a project","autoAppAppAccountsIdGroupsGroupIdPageJsxTextEvery625580cc":"Every member of this group will inherit the chosen role on the project.","autoAppAppAccountsIdGroupsGroupIdPageJsxAttrPlaceholderb49f921c":"Choose a project…","autoAppAppAccountsIdGroupsGroupIdPageJsxTextManager33f373a5":"Manager — full control of the project","autoAppAppAccountsIdGroupsGroupIdPageJsxTextEditor415a1a4b":"Editor — read and write, no member or settings changes","autoAppAppAccountsIdGroupsGroupIdPageJsxTextViewer8a17707f":"Viewer — read-only","autoAppAppAccountsIdGroupsGroupIdPageJsxTextOptional57a5222d":"optional · leave blank for permanent","autoAppAppAccountsIdGroupsGroupIdPageJsxTextThefa249188":"The grant auto-revokes at this time. Group members lose this project on the next request after expiry; the audit log records the revocation","autoAppAppAccountsIdMembersUserIdPageJsxAttrTitle1767c13f":"Project access","autoAppAppAccountsIdMembersUserIdPageJsxAttrTitlebf1c6d5a":"Failed to load project access","autoAppAppAccountsIdMembersUserIdPageJsxTextNoa4235d6a":"No project access yet. Add this member to a project directly from the project's Members page, or to a group that's attached to one","autoAppAppAccountsIdMembersUserIdPageJsxTextViewinga4fdd7c8":"Viewing as","autoAppAppAccountsIdMembersUserIdPageJsxTextRead06b6119c":"Read-only check of what this member can do across the account. The engine answers in real time — same logic the UI uses to gate buttons for","autoAppAppAccountsIdMembersUserIdPageJsxTextProjectaec71af7":"Project-scoped access (which projects they can reach + at what role) is shown in the Project access card on this page. This dialog is the ac","autoAppAppAccountsIdPageJsxTextManageAccountSettings5130f3ea":"Manage account settings, members, and access.","autoAppAppAccountsIdPageJsxTextCreditsLedger313d0d27":"Credits ledger","autoAppAppAccountsIdPageJsxAttrDescriptionAccountWide0fbfc59e":"Account-wide gates that apply to every member.","autoAppAppAccountsIdPageJsxTextAdvancedSecurity9ca9f4b4":"Advanced security","autoAppAppAccountsIdPageJsxTextSessionLifetimesIdleaa3d2f86":"Session lifetimes, idle timeouts, and force-logout. Defaults are fine for most teams.","autoAppAppAccountsIdPageJsxAttrTitleIdentityDirectory6089983a":"Identity & directory","autoAppAppAccountsIdPageJsxAttrDescriptionBringMembersa0baf40c":"Bring members in from your IdP. Group memberships sync; admin still picks project access.","autoAppAppAccountsIdPageJsxAttrTitleTokensAutomation0764b2bd":"Tokens & automation","autoAppAppAccountsIdPageJsxAttrDescriptionProgrammaticAccess21449ecb":"Programmatic access for CI/CD and headless agents.","autoAppAppAccountsIdPageJsxAttrDescriptionForwardAudit00c0c84a":"Forward audit events to your own pipeline.","autoAppAppAccountsIdPageJsxAttrTitleDangerZonebdaa0f25":"Danger zone","autoAppAppAccountsIdPageJsxAttrPlaceholderSearchBy353c608c":"Search by email…","autoAppAppAccountsIdPageJsxTextAddToGroupac0cb8ad":"Add to group","autoAppAppAccountsIdPageJsxTextChangeRoled818ca7f":"Change role","autoAppAppAccountsIdPageJsxTextNoMembersMatch116fd46e":"No members match \"","autoAppAppAccountsIdPageJsxText12d5475e":"\".","autoAppAppAccountsIdPageJsxAttrTitleRemoveMembers760ca889":"Remove members","autoAppAppAccountsIdPageJsxTextTheyLoseAccess4aa2ae68":"? They lose access immediately.","autoAppAppAccountsIdPageJsxTextAddSeveralAtb6d9bf70":"Add several at once — separate with commas, spaces, or Enter.","autoAppAppAccountsIdPageJsxTextToAGroupd710c223":"to a group","autoAppAppAccountsIdPageJsxTextPickTheGroupbdff5ffe":"Pick the group these members should join. Members already in the group are skipped — re-adding is a no-op.","autoAppAppAccountsIdPageJsxTextNoGroupsExista83435a9":"No groups exist on this account yet. Create one from the Groups tab first.","autoAppAppAccountsIdPageJsxAttrPlaceholderChooseA728f4999":"Choose a group…","autoAppAppAccountsIdPageJsxTextChangeRoleFor52ff6528":"Change role for","autoAppAppAccountsIdPageJsxTextOwnersAndAdminsb262a85e":"Owners and admins have implicit Manager on every project. Members get access only via direct grants or group membership.","autoAppAppAccountsIdPageJsxTextNewRole425b849a":"New role","autoAppAppAccountsIdPageJsxTextOwnerFullControlbdd4292e":"Owner — full control + can delete the account","autoAppAppAccountsIdPageJsxTextAdminEverythingExceptfe47cdf0":"Admin — everything except account deletion","autoAppAppAccountsIdPageJsxTextMemberNoImplicit64132e74":"Member — no implicit project access","autoAppAppAccountsIdTokensTokenIdPageJsxAttrTitle403e73a7":"Token permissions","autoAppAppAccountsIdTokensTokenIdPageJsxTextTokens36bb9aad":"Tokens inherit their creator's account-role and group memberships at request time. To narrow what a token can reach, scope it to a sing","autoAppAppConnectorsPageJsxTextCloseWindowa183ed6a":"Close window","autoAppAppConnectorsPageJsxTextGoToProjectsfb39e5ad":"Go to projects","autoAppAppMarketplacePageJsxTextBrowseSkillsAcrossEvery14a9148d":"Browse skills across every source — one click adds them to a project's repo, live in its next session.","autoAppAppProjectsIdSessionsSessionIdPageJsxAttrTitlebf9bba8c":"Subscribe to start sessions","autoAppAppProjectsIdSessionsSessionIdPageJsxAttrMessage93bc2779":"Your team isn't on a plan yet. Subscribe to Kortix Team to run sessions, with LLM compute and AI Computers for every teammate.","autoAppAppProjectsIdSessionsSessionIdPageJsxTextSubscribe40f5b8e1":"Subscribe to Team plan","autoAppAppProjectsPageJsxTextAllAccounts7f58297f":"All accounts","autoAppAppProjectsPageJsxAttrTitleNoProjectsYet85527dd3":"No projects yet","autoAppAppProjectsPageJsxAttrDescriptionAProjectIsa4dc84d2":"A project is a dedicated space for one company, product, or idea.","autoAppAppProjectsPageJsxTextCreateYourFirstProject061cafdb":"Create your first project","autoAppAppProjectsPageJsxAttrLabelCreateYourFirst301a83a6":"Create your first project","autoAppAuthAuthPageJsxAttrAriaLabelAuthenticationMode01efd9f8":"Authentication mode","autoAppAuthAuthPageJsxTextUseADifferentEmail8da2cdb0":"Use a different email","autoAppAuthGithubSetupPageJsxTextThisUsuallyTakes85d58321":"This usually takes a few seconds.","autoAppAuthGithubSetupPageJsxTextRedirecting69a84dea":"Redirecting…","autoAppPublicMarketingCompareSlugPageJsxTextKortixVs7d03d509":"Kortix vs","autoAppPublicMarketingCompareSlugPageJsxTextStartFree05549e67":"Start free","autoAppPublicMarketingCompareSlugPageJsxTextRunIt7c6d52d5":"Run it yourself","autoAppPublicMarketingCompareSlugPageJsxTextTheShorta0fe796a":"The short version","autoAppPublicMarketingCompareSlugPageJsxTextNoFence7e04b210":"No fence-sitting — here's exactly when each one is the right call.","autoAppPublicMarketingCompareSlugPageJsxTextIf9b282c07":"if…","autoAppPublicMarketingCompareSlugPageJsxTextChooseKortix0f7f6aec":"Choose Kortix if…","autoAppPublicMarketingCompareSlugPageJsxTextSideByffb7ae99":"Side by side","autoAppPublicMarketingCompareSlugPageJsxTextAnHonest49ef79d5":"An honest, like-for-like look. A green check marks the better fit for each row — even when that's","autoAppPublicMarketingCompareSlugPageJsxTextWhatEachaf7a1d83":"What each is built for","autoAppPublicMarketingCompareSlugPageJsxTextWhereKortixa82be965":"Where Kortix is different","autoAppPublicMarketingCompareSlugPageJsxTextWhenTo67e7041d":"When to choose which","autoAppPublicMarketingCompareSlugPageJsxTextFrequentlyAsked2adb2de4":"Frequently asked","autoAppPublicMarketingContactPageJsxTextEnterpriseOnPremb5a0c0b0":"Enterprise · on-prem available","autoAppPublicMarketingContactPageJsxTextSeeKortixRun82bdbdad":"See Kortix run","autoAppPublicMarketingContactPageJsxTextYourCompanyS9f04147b":"your company's work","autoAppPublicMarketingContactPageJsxTextBookA30ee0f8c6a":"Book a 30-minute walkthrough with a solutions engineer — see agents run your real workflows, and get a deployment plan for your stack.","autoAppPublicMarketingContactPageJsxTextBookADemofaaea0a0":"Request demo","autoAppPublicMarketingContactPageJsxTextEmailUs505f9598":"Email us","autoAppPublicMarketingContactPageJsxTextASolutionsEngineer7001e57e":"A solutions engineer replies within one business day.","autoAppPublicMarketingDesignSystemPageJsxTextSocialAvatar0528fcc8":"Social Avatar","autoAppPublicMarketingDesignSystemPageJsxTextTheSymboleb8e02af":"The symbol centred on a solid field, square 1:1 — drop it straight into a profile picture or social handle. Hover to download the ready-made","autoAppPublicMarketingDesignSystemPageJsxTextSubtleElevation8c9f8cda":"Subtle elevation tokens for floating surfaces. Most app chrome stays flat — use shadows only when depth helps hierarchy. Never add colored,","autoAppPublicMarketingDesignSystemPageJsxTextSolidColors15530798":"Solid colors","autoAppPublicMarketingDesignSystemPageJsxTextBadgeSuccessef599436":"Badge success","autoAppPublicMarketingDesignSystemPageJsxTextCheckboxGroupf8961cfb":"Checkbox Group","autoAppPublicMarketingDesignSystemPageJsxAttrLabelOption8399dd58":"Option A","autoAppPublicMarketingDesignSystemPageJsxAttrLabelOption275da31e":"Option B","autoAppPublicMarketingDesignSystemPageJsxAttrLabelOption225b100e":"Option C","autoAppPublicMarketingDesignSystemPageJsxTextIconOnlyf6a2c4ee":"Icon only","autoAppPublicMarketingDesignSystemPageJsxTextTextOnly458d5129":"Text only","autoAppPublicMarketingDesignSystemPageJsxTextTextIconc6453fac":"Text + icon","autoAppPublicMarketingDesignSystemPageJsxTextResponsiveOverlay8094b284":"Responsive overlay: bottom sheet on mobile, centered dialog on desktop. Supports side variants via","autoAppPublicMarketingDesignSystemPageJsxTextOpenModal87b8fff8":"Open Modal","autoAppPublicMarketingDesignSystemPageJsxTextModalTitle4b2e4477":"Modal Title","autoAppPublicMarketingDesignSystemPageJsxTextThisIs8e3df96c":"This is a description of the modal content.","autoAppPublicMarketingDesignSystemPageJsxTextModalBody7732d54c":"Modal body content goes here.","autoAppPublicMarketingDesignSystemPageJsxTextEphemeralNotifications64698ef7":"Ephemeral notifications for async outcomes and feedback. Use","autoAppPublicMarketingDesignSystemPageJsxTextAndd93e251a":", and","autoAppPublicMarketingDesignSystemPageJsxTextComponentsUi3eb49cdd":"@/components/ui/toast","autoAppPublicMarketingDesignSystemPageJsxTextNotRaw7f6d0bf8":"— not raw sonner calls.","autoAppPublicMarketingDesignSystemPageJsxTextLoadingSuccessde0ea42f":"Loading → Success","autoAppPublicMarketingDesignSystemPageJsxTextLoadingErrorda06eee7":"Loading → Error","autoAppPublicMarketingDesignSystemPageJsxTextInTooltips3dc63b0c":"In tooltips","autoAppPublicMarketingDesignSystemPageJsxTextCommandPalettea9dabb80":"Command palette","autoAppPublicMarketingDevelopersPageJsxAttrParentClassAnimateSpin79162867":"animate-spin mt-0 size-3","autoAppPublicMarketingDevelopersPageJsxTextConnectorsRequestPath28e55918":"connectors · request path","autoAppPublicMarketingDevelopersPageJsxTextAgentRuntime00a9a84b":"agent runtime","autoAppPublicMarketingDevelopersPageJsxAttrLabelOnlyAfa7b37b0":"only a scoped token leaves the box","autoAppPublicMarketingDevelopersPageJsxTextKortixConnector80880ab2":"Kortix Connector","autoAppPublicMarketingDevelopersPageJsxTextConnectProxyGateway799c9a68":"connect proxy · gateway","autoAppPublicMarketingDevelopersPageJsxText3000Moree9562262":"+ 3,000 more via Pipedream","autoAppPublicMarketingDevelopersPageJsxTextTheRepoIsf35cb375":"the repo is the product","autoAppPublicMarketingDevelopersPageJsxTextDeclareItOnce7b7c95e7":"declare it once","autoAppPublicMarketingDevelopersPageJsxTextOneKortixToml1138e741":"One kortix.yaml. One Git repo.","autoAppPublicMarketingDevelopersPageJsxTextYourEntireAI2f05f11a":"Your entire AI workforce, as code.","autoAppPublicMarketingDevelopersPageJsxTextAgentsSkillsTools9af4eeda":"Agents, skills, tools, connectors, schedules — all just files in a repo. Edit them in your IDE, run them locally, ship to the cloud with one","autoAppPublicMarketingDevelopersPageJsxTextReadTheDocs7dfe8373":"Read the docs","autoAppPublicMarketingDevelopersPageJsxTextTheThesis2430ef03":"The thesis","autoAppPublicMarketingDevelopersPageJsxTextTheCodingAgenta0a0e99f":"The coding-agent loop, for real work","autoAppPublicMarketingDevelopersPageJsxTextDescribeIntentAnd6106e4a":"Describe intent, an agent edits files, you review the diff. Kortix runs that same loop for support, ops, and research.","autoAppPublicMarketingDevelopersPageJsxTextTheLoopd95820b1":"The loop","autoAppPublicMarketingDevelopersPageJsxTextToProduction51bf7e67":"to production","autoAppPublicMarketingDevelopersPageJsxTextOneRepoOne9f702828":"One repo, one config, one command. The whole path, top to bottom.","autoAppPublicMarketingDevelopersPageJsxAttrTitleInstallScaffolda27ee59d":"Install & scaffold","autoAppPublicMarketingDevelopersPageJsxAttrBodyOneLinee5ce45d3":"One line installs the CLI. kortix init scaffolds kortix.yaml and .kortix/, wired to your coding agent.","autoAppPublicMarketingDevelopersPageJsxTextKortixInit263fedee":"kortix init","autoAppPublicMarketingDevelopersPageJsxAttrTitleBuildIte194e7c4":"Build it locally, like code","autoAppPublicMarketingDevelopersPageJsxAttrBodyAnAgent82e9c1f1":"An agent is markdown — a persona, its model, and its tools. Skills are folders it loads on demand. Edit them by hand, or describe what you w","autoAppPublicMarketingDevelopersPageJsxAttrTitleDeclareThed1672ddf":"Declare the project in one manifest","autoAppPublicMarketingDevelopersPageJsxAttrBodyKortixToml8f2ef9df":"kortix.yaml holds secrets, sandbox images, triggers, connectors, and channels. Versioned from the first commit.","autoAppPublicMarketingDevelopersPageJsxAttrTitleShipItfb312d97":"Ship it","autoAppPublicMarketingDevelopersPageJsxAttrBodyKortixShipcf67274d":"kortix ship commits, pushes, builds the sandbox, and prompts for missing secrets. Triggers and channels go live immediately — no separate in","autoAppPublicMarketingDevelopersPageJsxAttrTitleKortixShip3674108d":"kortix ship","autoAppPublicMarketingDevelopersPageJsxTextKortixShip0f78d303":"kortix ship","autoAppPublicMarketingDevelopersPageJsxTextCommittedPushedTo6397bcf0":"committed & pushed to","autoAppPublicMarketingDevelopersPageJsxTextSecretsSyncedSandboxa20399ce":"secrets synced · sandbox built","autoAppPublicMarketingDevelopersPageJsxTextLiveTriggersChannels9865dd98":"live — triggers & channels running","autoAppPublicMarketingDevelopersPageJsxAttrTitleItRuns79baead9":"It runs as a fleet of sandboxes","autoAppPublicMarketingDevelopersPageJsxAttrBodyEverySession844cd0ac":"Every session is its own VM on its own branch, booting the runtime and your repo. Spawn thousands in parallel — zero interference. A change","autoAppPublicMarketingDevelopersPageJsxTextSession1f3a8c59f56e":"session 1f3a","autoAppPublicMarketingDevelopersPageJsxTextSandbox2bdd3ae7":"sandbox ─╮","autoAppPublicMarketingDevelopersPageJsxTextSession9b220421e426":"session 9b22","autoAppPublicMarketingDevelopersPageJsxTextSandboxChange7917aca8":"sandbox ─┤ change","autoAppPublicMarketingDevelopersPageJsxTextSession4e0708b094fc":"session 4e07","autoAppPublicMarketingDevelopersPageJsxTextSandboxRequests9e4d59fa":"sandbox ─┤ requests","autoAppPublicMarketingDevelopersPageJsxTextSandboxeseeb779e1":"sandboxes ─╯","autoAppPublicMarketingDevelopersPageJsxTextReviewMergeMain18972c6f":"review → merge → main","autoAppPublicMarketingDevelopersPageJsxAttrTitleBringYourc9b3722b":"Bring your own runtime & model","autoAppPublicMarketingDevelopersPageJsxAttrBodySessionsRun900c5222":"Sessions run on an open runtime. Bring your own keys — Anthropic, OpenAI, local — or use Kortix compute. Nothing about the runtime is hidden","autoAppPublicMarketingDevelopersPageJsxTextKortixProvidersLogind1e6302d":"kortix providers login anthropic","autoAppPublicMarketingDevelopersPageJsxTextUsingYourOwn244e5bb8":"using your own key","autoAppPublicMarketingDevelopersPageJsxTextOrPointAtc877fc5b":"# or point at any runtime / model","autoAppPublicMarketingDevelopersPageJsxTextKortixProvidersSetc86bed30":"kortix providers set --model opus-4.8","autoAppPublicMarketingDevelopersPageJsxTextKortixProvidersSet4a7972ff":"kortix providers set --model gpt-5","autoAppPublicMarketingDevelopersPageJsxTextOneCLI8f2d2b85":"One CLI","autoAppPublicMarketingDevelopersPageJsxTextTheWholeLifecyclecb116839":"The whole lifecycle, one CLI","autoAppPublicMarketingDevelopersPageJsxTextScaffoldShipRun79c5f185":"Scaffold, ship, run, automate, connect and review — one CLI does it all. The same binary is pre-authenticated inside every sandbox, so agent","autoAppPublicMarketingDevelopersPageJsxTextFullCLIReferencefed1886e":"Full CLI reference","autoAppPublicMarketingDevelopersPageJsxText1Session1543175ef":"1 session = 1 sandbox = 1 branch","autoAppPublicMarketingDevelopersPageJsxTextEverySessionRunsd9b4809e":"Every session runs in its own isolated sandbox — real, isolated compute — on its own Git branch off main. Spin up millions in parallel; noth","autoAppPublicMarketingDevelopersPageJsxAttrTabGitLog7b106744":"git log --graph","autoAppPublicMarketingDevelopersPageJsxTextTriage14Tickets9e98fe81":"triage 14 tickets","autoAppPublicMarketingDevelopersPageJsxTextBuildBoardDeck30c6ad92":"build board deck","autoAppPublicMarketingDevelopersPageJsxTextDraftOutreach8bd3b2aa":"draft outreach","autoAppPublicMarketingDevelopersPageJsxTextMillionsOfBranchesd3dbd3cb":"… millions of branches, one source of truth","autoAppPublicMarketingDevelopersPageJsxTextEveryToolBehindf2d74753":"Every tool, behind one interface","autoAppPublicMarketingDevelopersPageJsxTextKortixConnectorsPut284659af":"Kortix connectors put 3,000+ apps — plus any MCP, OpenAPI, GraphQL or raw HTTP endpoint — behind a single Connector interface your agents cal","autoAppPublicMarketingDevelopersPageJsxTextItSAlla4bb94e8":"It's all code","autoAppPublicMarketingDevelopersPageJsxTextAPlatformThat026eb45c":"A platform that improves itself","autoAppPublicMarketingDevelopersPageJsxTextBecauseEverythingIs0642d990":"Because everything is code in a repo, the system can read its own blueprint, extend itself, and stay healthy as it grows. 100% extensible, c","autoAppPublicMarketingDevelopersPageJsxTextStartBuilding83387fa7":"Get started","autoAppPublicMarketingDevelopersPageJsxTextShipYourFirst187209c6":"Ship your first internal agent","autoAppPublicMarketingDevelopersPageJsxTextInstallTheCLIbd0e41b0":"Install the CLI, run","autoAppPublicMarketingDevelopersPageJsxTextAndDeployThef0bc5670":", and deploy the agent you already use.","autoAppPublicMarketingDevelopersPageJsxTextStarOnGitHub32a38178":"Star on GitHub","autoAppPublicMarketingEnterprisePageJsxTextDeployInternalAgentse5230bd9":"Deploy internal agents","autoAppPublicMarketingPricingPageJsxTextSimplePerSeat194cf521":"Simple per-seat pricing. Pay for what you use.","autoAppPublicMarketingPricingPageJsxTextEverySeatGets58d131e8":"Every seat includes the full platform and monthly credits for Agent Computer runtime. Bring your own API key or connect ChatGPT for model access. Managed models remain available and use credits based on token usage.","autoAppPublicMarketingPricingPageJsxTextCreditsPowerEverything0f094b3e":"Pay for the computer. Bring your own model.","autoAppPublicMarketingPricingPageJsxTextOneSimpleBalancef877f3a6":"Kortix credits are primarily for Agent Computer runtime. Use your own API key or ChatGPT subscription to keep model billing with your provider. Optional managed models use Team credits based on token usage.","autoAppPublicMarketingPricingPageJsxTextPricingQuestionsa7129c6e":"Pricing questions","autoAppPublicMarketingPricingPageJsxTextStartBuilding8d5b4add":"Get started","autoAppPublicMarketingPricingPageJsxTextGetYourTeam34f94a76":"Get your team started","autoAppPublicMarketingPricingPageJsxText40PerSeat60546e3a":"$40 per seat, with $25 of usage credits each. Auto-prorated, cancel anytime — or talk to us about Enterprise.","autoAppPublicMarketingPricingPageJsxTextContactSales8f878231":"Request demo","autoAppPublicMarketingPricingPageJsxTextGetStarted9675943d":"Get started","autoAppPublicSeoBlogSlugPageJsxAttrSizesMaxbb7ac8fb":"(max-width: 768px) 100vw, 768px","autoAppPublicSeoBlogSlugPageJsxTextMoreFrom3f4590f3":"More from the blog","autoAppPublicSeoBlogPageJsxAttrTitleNoPosts340caa81":"No posts yet","autoAppPublicSeoBlogPageJsxAttrDescriptionWeRecebec139":"We're writing the first one. Check back soon.","autoAppPublicSeoChangelogPageJsxTextEveryReleaseStraight4acc5a00":"Every release, straight from the source. New features, fixes, and improvements — versioned and dated.","autoAppPublicSeoChangelogPageJsxTextViewOnGitHubfc7627d4":"View on GitHub","autoAppPublicSeoChangelogPageJsxTextCouldnTLoad69c0f1db":"Couldn't load releases right now.","autoAppPublicSeoChangelogPageJsxTextSeeTheFull556e8abb":"See the full changelog on GitHub","autoAppPublicSeoChangelogPageJsxTextNoNotesFord9403c55":"No notes for this release.","autoAppPublicConnectTokenPageJsxTextConnectAnApp4c6083f8":"Connect an app","autoAppPublicConnectTokenPageJsxTextYourKortixAgent6efa22e3":"Your Kortix agent wants to connect this app on your behalf. Authorize it in one click — no keys are pasted into chat or stored in the repo.","autoAppPublicSecretIntakeTokenPageJsxTextAddA71a8394a":"Add a project secret","autoAppPublicSecretIntakeTokenPageJsxTextYourKortix7bc8f4ee":"Your Kortix agent needs this to continue. Enter the value below — it’s encrypted and the agent never sees it.","autoAppPublicShareShareIdErrorJsxAttrDescriptionWeCouldn67117bd7":"We couldn't load this shared page. Try again, or reload if it keeps happening.","autoAppPublicShareSessionTokenPageJsxTextShareLink6d642641":"Share link unavailable","autoAppPublicShareSessionTokenPageJsxTextPublicSharedbc2d952":"Public share","autoAppPublicShareSessionTokenPageJsxTextSignInc63c237b":"Sign in","autoAppPublicShareSessionTokenPageJsxTextOpenIn2fdbf464":"Open in Kortix","autoAppPublicShareSessionTokenPageJsxTextOpenAppa9aa1bb9":"Open app","autoAppPublicShareSessionTokenPageJsxTextStartSessiond4216ec8":"Start session","autoAppPublicShareSessionTokenPageJsxTextSignInb66c3487":"Sign in to start","autoAppPublicTemplatesShareIdErrorJsxAttrDescriptionWeCouldn8189e2ca":"We couldn't load this template. Try again, or reload if it keeps happening.","autoAppSystemDebugErrorPageJsxTextPreviewVariant8b7cfd4d":"Preview variant","autoAppSystemDebugErrorPageJsxTextThrowForRealc87f3f6e":"⚠ Throw for real (hit the boundary)","autoAppSystemDebugErrorPageJsxTextNextDev93619a23":"next dev","autoAppSystemDebugErrorPageJsxTextTheNextOverlaye67fbfec":"the Next overlay appears first — dismiss it with","autoAppSystemDebugErrorPageJsxTextToSeeThee15ec5f8":"to see the real boundary underneath. In prod it shows directly.","autoAppSystemDebugSharingPageJsxTextSharingPickerVisualHarness45b06d33":"SharingPicker — visual harness","autoAppSystemDebugSharingPageJsxAttrTitleShareSessiona4e430a9":"Share session","autoAppSystemDebugToolsPageJsxTextSidePanelFileseba2e222":"Side panel · Files (explorer)","autoAppAdminAccountsPageJsxTextRevertToTeam5247682b":"Revert to Team","autoAppAdminAccountsPageJsxTextEnterpriseUnlocksSAMLSSO7daa7fe0":"Enterprise unlocks SAML SSO + SCIM directory sync for this account. Seat billing is unchanged.","autoAppAdminOpsPageJsxTextShowingTheLatestecb396dc":"Showing the latest","autoAppAdminProvidersPageJsxAttrTitleSandboxProviders3d848bdc":"Sandbox Providers","autoAppAdminProvidersPageJsxAttrDescriptionBalanceNewSandboxes50122048":"Balance new sandboxes across providers, inspect what each is running, migrate sessions between providers, and track how each provider perfor","autoAppAdminProvidersPageJsxTextSplitDistributione4a343e6":"Split distribution","autoAppAdminProvidersPageJsxTextWeightedRandomSelectionFor79233150":"Weighted-random selection for new sandboxes across the available providers. All-zero falls back to the default","autoAppAdminProvidersPageJsxTextAnExplicitPerRequest5f99bd23":". An explicit per-request provider always wins.","autoAppAdminProvidersPageJsxTextOfTraffic256cb9eb":"% of traffic","autoAppAdminProvidersPageJsxTextSaveDistribution65ccde94":"Save distribution","autoAppAdminProvidersPageJsxTextWarmForkSessionsf726dcdc":"Warm-fork sessions","autoAppAdminProvidersPageJsxTextPerProjectWarmbd60f907":"Per-project warm snapshots: sessions fork from a pre-baked template (repo + opencode already warm) instead of cold-cloning, cutting session start from ~40s to ~2s. Pure upside — a failed bake degrades to a cold clone. On by default; off = every session cold-clones its repo.","autoAppAdminProvidersPageJsxAttrAriaLabelEnableWarmForkb78de78a":"Enable warm-fork sessions","autoAppAdminProvidersPageJsxTextSaveWarmFork8eeda5df":"Save warm-fork","autoAppAdminProvidersPageJsxTextProviderFailover2a22c982":"Provider failover","autoAppAdminProvidersPageJsxTextOffByDefaultWhen60e779c6":"Off by default. When on, a session that fails to provision on its primary provider hands off ONCE to the next allowed provider before it&apo","autoAppAdminProvidersPageJsxAttrAriaLabelEnableProvider03f7516e":"Enable provider failover","autoAppAdminProvidersPageJsxTextSaveFailoverffe7c977":"Save failover","autoAppAdminProvidersPageJsxAttrPlaceholderSearchByProviderfff85aa6":"Search by provider, status, session, account, or external ID…","autoAppAdminProvidersPageJsxTextClearSearch7a95b0d5":"Clear search","autoAppAdminProvidersPageJsxTextLastUsed130e79ff":"Last used","autoAppAdminProvidersPageJsxTextMigrateToAnotherProviderfa54a4d1":"Migrate to another provider…","autoAppAdminProvidersPageJsxTextHowEachProviderPerforms7c271b33":"How each provider performs — provisioning latency, success rate, and where the time goes.","autoAppAdminProvidersPageJsxTextLast24h06f647bb":"Last 24h","autoAppAdminProvidersPageJsxTextLast7Daysec82c24e":"Last 7 days","autoAppAdminProvidersPageJsxTextLast30Days99470ae1":"Last 30 days","autoAppAdminProvidersPageJsxTextLast90Days90e23dba":"Last 90 days","autoAppAdminProvidersPageJsxAttrTitleNoProvisioningData0e187a0c":"No provisioning data yet","autoAppAdminProvidersPageJsxAttrDescriptionProvisionAFewd8d1edb6":"Provision a few sandboxes and their timing + outcome will show up here.","autoAppAdminProvidersPageJsxTextProvisioningLatencyP50a33d0bb6":"Provisioning latency (p50)","autoAppAdminProvidersPageJsxTextMedianTimeToA5477dc7b":"Median time to a ready sandbox, per provider per day.","autoAppAdminProvidersPageJsxTextProvisionVolume8594b4cd":"Provision volume","autoAppAdminProvidersPageJsxTextSandboxesProvisionedPerProvider9ae876ed":"Sandboxes provisioned per provider per day.","autoAppAdminProvidersPageJsxTextWhereTheTimeGoes1635a89e":"Where the time goes","autoAppAdminProvidersPageJsxTextAverageDurationOfEach9758b564":"Average duration of each provisioning phase (successful provisions), per provider.","autoAppAdminProvidersPageJsxTextRecentErrors79fc1ef2":"Recent errors","autoAppAdminProvidersPageJsxTextMigrateSandbox0dd6b182":"Migrate sandbox","autoAppAdminProvidersPageJsxTextMoveSession35fbd577":"Move session","autoAppAdminProvidersPageJsxTextToAnotherProviderThe62d5b8a3":"to another provider. The session's working tree is flushed to its git branch, a fresh sandbox is provisioned on the target (re-cloning the b","autoAppAdminProvidersPageJsxTextTargetProvider63739a78":"Target provider","autoAppAdminProvidersPageJsxAttrPlaceholderChooseAProvider325ba36e":"Choose a provider","autoAppErrorJsxTextSomethingWentWrong493afd7e":"Something went wrong","autoAppErrorJsxTextTryAgain3351b1d3":"Try again","autoAppGlobalErrorJsxAttrContentWidthDeviceWidthInitiala69f7f42":"width=device-width, initial-scale=1","autoAppGlobalErrorJsxTextSystemFaulta2da19e4":"System fault","autoAppNotFoundJsxText404PageNotFoundf7ea8161":"404 Page not found","autoAppNotFoundJsxTextThePageYouAreLookingccf1ecc5":"The page you are looking for does not exist.","autoAppNotFoundJsxTextGoBackToHome7b70f24a":"Go back to home","autoAppPresentationDeckJsxAttrLabelOverviewG38c3b5e4":"Overview (G)","autoAppPresentationDeckJsxAttrLabelFullscreenF28aed7ac":"Fullscreen (F)","autoAppPresentationDeckJsxTextKortix28fe100d":"Kortix ·","autoAppPresentationDeckJsxAttrAriaLabelCloseOverviewf408b52c":"Close overview","autoAppPresentationSlidesEngJsxTextAutonomousCompanyOperatingSystem84a0b7da":"AI Management System","autoAppPresentationSlidesEngJsxTextTheAICommandCentera5f1f9b6":"The AI command center","autoAppPresentationSlidesEngJsxTextForYourCompany25d27be8":"for your company","autoAppPresentationSlidesEngJsxTextOnePlaceToBuild6874ebc8":"One place to build, run, and govern your AI-native company.","autoAppPresentationSlidesEngJsxAttrEyebrowHowWeGot7d55e2ea":"How we got here","autoAppPresentationSlidesEngJsxAttrTitleApril2025We5a8b8958":"April 2025. We launch Suna.","autoAppPresentationSlidesEngJsxAttrLeadTheFirstOpen3002ec16":"The first open-source general-purpose AI agent. The project grew to 400,000 users and almost 20,000 stars on GitHub. Microsoft and others in","autoAppPresentationSlidesEngJsxAttrLabelGitHubStars281bbe4f":"GitHub stars","autoAppPresentationSlidesEngJsxAttrLabelRaisedUS2fe5bf64":"Raised · US","autoAppPresentationSlidesEngJsxAttrLabelViaGitHubFund874e057f":"via GitHub Fund","autoAppPresentationSlidesEngJsxTextSoWhatIsKortixf6e68e29":"So what is Kortix today?","autoAppPresentationSlidesEngJsxTextTheAICommandCenteraa567525":"The AI command center for your company.","autoAppPresentationSlidesEngJsxTextACommandCenterFor5691f67e":"A command center for the company: you connect the tools, you invite the team members, and the AI agents work on your internal data.","autoAppPresentationSlidesEngJsxAttrTitlePlatformInterfaceOverview68617c3b":"Platform interface overview.","autoAppPresentationSlidesEngJsxAttrEyebrowTheModele0cce1a2":"The model","autoAppPresentationSlidesEngJsxAttrTitleASharedMachinef4a64064":"A shared machine, where the company's knowledge accumulates over time.","autoAppPresentationSlidesEngJsxText01SHAREDKNOWLEDGE1256f17c":"01 · SHARED KNOWLEDGE","autoAppPresentationSlidesEngJsxTextOneEnvironmentOneBrainf89f5247":"One environment, one brain.","autoAppPresentationSlidesEngJsxTextDataFilesCredentialsAndc512985f":"Data, files, credentials, and conversation history all live within the same environment. The team queries the system in natural language.","autoAppPresentationSlidesEngJsxText02WORKFORCE25abe51f":"02 · WORKFORCE","autoAppPresentationSlidesEngJsxTextAnAgentForEvery428d6526":"An agent for every function.","autoAppPresentationSlidesEngJsxTextOnTopOfThisfa9706fd":"On top of this base work the agents the company needs — sales, finance, HR. Each agent has its own identity, its own permissions, and its ow","autoAppPresentationSlidesEngJsxAttrEyebrowHowItWorksdb0e191d":"How it works","autoAppPresentationSlidesEngJsxAttrTitleConnectConfigureDeploy54b71922":"Connect. Configure. Deploy.","autoAppPresentationSlidesEngJsxAttrStep01CONNECT9911758f":"01 · CONNECT","autoAppPresentationSlidesEngJsxAttrTitleYouConnectCompany944f7b6f":"You connect company tools","autoAppPresentationSlidesEngJsxAttrBodyEmailCRMERP153082eb":"Email, CRM, ERP, HR, payroll, drive, repository. 3,000+ native connectors via OAuth, MCP, REST, and CLI — and your proprietary connectors","autoAppPresentationSlidesEngJsxAttrStep02CONFIGUREc04c4777":"02 · CONFIGURE","autoAppPresentationSlidesEngJsxAttrTitleConfigureAgentsAndd883aee9":"Configure agents and automations","autoAppPresentationSlidesEngJsxAttrBodyAgentsForEveryd6808402":"Agents for every function with 60+ built-in skills. Automations trigger on events or schedules, with a shared, growing memory.","autoAppPresentationSlidesEngJsxAttrStep03DEPLOY3cae2a50":"03 · DEPLOY","autoAppPresentationSlidesEngJsxAttrTitleAgentsWorkAutonomouslye5cb7f7a":"Agents work autonomously","autoAppPresentationSlidesEngJsxAttrBody247Autonomousfad6bf9a":"24/7 autonomous operation within your infrastructure. Manage via web, mobile, Slack, or Microsoft Teams.","autoAppPresentationSlidesEngJsxAttrTitleNoModelLock5cbe3d84":"No model lock-in.","autoAppPresentationSlidesEngJsxAttrLeadTheCompanyChooses2dee2da2":"The company chooses: use the models included in Kortix, or connect the subscriptions it already has with OpenAI, Anthropic, Google, or other","autoAppPresentationSlidesEngJsxAttrTitlePickYourProvider8452d8cd":"Pick your provider","autoAppPresentationSlidesEngJsxAttrBodyChooseTheProvider485f153b":"Choose the provider from the settings panel.","autoAppPresentationSlidesEngJsxAttrTitleSwitchInReal9708c591":"Switch in real time","autoAppPresentationSlidesEngJsxAttrBodySwitchModelsIne5bdf218":"Switch models in real time without rewriting code.","autoAppPresentationSlidesEngJsxAttrTitleYourTokensOr58f6d79d":"Your tokens or ours","autoAppPresentationSlidesEngJsxAttrBodyUseYourOwna0a32148":"Use your own tokens, or the plans included with Kortix.","autoAppPresentationSlidesEngJsxTextWhereKortixLives366879fa":"Where Kortix lives","autoAppPresentationSlidesEngJsxTextInsideSlackAndMicrosoftf6088064":"Inside Slack and Microsoft Teams.","autoAppPresentationSlidesEngJsxTextInstallKortixAsA60d3eb87":"Install Kortix as a connector on Slack and Microsoft Teams. The agents reply and work inside the same conversations where the team already t","autoAppPresentationSlidesEngJsxTextMicrosoftTeams5bea06db":"Microsoft Teams","autoAppPresentationSlidesEngJsxTextWebMobile7b86dcc0":"Web & mobile","autoAppPresentationSlidesEngJsxAttrEyebrowUseCasesd96e576f":"Use cases","autoAppPresentationSlidesEngJsxAttrTitleThreeUseCases88bd381c":"Three use cases — personalised for each target.","autoAppPresentationSlidesEngJsxAttrLeadEachAgentHasa063247e":"Each agent has its own identity, permissions, and skills — configured for the way that team actually works.","autoAppPresentationSlidesEngJsxAttrTitleASalesAgentb126b58b":"A sales agent","autoAppPresentationSlidesEngJsxAttrBodyResearchesAccountsDrafts1e3ad491":"Researches accounts, drafts personalised outreach, and keeps the CRM current — then holds for sign-off before anything goes out.","autoAppPresentationSlidesEngJsxAttrTitleAFinanceAgentb10006e4":"A finance agent","autoAppPresentationSlidesEngJsxAttrBodyReconcilesTransactionsFlags3fe87d2a":"Reconciles transactions, flags exceptions, and closes the month — every step recorded in an audit trail.","autoAppPresentationSlidesEngJsxAttrTitleAnHRAgentc69f4dae":"An HR agent","autoAppPresentationSlidesEngJsxAttrBodyOnboardsNewHiresd9d535ee":"Onboards new hires, answers policy questions from your docs, and runs each SOP step by step, pausing at approval gates.","autoAppPresentationSlidesEngJsxTextGetInTouchf319cf34":"Get in touch","autoAppPresentationSlidesEngJsxTextTextMeAt7199731f":"Text me at","autoAppPresentationSlidesEngJsxTextDomKortixAi2c244da6":"dom@kortix.ai","autoAppPresentationSlidesEngJsxTextOrOnLinkedIn13b1c035":"— or on LinkedIn.","autoAppPresentationSlidesPlatformJsxTextCurlFsSLHttpsKortix8ac787c7":"curl -fsSL https://kortix.com/install | bash","autoAppPresentationSlidesPlatformJsxTextAutonomousCompanyOperatingSystem23597d7f":"AI Management System","autoAppPresentationSlidesPlatformJsxTextTheAICommandCentera4b5f603":"The AI command center","autoAppPresentationSlidesPlatformJsxTextForYourCompany6715feb7":"for your company","autoAppPresentationSlidesPlatformJsxTextOneRepoOneConfig711a8921":"One repo. One config. A workforce of AI agents that does the real work — and everything is code you own.","autoAppPresentationSlidesPlatformJsxTextStartBuildinge2f47368":"Start building","autoAppPresentationSlidesPlatformJsxTextTalkToSales159e3ec0":"Talk to sales","autoAppPresentationSlidesPlatformJsxTextTheBetb782bd17":"The bet","autoAppPresentationSlidesPlatformJsxTextACompanyIsGoing0251c6e0":"A company is going to be a git repository.","autoAppPresentationSlidesPlatformJsxTextNotAMetaphorLiterally9692a187":"Not a metaphor — literally something you can clone. Its agents, the skills it has built up, the way work gets done, every fact it has learne","autoAppPresentationSlidesPlatformJsxTextWhatItIsf8717422":"What it is","autoAppPresentationSlidesPlatformJsxTextTheAICommandCenterafc65ccf":"The AI command center for your company","autoAppPresentationSlidesPlatformJsxTextInPlainLanguage8d30ff19":"In plain language","autoAppPresentationSlidesPlatformJsxTextACloudComputerWhere43543f17":"A cloud computer where AI agents run your company","autoAppPresentationSlidesPlatformJsxAttrEyebrowWhyNowbc13f666":"Why now","autoAppPresentationSlidesPlatformJsxAttrTitleTheModelsGot3c57220a":"The models got good. They just can’t remember you.","autoAppPresentationSlidesPlatformJsxAttrLeadYouCanHandd5adb800":"You can hand a model a hard problem and it reasons through it better than most people. But every session it wakes up with no idea who you ar","autoAppPresentationSlidesPlatformJsxAttrLabelTheToya330cff4":"The toy","autoAppPresentationSlidesPlatformJsxAttrTitleTheToolsAre741f6e6b":"The tools are demos","autoAppPresentationSlidesPlatformJsxAttrBodySingleTenantNo0dcfebc3":"Single-tenant, no isolation, no version history, no real permissions, no security story. They fold the moment a business leans on them.","autoAppPresentationSlidesPlatformJsxAttrLabelTheCage4a5a587a":"The cage","autoAppPresentationSlidesPlatformJsxAttrTitleTheLabsRentd4c9dc02":"The labs rent it back","autoAppPresentationSlidesPlatformJsxAttrBodyCrawlBackTo121d49d4":"Crawl back to a model lab and they’ll host the polished version — and keep your data, your config, and your model on their side of the wall.","autoAppPresentationSlidesPlatformJsxAttrLabelTheRefusal713e5d74":"The refusal","autoAppPresentationSlidesPlatformJsxAttrTitleKortixIsThedce2722e":"Kortix is the third option","autoAppPresentationSlidesPlatformJsxAttrBodyAToyOr30c5182d":"A toy or a cage is the actual choice on the table today — and it’s a stupid one. Kortix is what you build when you refuse both.","autoAppPresentationSlidesPlatformJsxTextMostAIToolsGivede7eebf9":"Most AI tools give you a chat box.","autoAppPresentationSlidesPlatformJsxTextKortixGivesYouA2de643b9":"Kortix gives you a","autoAppPresentationSlidesPlatformJsxTextCommandCenterf5978255":"command center.","autoAppPresentationSlidesPlatformJsxTextOnePlaceWhereYour1521a0b5":"One place where your agents, skills, connectors, automations, and memory all live — and a workforce that produces real output: decks, repo","autoAppPresentationSlidesPlatformJsxTextOpenCodeNativeb4d960fb":"Open & code-native","autoAppPresentationSlidesPlatformJsxTextYourWholeCompanyAs85afa322":"Your whole company, as code.","autoAppPresentationSlidesPlatformJsxTextAKortixProjectIsa8e122a4":"A Kortix project is a git repo, and that repo","autoAppPresentationSlidesPlatformJsxTextTheCompanyTheWhole7610bc22":"the company. The whole thing is defined by two files — everything past that is files you can read and an agent can edit.","autoAppPresentationSlidesPlatformJsxTextTheKortixLayerSandboxca190b4e":"— the Kortix layer: sandbox image, triggers, channels, connectors, required secrets","autoAppPresentationSlidesPlatformJsxTextTheRuntimeAgentsSkillscceeb26a":"— the runtime: agents, skills, commands, tools, plugins, models","autoAppPresentationSlidesPlatformJsxAttrEyebrowTheCoreLoop29905493":"The core loop","autoAppPresentationSlidesPlatformJsxAttrTitleProjectSessionSandboxee8af285":"Project → session → sandbox → change request → main.","autoAppPresentationSlidesPlatformJsxAttrLeadWorkReachesMain11f15aad":"Work reaches main only through a change request you approve — so the company self-improves one reviewed change at a time.","autoAppPresentationSlidesPlatformJsxTextEverySessionRunsIn56bf7294":"Every session runs in its own disposable Linux sandbox — the agent can install, run, and break anything; only what it commits survives.","autoAppPresentationSlidesPlatformJsxAttrEyebrowUnderTheHood3e9e9bca":"Under the hood","autoAppPresentationSlidesPlatformJsxAttrTitleEverySessionIs5e5fc280":"Every session is its own machine, on its own branch.","autoAppPresentationSlidesPlatformJsxTextASyncEngineMirrors66aaf7a1":"A sync engine mirrors sessions into a database so the interface is instant — but the truth of any session always lives in the sandbox that r","autoAppPresentationSlidesPlatformJsxTextThePartNobodyElse57b93089":"The part nobody else has","autoAppPresentationSlidesPlatformJsxTextThousandsOfAgentsOne23279dee":"Thousands of agents. One config.","autoAppPresentationSlidesPlatformJsxTextZeroCrossover86ad5f52":"Zero crossover.","autoAppPresentationSlidesPlatformJsxTextRunThousandsOfAgents9a3f93e4":"Run thousands of agents on the same configuration at once — each boxed off, each feeding work back through change requests. When two change","autoAppPresentationSlidesPlatformJsxTextThisIsTheOnly74f58f8b":"This is the only way an AI workforce is ever more than a slideshow.","autoAppPresentationSlidesPlatformJsxAttrEyebrowWhatSInc726d2c3":"What’s in the command center","autoAppPresentationSlidesPlatformJsxAttrTitleOnePlaceYourf7c09691":"One place your whole AI operation runs from.","autoAppPresentationSlidesPlatformJsxAttrEyebrowCommandCenterAgentse0677a55":"Command center · Agents","autoAppPresentationSlidesPlatformJsxAttrLeadMarkdownPersonasWith298b95be":"Markdown personas with a prompt and a tightly scoped reach into tools and resources — one per role or task. Installable in one click, and ab","autoAppPresentationSlidesPlatformJsxAttrEyebrowCommandCenterSkillse923e1ca":"Command center · Skills","autoAppPresentationSlidesPlatformJsxAttrLeadThePartThat99be6c94":"The part that compounds. Markdown plus scripts that encode how your company gets a specific job done — written once, shared into every sessi","autoAppPresentationSlidesPlatformJsxAttrEyebrowCommandCenterConnectorscc0dd429":"Command center · Connectors","autoAppPresentationSlidesPlatformJsxAttrTitleConnectEverythingOnce90dc9225":"Connect everything, once.","autoAppPresentationSlidesPlatformJsxAttrLead1ClickConnectbd49b095":"1-click connect to 3,000+ apps, plus any MCP, OpenAPI, GraphQL, or HTTP service. The sandbox sees all of it through one proxy with a single","autoAppPresentationSlidesPlatformJsxTextCommandCenterSecrets582ab7fe":"Command center · Secrets","autoAppPresentationSlidesPlatformJsxTextOneTokenNotNinetya67633e0":"One token, not ninety.","autoAppPresentationSlidesPlatformJsxTextKeysOAuthAndModel44974f3c":"Keys, OAuth, and model credentials live in one governed place: encrypted, scoped per person and per group, pushed into the sandbox at runtim","autoAppPresentationSlidesPlatformJsxText1KORTIXTOKEN7cd8465b":"1 KORTIX_TOKEN","autoAppPresentationSlidesPlatformJsxTextSandboxScopedAudited1023f72c":"sandbox · scoped · audited","autoAppPresentationSlidesPlatformJsxAttrEyebrowCommandCenterChannels1e28ad0b":"Command center · Channels","autoAppPresentationSlidesPlatformJsxAttrTitleWhereYourPeople5a92eefb":"Where your people already are.","autoAppPresentationSlidesPlatformJsxAttrLeadSlackTeamsTelegram3e7973c3":"Slack, Teams, Telegram, WhatsApp, SMS, email. One click stands up a bot that starts sessions from wherever your team works — same agents, sa","autoAppPresentationSlidesPlatformJsxAttrEyebrowCommandCenterTriggers9dd9b5f3":"Command center · Triggers","autoAppPresentationSlidesPlatformJsxAttrTitleItRunsWithout0222686a":"It runs without you.","autoAppPresentationSlidesPlatformJsxAttrLeadCronAndSignedc7137017":"Cron and signed webhooks spawn sessions automatically — fire one every morning, or boot one the instant something happens. The main branch i","autoAppPresentationSlidesPlatformJsxAttrEyebrowHowWorkLands0010e2ce":"How work lands","autoAppPresentationSlidesPlatformJsxAttrTitleChangeRequests6e5aad55":"Change requests","autoAppPresentationSlidesPlatformJsxAttrLeadTheReviewedMerge785e3799":"The reviewed merge toward main — and the only way work lands. It’s the equivalent of CI/CD, but for the work of an organization instead of j","autoAppPresentationSlidesPlatformJsxTextCommandCenterMemoryb48a08fa":"Command center · Memory","autoAppPresentationSlidesPlatformJsxTextALivingCompanyBrain7ed9d8a3":"A living company brain.","autoAppPresentationSlidesPlatformJsxTextFilesForNowAndf51cbec0":"Files for now, and a system that learns later: chew through every session and every connected source and keep a picture of the company that","autoAppPresentationSlidesPlatformJsxAttrEyebrowMembersGroupsRolesed169530":"Members, groups & roles","autoAppPresentationSlidesPlatformJsxAttrTitleAWorkforceYou8e9267ec":"A workforce you can manage.","autoAppPresentationSlidesPlatformJsxAttrLeadARealAccountc271c3da":"A real account / user / group model where every agent, skill, file, secret, trigger, channel, and connector answers to who is allowed to tou","autoAppPresentationSlidesPlatformJsxAttrEyebrowHowTheWork5f427097":"How the work happens","autoAppPresentationSlidesPlatformJsxAttrTitleThreeWaysThe38c4ef16":"Three ways the work runs.","autoAppPresentationSlidesPlatformJsxTextPoliciesDecideWhatRunsdea9e686":"Policies decide what runs on its own and what waits for a human to say yes.","autoAppPresentationSlidesPlatformJsxAttrEyebrowRealWorkNot1f83090a":"Real work, not chat","autoAppPresentationSlidesPlatformJsxAttrTitleAgentsReturnFinished8d0f12c2":"Agents return finished deliverables.","autoAppPresentationSlidesPlatformJsxAttrLeadNotATranscript07b7fc10":"Not a transcript — decks, research, datasets, documents, and images, produced on real computers and handed back done. And they take real act","autoAppPresentationSlidesPlatformJsxAttrEyebrowInternalAgentsc33e77c7":"Internal agents","autoAppPresentationSlidesPlatformJsxAttrTitleStartWithOne2fe53fe5":"Start with one useful agent.","autoAppPresentationSlidesPlatformJsxAttrLeadEachIsA2eb95c3b":"Each is a Kortix project you can configure, deploy, and own.","autoAppPresentationSlidesPlatformJsxAttrEyebrowTwoWaysIn3552a350":"Two ways in","autoAppPresentationSlidesPlatformJsxAttrTitleBuildersConfigureTeams883f9aee":"Builders configure. Teams use.","autoAppPresentationSlidesPlatformJsxTextForBuildersc84efc99":"For builders","autoAppPresentationSlidesPlatformJsxTextConfigureItLikeSoftwaredfe3974f":"Configure it like software.","autoAppPresentationSlidesPlatformJsxTextDefineAgentsSkillsToolscf60a61c":"Define agents, skills, tools, and policies as code. Bring the models and keys you already pay for.","autoAppPresentationSlidesPlatformJsxTextForTeams733bb9d9":"For teams","autoAppPresentationSlidesPlatformJsxTextUseItLikeChat53e3e05e":"Use it like chat.","autoAppPresentationSlidesPlatformJsxTextGiveEveryTeamAgentsea166472":"Give every team agents that feel as simple as a chat app — with guardrails working quietly underneath.","autoAppPresentationSlidesPlatformJsxAttrEyebrowEverywhereYourTeam780b5c60":"Everywhere your team works","autoAppPresentationSlidesPlatformJsxAttrTitleChatSlackTeams59488d51":"Chat, Slack, Teams, or your own product.","autoAppPresentationSlidesPlatformJsxAttrLeadYourTeamTalkse4dd114d":"Your team talks to agents from a clean web and mobile workspace, from Slack or Microsoft Teams, or right inside your own app via the API. Sa","autoAppPresentationSlidesPlatformJsxAttrEyebrowForDevelopersff49cef3":"For developers","autoAppPresentationSlidesPlatformJsxAttrTitleBuiltOnFiles64c977e2":"Built on files you can actually open.","autoAppPresentationSlidesPlatformJsxAttrLeadNoSDKToca0b7d2f":"No SDK to learn, no API maze. Your agents, skills, and tools are plain files — clone the project, change what you want in your editor, and s","autoAppPresentationSlidesPlatformJsxAttrTitleAgentsAreSandboxes6c23b7e5":"Agents are sandboxes","autoAppPresentationSlidesPlatformJsxAttrBodyEachRunsIn8ed57783":"Each runs in its own disposable cloud VM, on its own git branch. Spin up thousands in parallel.","autoAppPresentationSlidesPlatformJsxAttrTitleWorkIsCodecab734a3":"Work is code","autoAppPresentationSlidesPlatformJsxAttrBodyAgentsSkillsTriggerse8dad872":"Agents, skills, triggers, connectors and policies are plain files. Diff, review, roll back.","autoAppPresentationSlidesPlatformJsxAttrTitleKortixInitShip24f086f1":"kortix init → ship","autoAppPresentationSlidesPlatformJsxAttrBodyScaffoldAProject47c3905e":"Scaffold a project, then push it live in the cloud with one command.","autoAppPresentationSlidesPlatformJsxAttrTitleYouOwnThe34e7b932":"You own the stack","autoAppPresentationSlidesPlatformJsxAttrBodyOpenAndSource3344f24a":"Open source. Self-host the exact same stack, bring your own keys.","autoAppPresentationSlidesPlatformJsxAttrEyebrowOpenSelfHostablef9aa286a":"Open & self-hostable","autoAppPresentationSlidesPlatformJsxAttrTitleSameProductEverywhere41c9494d":"Same product everywhere. Nothing phones home.","autoAppPresentationSlidesPlatformJsxAttrLeadRunKortixOn048c2e1e":"Run Kortix on your own infrastructure — laptop, VPS, your VPC, or fully air-gapped. Start a production-style instance from Docker images, th","autoAppPresentationSlidesPlatformJsxAttrEyebrowEnterpriseSecurityc11469d2":"Enterprise & security","autoAppPresentationSlidesPlatformJsxAttrTitleTheArchitectureIs4fc258b0":"The architecture is the security model.","autoAppPresentationSlidesPlatformJsxAttrLeadBuiltToSurvive7727b9f7":"Built to survive a security review, not slip past one — and you can run all of it on infrastructure you control.","autoAppPresentationSlidesPlatformJsxAttrTitleHardIsolationd585df5c":"Hard isolation","autoAppPresentationSlidesPlatformJsxAttrBody1Session1d6ad1454":"1 session = 1 sandbox = 1 branch. MicroVM-level, thousands in parallel with zero crossover.","autoAppPresentationSlidesPlatformJsxAttrTitleOneToken5d68cf6a":"One token","autoAppPresentationSlidesPlatformJsxAttrBodyYourAPIKeyscd9e6087":"Your API keys never enter a sandbox. Rotate one credential to revoke everything.","autoAppPresentationSlidesPlatformJsxAttrTitleAuditEverything3be9d076":"Audit everything","autoAppPresentationSlidesPlatformJsxAttrBodyEveryModelCall8c86019e":"Every model call logged with cost; every change a git commit you can revert.","autoAppPresentationSlidesPlatformJsxAttrTitleOwnYourDatab56eaad9":"Own your data","autoAppPresentationSlidesPlatformJsxAttrBodySelfHostVPC21d0cda0":"Self-host, VPC, on-prem, or air-gapped. SOC 2 Type II in progress.","autoAppPresentationSlidesPlatformJsxAttrEyebrowWhoItSaacd126b":"Who it’s for","autoAppPresentationSlidesPlatformJsxAttrTitleOnePlatformFour98163905":"One platform, four ways in.","autoAppPresentationSlidesPlatformJsxAttrEyebrowHowThisBecomesd07e3c68":"How this becomes a business","autoAppPresentationSlidesPlatformJsxAttrTitleThePlatformIsfa2254a2":"The platform is the proof of the platform.","autoAppPresentationSlidesPlatformJsxAttrLeadWeBuildOur3a652ae7":"We build our own companies on Kortix and let people watch: agents reviewing PRs, a preview per change, a Slack message turning into a shippe","autoAppPresentationSlidesPlatformJsxAttrTitleOpenSourced5df9dc2":"Open source","autoAppPresentationSlidesPlatformJsxAttrBodySelfHostableUnderneathb975d6f7":"Self-hostable underneath.","autoAppPresentationSlidesPlatformJsxAttrBodySeatsCompute61f703c9":"Seats + compute.","autoAppPresentationSlidesPlatformJsxAttrBodyRunItAnywhere9c8c4cd2":"Run it anywhere they must.","autoAppPresentationSlidesPlatformJsxAttrBodyAgentsSkillsWholedd8eefbc":"Agents, skills, whole projects.","autoAppPresentationSlidesPlatformJsxAttrBodyTheComputeFloora3af4e83":"The compute floor: CPU & GPU microVMs.","autoAppPresentationSlidesPlatformJsxTextTheLabsArePaid7834c27f":"The labs are paid to lock you in. We only make money if you’d stay anyway.","autoAppPresentationSlidesPlatformJsxTextWeReBuildingTheda31c271":"We’re building the thing that takes a company from human to AGI —","autoAppPresentationSlidesPlatformJsxTextAndLetsItKeep69d7479b":"and lets it keep every byte of itself on the way there.","autoAppPresentationSlidesPlatformJsxTextOpenSourceSSORBAC8718a667":"Open source · SSO, RBAC & on-prem · No lock-in","autoComponentsAnnouncementsKortixAppBannersJsxTextGetKortixAppsc0780da4":"Get Kortix Apps","autoComponentsAnnouncementsKortixAppBannersJsxTextMobileDesktop42d7fa14":"Mobile & Desktop","autoComponentsAnnouncementsKortixAppBannersJsxTextKortixForMobilec50716d4":"Kortix for Mobile is here","autoComponentsAnnouncementsKortixAppBannersJsxTextScanQROrfcd2deaa":"Scan QR or tap to download","autoComponentsAnnouncementsKortixAppBannersJsxTextAppStoref8af2f35":"App Store","autoComponentsAnnouncementsKortixAppBannersJsxTextGooglePlayacce92d9":"Google Play","autoComponentsAnnouncementsKortixAppBannersJsxTextKortixForDesktop4fbe6a69":"Kortix for Desktop is here","autoComponentsAnnouncementsKortixAppBannersJsxTextHandItOffb7c5ad4b":"Hand it off to Kortix. From anywhere on your","autoComponentsAnnouncementsKortixAppBannersJsxTextDownloadNowb096164a":". Download now.","autoComponentsAnnouncementsKortixAppBannersJsxTextDownloadFord6d78f54":"Download for","autoComponentsBlogPostCardJsxAttrSizesMaxWidth768pxed275b7f":"(max-width: 768px) 100vw, 50vw","autoComponentsCommonErrorBoundaryJsxTextSomethingWentWrong1571085c":"Something went wrong","autoComponentsCommonErrorBoundaryJsxTextThisPartOfThe0af7a52e":"This part of the app hit an unexpected error. Try again, or reload the page if it keeps happening.","autoComponentsCommonErrorBoundaryJsxTextTryAgain9615ff3f":"Try again","autoComponentsCommonRouteErrorJsxTextTryAgainfa3388ed":"Try again","autoComponentsCommonSystemFaultJsxTextSystemFault1e929d97":"System fault","autoComponentsCommonSystemFaultJsxTextTheAppFailedTo6f1872d0":"The app failed to load. Our team has been notified.","autoComponentsCommonSystemFaultJsxTextTryAgaineb14b1c9":"Try again","autoComponentsCommonSystemFaultJsxTextReturnHome8e955e59":"Return home","autoComponentsCommonSystemFaultJsxTextIfThisPersistsContact38b14ac8":"If this persists, contact","autoComponentsCommonSystemFaultJsxTextSupportKortixAi314bf854":"support@kortix.ai","autoComponentsDesktopDesktopUrlPromptJsxTextCustomFrontendURL8006a906":"Custom frontend URL","autoComponentsDesktopDesktopUrlPromptJsxTextPointThisDesktop4b4ff15f":"Point this desktop app at a self-hosted Kortix instance. The window reloads and the choice is saved locally.","autoComponentsDesktopDesktopUrlPromptJsxTextApplyReload0eff0716":"Apply & reload","autoComponentsHomeCliDemoJsxAttrParentClassMt0Animateaddcd0bb":"mt-0 animate-spin","autoComponentsHomeCliDemoJsxTextProjectName25e32f89":"Project name","autoComponentsHomeCliDemoJsxTextPickYourCodingAgent67e01482":"Pick your coding agent — ←/→ to move · enter to confirm · or click below","autoComponentsHomeCliDemoJsxAttrAriaLabelKortixTerminalc0bdb15a":"kortix terminal input","autoComponentsHomeCodeWindowJsxAttrIndicatorClassNameBgForegroundRounded88279797":"bg-foreground rounded","autoComponentsHomeDesktopDemoJsxAttrContentClassNameMaxWFull783e15fd":"max-w-full mx-0 h-full p-0 md:p-0 lg:p-0","autoComponentsHomeDesktopDemoJsxAttrInnerClassNameHFullMincaf5a8f0":"h-full min-h-0 rounded-none border-none bg-card shadow-none","autoComponentsHomeDesktopDemoJsxAttrParentClassNameHFullMinb9286cc2":"h-full min-h-0","autoComponentsHomeDevelopersRepoBrowserJsxTextYourCompanyAse8329445":"your company, as a git repo","autoComponentsHomeDevelopersRepoBrowserJsxTextReadOnlyd13e142f":"read only","autoComponentsHomeFooterJsxText4e1e5394":" ↗","autoComponentsHomeFooterJsxTextCopye99743e8":"©","autoComponentsHomeInteractiveDemoChatChatTurnJsxTextJust8e271ae4":"just now","autoComponentsHomeInteractiveDemoChatComposerJsxTextClaudeOpusf5c492d2":"Claude Opus 4.8","autoComponentsHomeInteractiveDemoChatScenariosJsxAttrMeta125fff632b":"12 slides · ready in 4 min","autoComponentsHomeInteractiveDemoChatScenariosJsxAttrTitle34fb62bedd":"34 commits across 5 repos","autoComponentsHomeInteractiveDemoChatScenariosJsxAttrTitleWeeklycf8e6ca6":"Weekly finance report sent","autoComponentsHomeInteractiveDemoChatScenariosJsxAttrMetaToce363a2c":"to finance@acme.ai · 6 recipients","autoComponentsHomeInteractiveDemoCliCliTerminalJsxTextKortix1390795b":"kortix cli","autoComponentsHomeInteractiveDemoPagesAgentsPageJsxAttrSub31719801":"Each agent is its own worker — defined in .kortix/opencode/agents","autoComponentsHomeInteractiveDemoPagesAgentsPageJsxTextNew96418b4c":"New agent","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxAttrSub03b65d67":"Run this project from chat — connect a Slack workspace and your agent responds in the channels you invite it to.","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextAdd56167f5a":"Add Kortix to your Slack workspace","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextOne406c5eb7":"One click — approve scopes in Slack and we'll wire this project to the workspace you choose. Tokens stay encrypted in this project&apos","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextAdd238856dd":"Add to Slack","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextBringaefcc1f4":"Bring your own Slack app","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextFor7cbd4533":"For self-hosted setups or custom-scoped installs.","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextPaste0cac2ba3":"Paste a Slack app manifest and your Bot User OAuth Token + Signing Secret — stored encrypted in","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextInvite62b0b613":"Invite the bot to any channel and","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextMention48d6e12f":"@mention","autoComponentsHomeInteractiveDemoPagesChannelsPageJsxTextIt4dd92d7f":"it — a session spawns and the agent replies in-thread.","autoComponentsHomeInteractiveDemoPagesChatPageJsxTextSessionsa01a2571":"sessions /","autoComponentsHomeInteractiveDemoPagesChatPageJsxTextTry70dc3164":"Try another","autoComponentsHomeInteractiveDemoPagesConnectorsPageJsxText36d607807":"3,000+ apps · connected once, shared securely across the org","autoComponentsHomeInteractiveDemoPagesConnectorsPageJsxAttrPlaceholder6a77c4eb":"Search apps…","autoComponentsHomeInteractiveDemoPagesConnectorsPageJsxTextPipedreamf86d3760":"Pipedream, MCP, OpenAPI, GraphQL & raw HTTP — one Connector interface","autoComponentsHomeInteractiveDemoPagesConnectorsPageJsxTextNob06fedb2":"No featured app matches “","autoComponentsHomeInteractiveDemoPagesModelsPageJsxAttrSubb32ed537":"Bring any provider — routed per session, keys stay in Secrets","autoComponentsHomeInteractiveDemoPagesModelsPageJsxTextAdd2c76a9b7":"Add provider","autoComponentsHomeInteractiveDemoPagesModelsPageJsxTextConnecting6d7cacee":"Connecting a provider writes its API key to Secrets — sessions pick it up at sandbox boot.","autoComponentsHomeInteractiveDemoPagesProjectsPageJsxAttrSub90e41adc":"Each project is a repo your agents run from — scaffolded with kortix init, deployed with kortix ship.","autoComponentsHomeInteractiveDemoPagesProjectsPageJsxTextNewba012455":"New project","autoComponentsHomeInteractiveDemoPagesProjectsPageJsxTextNo21ae83eb":"No projects yet","autoComponentsHomeInteractiveDemoPagesProjectsPageJsxTextKortixa20df451":"kortix init","autoComponentsHomeInteractiveDemoPagesProjectsPageJsxTextIn2531c25e":"in your terminal to scaffold one.","autoComponentsHomeInteractiveDemoPagesSchedulingPageJsxTextNew9bbd6b25":"New schedule","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrTitlec9466a0c":"Security & access","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrSubc5d3486d":"Roles, an encrypted secrets vault and per-tool permissions — with a full audit trail","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrTitle2f1b9a17":"Members & roles","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrTitle598e17c4":"Two-factor enabled","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrTitle875b7322":"Secrets vault","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrCountec89f018":"· 5 encrypted","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrTitle66f39a9b":"Tool permissions","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxAttrCount5dd733e2":"· scoped per connector","autoComponentsHomeInteractiveDemoPagesSecurityPageJsxTextSSOece1ed9f":"SSO + 2FA enforced · secrets injected at sandbox boot, never exposed to agents · every tool call logged.","autoComponentsHomeInteractiveDemoPagesSkillsPageJsxTextNewae67068c":"New skill","autoComponentsHomeInteractiveDemoPagesSkillsPageJsxAttrPlaceholderfdea48dd":"Search 71 skills…","autoComponentsHomeInteractiveDemoPagesSkillsPageJsxAttrLabelf4af9462":"General Knowledge Worker","autoComponentsHomeInteractiveDemoPagesSkillsPageJsxTextNo318d003e":"No skills match “","autoComponentsHomeInteractiveDemoPrimitivesJsxAttrAriaLabelToggleb5696af5":"Toggle schedule","autoComponentsHomeInteractiveDemoSectionJsxAttrAriaLabelToggle7eacfa60":"Toggle schedule","autoComponentsHomeInteractiveDemoSectionJsxTextBuildOutYour4428d562":"Build out your project","autoComponentsHomeInteractiveDemoSectionJsxAttrSubEachAgent23df874b":"Each agent is its own worker — defined in .kortix/opencode/agents","autoComponentsHomeInteractiveDemoSectionJsxTextNewAgent64a6cadb":"New agent","autoComponentsHomeInteractiveDemoSectionJsxText3000Apps0dfb5b41":"3,000+ apps · connected once, shared securely across the org","autoComponentsHomeInteractiveDemoSectionJsxAttrPlaceholderSearchApps86c6a76e":"Search apps…","autoComponentsHomeInteractiveDemoSectionJsxTextPipedreamMCPOpenAPI8368edb1":"Pipedream, MCP, OpenAPI, GraphQL & raw HTTP — one Connector interface","autoComponentsHomeInteractiveDemoSectionJsxTextNoFeaturedAppe3ac15b4":"No featured app matches “","autoComponentsHomeInteractiveDemoSectionJsxTextAddProvider890f5c67":"Add provider","autoComponentsHomeInteractiveDemoSectionJsxTextConnectingAProvider652bae2b":"Connecting a provider writes its API key to Secrets — sessions pick it up at sandbox boot.","autoComponentsHomeInteractiveDemoSectionJsxTextNewSchedulebc5ebb11":"New schedule","autoComponentsHomeInteractiveDemoSectionJsxAttrSubRunThisb0deafba":"Run this project from chat — connect a Slack workspace and your agent responds in the channels you invite it to.","autoComponentsHomeInteractiveDemoSectionJsxTextAddToSlacka83dbb5b":"Add to Slack","autoComponentsHomeInteractiveDemoSectionJsxTextBringYourOwn88c2065e":"Bring your own Slack app","autoComponentsHomeInteractiveDemoSectionJsxTextForSelfHosted80241a4d":"For self-hosted setups or custom-scoped installs.","autoComponentsHomeInteractiveDemoSectionJsxTextPasteASlackac1c89fb":"Paste a Slack app manifest and your Bot User OAuth Token + Signing Secret — stored encrypted in","autoComponentsHomeInteractiveDemoSectionJsxTextMentiona9a5bda4":"@mention","autoComponentsHomeInteractiveDemoSectionJsxTextTheBotIn0bafab5f":"the bot in any channel — a session spawns and the agent replies in-thread.","autoComponentsHomeInteractiveDemoSectionJsxTextInviteTheBot52bd9700":"Invite the bot to any channel and","autoComponentsHomeInteractiveDemoSectionJsxTextItASession30f80a59":"it — a session spawns and the agent replies in-thread.","autoComponentsHomeInteractiveDemoSectionJsxAttrTitleSecurityAccessf36d6bfb":"Security & access","autoComponentsHomeInteractiveDemoSectionJsxAttrSubRolesAn5790a86a":"Roles, an encrypted secrets vault and per-tool permissions — with a full audit trail","autoComponentsHomeInteractiveDemoSectionJsxAttrTitleMembersRoles021017af":"Members & roles","autoComponentsHomeInteractiveDemoSectionJsxAttrTitleTwoFactor677873ea":"Two-factor enabled","autoComponentsHomeInteractiveDemoSectionJsxAttrTitleSecretsVaultcb8a22ec":"Secrets vault","autoComponentsHomeInteractiveDemoSectionJsxAttrTitleToolPermissionsad9f5378":"Tool permissions","autoComponentsHomeInteractiveDemoSectionJsxAttrCountScopedPerf61a785a":"· scoped per connector","autoComponentsHomeInteractiveDemoSectionJsxTextSSO2FAEnforced29070cf3":"SSO + 2FA enforced · secrets injected at sandbox boot, never exposed to agents · every tool call logged.","autoComponentsHomeInteractiveDemoJsxTextBuildOutYourProject01488f98":"Build out your project","autoComponentsHomeNavbarJsxTextLaunchKortix5c2db556":"Get started","autoComponentsHomeStepMediaJsxAttrSizesMaxWidth1024px9d9619e1":"(max-width: 1024px) 100vw, 1024px","autoComponentsHomeThemeToggleJsxAttrAriaLabelLightTheme26963d69":"Light theme","autoComponentsHomeThemeToggleJsxAttrAriaLabelDarkThemebf1de1f0":"Dark theme","autoComponentsHomeThemeToggleJsxAttrAriaLabelSystemThemeb9e760e3":"System theme","autoComponentsIamAuditTabJsxTextRawRequeste6f7c98c":"Raw request","autoComponentsIamAuditTabJsxTextOccurredAteaaebdde":"Occurred at","autoComponentsIamAuditTabJsxTextEventIde196847b":"Event id","autoComponentsIamGroupsTabJsxAttrDescriptionBundleMembersTogether2839aadc":"Bundle members together and attach the whole group to projects with a role.","autoComponentsIamPermissionsHelpPopoverJsxTextAccountRoles567e9b57":"Account roles","autoComponentsIamPermissionsHelpPopoverJsxTextWhatAPerson42f41e4a":"What a person can do across the whole account.","autoComponentsIamPermissionsHelpPopoverJsxTextProjectRoles38d48ed3":"Project roles","autoComponentsIamPermissionsHelpPopoverJsxTextWhatAPerson5b13fd4a":"What a person can do on a specific project.","autoComponentsIamPermissionsHelpPopoverJsxTextBundleMembersAndd44ada52":"Bundle members and attach the whole group to a project at a role. Every group member inherits that role. A user picks up the highest role across their direct and group grants.","autoComponentsIamPermissionsHelpPopoverJsxTextOverrideRule60f7c767":"Override rule","autoComponentsIamPermissionsHelpPopoverJsxTextOwnersAndAdmins9e16f219":"Owners and admins always have","autoComponentsIamPermissionsHelpPopoverJsxTextOnEveryProject7532e737":"on every project, regardless of group attachments. To limit someone to specific projects, change their account role to","autoComponentsMarketplaceAddMarketplaceModalJsxTextAddAMarketplace6a70ab2e":"Add a marketplace","autoComponentsMarketplaceAddMarketplaceModalJsxTextPointAtA282139da":"Point at a GitHub repo (or a registry.json URL). We scan it for","autoComponentsMarketplaceAddMarketplaceModalJsxTextFilesAndImport6d37db6e":"files and import each one as a skill — Anthropic, Codex, skills.sh, or any SKILL.md repo works out of the box.","autoComponentsMarketplaceAddMarketplaceModalJsxAttrPlaceholderOwnerRepo0cb2a2dd":"owner/repo · https://…/registry.json","autoComponentsMarketplaceAddMarketplaceModalJsxTextGitRef62b0636a":"Git ref","autoComponentsMarketplaceAddMarketplaceModalJsxTextSparsePaths842b3808":"Sparse paths","autoComponentsMarketplaceAddMarketplaceModalJsxTextSparsePathsScan23f718ab":"Sparse paths scan only sub-folders of the repo. Separate multiple with commas.","autoComponentsMarketplaceAddToProjectModalJsxTextCommitsThis7b891a43":"Commits this","autoComponentsMarketplaceAddToProjectModalJsxTextIntoThe7714c57a":"into the repo — available in the next session.","autoComponentsMarketplaceAddToProjectModalJsxTextYouHavec6bfb213":"You have no projects yet — create one first.","autoComponentsMarketplaceAddToProjectModalJsxTextAlsoInstallsac6dcc9a":"Also installs:","autoComponentsMarketplaceAddToProjectModalJsxTextThisItem2bb697bd":"This item will be able to use:","autoComponentsMarketplaceAddToProjectModalJsxTextNoSpecial521751ba":"No special permissions required.","autoComponentsMarketplaceMarketplaceBrowserJsxAttrPlaceholderSearchTheMarketplace188bc1ee":"Search the marketplace","autoComponentsMarketplaceMarketplaceBrowserJsxTextAddSource8387392e":"Add source","autoComponentsMarketplaceMarketplaceBrowserJsxAttrTitleCouldnTLoad660e12ab":"Couldn’t load the marketplace","autoComponentsMarketplaceMarketplaceBrowserJsxAttrTitleNothingMatches64177fc9":"Nothing matches","autoComponentsMarketplaceMarketplaceBrowserJsxAttrDescriptionTryADifferentdd8061ac":"Try a different search or filter.","autoComponentsMarketplaceMarketplaceBrowserJsxTextLoadingMoreSourcese06aa650":"Loading more sources…","autoComponentsMarketplaceMarketplaceDiscoverJsxTextYourSourcesca5e4602":"Your sources","autoComponentsMarketplaceMarketplaceDiscoverJsxTextAddSource6a944c63":"Add source","autoComponentsMarketplaceMarketplaceDiscoverJsxAttrAriaLabelViewOn35edbd8c":"View on GitHub","autoComponentsMarketplaceMarketplaceDiscoverJsxTextFeaturedSources185c12c5":"Featured sources","autoComponentsMarketplaceMarketplaceDiscoverJsxTextCuratedPermissivelyLicensedReposadbe2517":"Curated, permissively-licensed repos — one click to enable.","autoComponentsMarketplaceMarketplaceDiscoverJsxAttrPlaceholderSearchSources18e70a1b":"Search sources","autoComponentsMarketplaceMarketplaceDiscoverJsxTextNoSourcesMatch0432edd6":"No sources match “","autoComponentsMarketplaceMarketplaceInstalledPanelJsxAttrTitleNothingInstalled853f4b1c":"Nothing installed yet","autoComponentsMarketplaceMarketplaceInstalledPanelJsxAttrDescriptionAddSkills237df761":"Add skills from Explore — they commit into this project's repo, live in the next session.","autoComponentsMarketplaceMarketplaceInstalledPanelJsxTextBrowseExplore6a8c54d5":"Browse Explore","autoComponentsMarketplaceMarketplaceInstalledPanelJsxTextCheckingForUpdatese5306763":"· checking for updates…","autoComponentsMarketplaceMarketplaceInstalledPanelJsxTextUpdateAvailable9830d327":"Update available","autoComponentsMarketplaceMarketplaceInstalledPanelJsxTextSourceRemoved1896940e":"Source removed","autoComponentsMarketplaceMarketplaceItemDetailJsxTextFilesb52a4869":"Files (","autoComponentsMarketplaceMarketplaceItemDetailJsxAttrTitleNoREADME4966916b":"No README","autoComponentsMarketplaceMarketplaceItemDetailJsxAttrDescriptionThisSkill2316ce31":"This skill doesn't ship a SKILL.md description.","autoComponentsMarketplaceMarketplaceItemDetailJsxAttrTitleCouldnT6f110527":"Couldn’t load this file","autoComponentsMarketplaceMarketplaceItemDetailJsxAttrDescriptionItWill4708a76f":"It will still be committed to your repo on install. View the source on GitHub for now.","autoComponentsMarketplaceMarketplaceViewJsxAttrAddLabelAddToThisc1246454":"Add to this project","autoComponentsMarketplaceMarketplaceViewJsxTextOneClickAddsA6902b908":"One click adds a skill into this project — live in the next session.","autoComponentsMarketplaceMarketplaceViewJsxTextEnableSourcesToPulle6187609":"Enable sources to pull their skills into your catalog — any public GitHub repo of SKILL.md files works out of the box.","autoComponentsPagesAdminAnalyticsPageJsxTextLoadingSimulator146e359a":"Loading simulator…","autoComponentsPagesAdminFeedbackPageJsxTextLoadingChartc252c8eb":"Loading chart…","autoComponentsProjectsCustomizeSectionsAgentsViewJsxTextEditWith8e645034":"Edit with agent","autoComponentsProjectsCustomizeSectionsAgentsViewJsxTextCreateAn48a275ca":"Create an agent","autoComponentsProjectsCustomizeSectionsChangesViewJsxTextChangeRequestsb28a4513":"Change requests","autoComponentsProjectsCustomizeSectionsChangesViewJsxAttrTitleNoc31e05e1":"No versions","autoComponentsProjectsCustomizeSectionsChangesViewJsxAttrDescriptionBranches801ec5e2":"Branches show up here as sessions create them.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextRunThisb83f74db":"Connect Slack so your agent responds in invited channels.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextOpenA4ae69220":"Open a project to manage its Slack connection.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxAttrTitleBringbd0857f4":"Bring your own Slack app","autoComponentsProjectsCustomizeSectionsChannelsViewJsxAttrDescriptionSelf7c5e4adb":"Self-hosted setups don't have OAuth wired up — paste a manifest and tokens to finish the install. Stored encrypted in this project's secrets","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextAddKortix0e416aa2":"Add Kortix to your Slack workspace","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextOneClick68f102dc":"One-click install — authorize Kortix in your workspace, no setup required.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextOneClicke1160263":"One click — approve scopes in Slack and we'll wire this project to the workspace you choose. Tokens stay encrypted in this project&apos","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextAddTo1729c1b6":"Add to Slack","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextBringYourc7326733":"Bring your own Slack app","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextForSelf3fbeca22":"For self-hosted setups or custom-scoped installs.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxAttrTitleHow8e991872":"How to use","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextInviteThe94db1964":"Invite the bot to any channel and","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextMention67ed74a7":"@mention","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextItA7139ed4f":"it. A session spawns in this project's sandbox and the agent replies in-thread via the","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextRemovesTheb460240b":"Removes the secrets and stops events for this project.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextStep12c389f4e":"Step 1 of 2 — paste the manifest into Slack and install the app.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextAppManifest040b924e":"App manifest","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextOpenSlacka088997c":"Open Slack","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextNextPasted1384aaa":"Next: paste tokens","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextStep22f8cae80":"Step 2 of 2 — paste the two values. They're stored in","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextAlongsideAny8e77bd03":"alongside any other secrets the project uses.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextBotUser193e4bfd":"Bot User OAuth Token","autoComponentsProjectsCustomizeSectionsChannelsViewJsxAttrPlaceholderXoxb84fe69f4":"xoxb-…","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextSlackYouraeeca6ed":"Slack → Your App → OAuth & Permissions → Bot User OAuth Token.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextSigningSecret2762795e":"Signing Secret","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextSlackYour09fe8ce8":"Slack → Your App → Basic Information → App Credentials → Signing Secret.","autoComponentsProjectsCustomizeSectionsChannelsViewJsxTextConnectSlack5ad82c3b":"Connect Slack","autoComponentsProjectsCustomizeSectionsCommandsViewJsxTextEditWithec0f2ca8":"Edit with agent","autoComponentsProjectsCustomizeSectionsCommandsViewJsxTextCreateA28cc596f":"Create a command","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleAdminb2173330":"Admin access required","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextOnlyProject51266c7d":"Only project managers can manage connectors.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleFailed959d47d5":"Failed to load connectors","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitlePickd2faa3e2":"Pick a connector","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionChoose1df54e4e":"Choose one on the left, or add an app.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextNoAuth45c43558":"No auth needed","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextNeedsSetupbefdbc49":"Needs setup","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextUnsavedChanges4682b870":"Unsaved changes","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextAddAppb53818fa":"Add app","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrPlaceholderSearch833758cc":"Search connectors…","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleGlobal199e18a1":"Global rules","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrSubtitleApply5b0aa03c":"Apply across all apps","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextNoConnectors6d11de92":"No connectors yet. Add an app to start.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrSubtitleNot1feeff2e":"Not connected","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextNoMatchf1f9a197":"No match for “","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextSyncFromb820661f":"Sync from kortix.yaml","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrAriaLabela08f6c74":"Save name","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleRemove74be1411":"Remove connector","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionDeletes0a130396":"Deletes it from kortix.yaml. Stored connections and permission rules are dropped.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextThisRemoves82d0b969":"This removes","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextFromKortixeb47b479":"from kortix.yaml and drops its stored connection and permission rules. This can’t be undone.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrConfirmLabelRemoved2120640":"Remove connector","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionThe33be3829":"The account this connector signs in with, and who may use it.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelOnec565aa8b":"One shared connection","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescConnect5c9357c5":"Connect the app once — every session uses that same account.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelEache6c3d706":"Each member brings their own connection","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescEvery9811ed05":"Every member links their own account the first time they use it (BYO).","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleThis580eabca":"This changes how members sign in","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextWhoCana896d6c5":"Who can use it","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSave5ba72522":"Save connection","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionHowa31daf50":"How Kortix reaches this connector — the same settings used when it was added.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleCouldn277b73a0":"Couldn’t load connection","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSave8c6f945f":"Save connection","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionWhat4e375237":"What the agent may do with this app — Allow, Ask first, or Block. Default follows global rules & risk.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrPlaceholderFiltere5f64efb":"Filter tools…","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleNo0e439be9":"No tools yet","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextConnectThec56fd30b":"Authorize the connection, then Sync to pull this app’s tools.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrAriaLabel924a321f":"Select all tools","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextSetToff934ec7":"· set to","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextTapA9c38f324":"· tap a permission to change it","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextRulebbcba279":"· rule","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextNoTools69d22076":"No tools match “","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextPatternRules6a07e5a7":"Pattern rules","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextCoverMany170203ce":"cover many tools at once","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextMatchBy60561318":"Match by glob (","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextSend0110e0d9":"send_*","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextOrRegexf5a26a27":") or regex (","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextDelete37c77402":"/^delete_.+/","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextPerTool4d0d7e9f":"). Per-tool choices above win.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrPlaceholderSend3b0a4ee1":"send_* or /^delete_.+/","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrAriaLabeld2296c34":"Remove rule","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextAddRule873a093f":"Add rule","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSave783950c7":"Save permissions","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextGlobalRules436bcada":"Global rules","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextPermissionsThat70379f46":"Permissions that apply across every connector. These override each app’s own rules.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextTheAccount7df6646c":"The account this connector signs in with.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextMembersAllowede220ec02":"Members allowed to run tools with the shared connection.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextAddA02e6aec7":"Add a connector","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextOneClicke48f34c9":"One-click connect a popular app, or add a custom API.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextEasyConnect19ca1c01":"Easy connect","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrPlaceholderSearch9d26aaaa":"Search apps — Gmail, Slack, Stripe, Notion…","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleEasy58e9c7b1":"Easy connect isn’t configured","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextEasyConnectc07266e0":"Easy-connect apps need the Connect provider configured.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleNof8067eda":"No apps found","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextLoading7131cc18":"Loading…","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextChooseThe068cf710":"Choose the connection, then who can use it.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSpec4235864d":"Spec URL or repo path","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSDL2325b707":"SDL spec (optional)","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelBase744ecef9":"Base URL","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelRoutes38b14436":"Routes spec (optional)","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextCustomHeader1e0e82ed":"Custom header","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelHeader9b2e0143":"Header name","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleCustom9bbc53a1":"Custom connector","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionConnect813a46e7":"Connect any OpenAPI, GraphQL, MCP, or HTTP service.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextYouLle5def626":"You’ll set the credential value after adding, from the connector’s page.","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextAddConnectore01e22fc":"Add connector","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextSetCredential5e9704a8":"Set credential for","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextStoredEncryptedc3eb374b":"Stored encrypted as","autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextAndResolved8293aa3e":"and resolved server-side, never injected into the sandbox.","autoComponentsProjectsCustomizeSectionsDevViewJsxTextDevelopOn125f276d":"Develop on your own machine","autoComponentsProjectsCustomizeSectionsDevViewJsxTextThisProjectfee1f74b":"Clone the repo and develop locally with your own agent.","autoComponentsProjectsCustomizeSectionsDevViewJsxTextThisProject56f17947":"This project lives in one git repo. Clone it, open it in your own coding agent — Claude Code, Cursor, Codex, opencode — and send your changes back as a change request.","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitleCouldnfd7978fb":"Couldn't load this project","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitleGetd1e11afa":"Get access to the repo","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintThiseeeaf15f":"This repo is private and owned by Kortix. Add your GitHub account as a collaborator, then accept the invite GitHub emails you.","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitleCloneeed535b5":"Clone the repo","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitleInstall5ee6d4a5":"Install the Kortix CLI","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintManages9608753c":"Manages this project's secrets, sessions, and change requests from your terminal.","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitleSet0eb61991":"Set up your local dev environment","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintWiresd2c58a2a":"Wires the Kortix skill into your coding agent (Claude Code, Cursor, opencode…) and adds anything your local setup is missing — existing file","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintWires03f7d392":"Wires the Kortix skill into your coding agent (Claude Code, Cursor, opencode…) and adds anything your local setup is missing.","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitlePull407b0e0e":"Pull secrets","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintWritese14f4d88":"Writes a .env with this project's secret names — fill in the values locally. Plaintext never leaves the cloud.","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitleBuild28ec472e":"Build it in your coding agent","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintThisb45ed869":"This is where the work happens. Open the repo in the agent you wired up and just talk to it — the Kortix skill is loaded, so it knows how to","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintThisc4b92026":"This is where the work happens. Open the repo in the agent you wired up and just talk to it — the Kortix skill is loaded, so it knows how to work with this project.","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrTitleShip32cd936f":"Ship your changes back","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrHintOpen4938bb8e":"Open a change request, then review and merge it from the dashboard or with kortix cr merge.","autoComponentsProjectsCustomizeSectionsDevViewJsxTextBranchesMerge6cfcecc7":"Branches merge into","autoComponentsProjectsCustomizeSectionsDevViewJsxTextThroughChange0501ea03":"through change requests — there's no other path to the main branch.","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrAriaLabel36dfdacf":"Copy command","autoComponentsProjectsCustomizeSectionsDevViewJsxAttrPlaceholderYoure78e16b1":"Your GitHub username","autoComponentsProjectsCustomizeSectionsDevViewJsxTextAddMedc5ab441":"Add me","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTriggerLabelRole9a6a4fdc":"Role help","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrDescriptionAdd514c1feb":"Add a Kortix user to this project. If they don't have an account yet, they'll get an invitation email — accepting puts them on this project","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextAddSeveralb131056b":"Add several at once — separate with commas, spaces, or Enter.","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextManageAccess8bb5d74d":"Manage access","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextDetachab249756":"Detach \"","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextFromThisaff4c2b1":"\" from this project","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextRemovesAccess971d3e55":"Removes access for everyone in this group, here only","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextRemoveFrom9323f47c":"Remove from \"","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextGroupdb1c1d43":"\" group","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextAffectsEvery735d8dbc":"Affects every project this group can access","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleRemovec6407d5f":"Remove this person's access to the project","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleRevoke0cd09fad":"Revoke project access?","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextWillLoseb378c86b":"will lose direct access to this project. If they belong to a group that's attached here, they'll still see the project at the group's role.","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrConfirmLabelRevokef1b3384e":"Revoke access","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextWillBeddf66ee4":"will be detached from this project. Everyone whose access here comes from this group — including","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextLosesIte94d42a4":"— loses it. Anyone with a direct grant or another attached group keeps their access.","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextWillBe60764226":"will be removed from the","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextGroupAcrossc2ff897e":"group across the whole account — this affects","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextEveryProjecta802077b":"every project","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextThatGroup4e384269":"that group can access, not just this one.","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleAccess7a756f48":"Access requests","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrDescriptionPeopleea85927a":"People who opened a private project link and asked to join. Approving grants Viewer access; you can raise their role after.","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitlePendingbfbe9f8b":"Pending invitations","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrDescriptionPeople552a0c43":"People you've invited by email who haven't accepted yet. They'll join the project at the chosen role as soon as they sign up.","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextInviteLinkef92ef7c":"Invite link expired — ask them to request a fresh one from the email","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextLinkExpires4566b25e":"Link expires","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleResendc80cacee":"Resend the invitation email and extend the link","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleCancel670de1c6":"Cancel this invitation","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleRevoke99f32c76":"Revoke invitation?","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextTheInvitation06f8c62e":"The invitation for","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextWillBee1f9a143":"will be cancelled. If they were only invited to this project, the whole invitation is removed and you'd need to invite them again to restore","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrConfirmLabelRevoke3c3ea8b9":"Revoke invitation","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleGroupfbf9c01c":"Group access","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrDescriptionAttach372d6d3a":"Attach an account group to this project. Every member of the group gets the chosen role here.","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrPlaceholderPickf0432525":"Pick a group…","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextNoGroups09e82ebd":"No groups attached yet.","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextAllYour31c4dcb5":"All your groups are already attached.","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextCreateOne549d8748":"Create one on the","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextAccountPage432b8a72":"account page","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleAccount2914778b":"Account owners and admins always have Manager access on every project, regardless of this grant's role.","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextGetManagera88e6fc4":"get Manager via account role","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrTitleDetach8e4cbc87":"Detach group from project?","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextWillNob7c4fd05":"will no longer be attached to this project. Members of this group will lose their inherited","autoComponentsProjectsCustomizeSectionsMembersViewJsxTextAccessUnlessdecb2209":"access (unless they also have a direct grant or belong to another attached group). Owners and admins keep their implicit Manager access eith","autoComponentsProjectsCustomizeSectionsMembersViewJsxAttrConfirmLabelDetache64492d2":"Detach group","autoComponentsProjectsCustomizeSectionsSecretsViewJsxTextConnectLLMd75427c8":"Connect LLM provider","autoComponentsProjectsCustomizeSectionsSecretsViewJsxAttrAriaLabelda70cb1c":"Secret actions","autoComponentsProjectsCustomizeSectionsSecretsViewJsxTextRemoveMy28722d0f":"Remove my value","autoComponentsProjectsCustomizeSectionsSecretsViewJsxTextDeleteSharedd7bb1731":"Delete shared value","autoComponentsProjectsCustomizeSectionsSecretsViewJsxAttrTitleUsed8cf287f":"Use your own value for this key","autoComponentsProjectsCustomizeSectionsSecretsViewJsxTextTheShared55c37a86":"The shared project value, injected into every member’s sessions (subject to sharing).","autoComponentsProjectsCustomizeSectionsSecretsViewJsxTextLeaveBlank2964f5bb":"Leave blank to keep the current value.","autoComponentsProjectsCustomizeSectionsSecretsViewJsxTextAPrivate3616193c":"A private value only you can use. It overrides the shared value in your own sessions and is never visible to other members.","autoComponentsProjectsCustomizeSectionsSecretsViewJsxTextUseMineb9944133":"Use mine","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextExperimentalWIPcb2304ee":"Experimental / WIP Features","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextSoftReleased8dc4e708":"Soft-released, still-moving features. Expand to opt this project in — they may change or break.","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextTheseAre02464c6a":"These are real but unfinished. Turning one on enables it for this project only — it may change shape or break between versions, and stays of","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextTheseAre75a29a6f":"These are real but unfinished. Turning one on enables it for this project only — it may change shape or break between versions, and stays off elsewhere.","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextAddPeople18915e9b":"Add people to this repo","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextKortixOwns7b6690bc":"Kortix owns this repo. Add GitHub users as collaborators so they can clone, browse, and work on it directly on github.com.","autoComponentsProjectsCustomizeSectionsSettingsViewJsxAttrPlaceholderGitHub84efb7a1":"GitHub username","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextCanEdit2eb88c1b":"Can edit","autoComponentsProjectsCustomizeSectionsSettingsViewJsxTextCanView39f4dd36":"Can view","autoComponentsProjectsCustomizeSectionsSkillsViewJsxTextEditWithc3582225":"Edit with agent","autoComponentsProjectsCustomizeSectionsSkillsViewJsxTextCreateA722fbf3c":"Create a skill","autoComponentsProjectsLegacyMachineCardJsxTextMigrationFailed81a347fa":"Migration failed","autoComponentsProjectsLegacyMachineCardJsxTextMustBeMigrated0ff74c6e":"Must be migrated","autoComponentsProjectsLegacyMachineCardJsxTextCanTMigratec1b5bcd9":"Can't migrate","autoComponentsProjectsPersonalOnboardingWelcomeJsxAttrAriaLabelWelcome436613af":"Welcome from Marko","autoComponentsProjectsPersonalOnboardingWelcomeJsxTextHeyIMe9d73cdb":"Hey, I'm Marko","autoComponentsProjectsPersonalOnboardingWelcomeJsxTextFounderCEOKortix4be58c34":"Founder & CEO, Kortix","autoComponentsProjectsPersonalOnboardingWelcomeJsxTextWantAHandf0a0c56c":"Want a hand setting up your company's AI command center?","autoComponentsProjectsPersonalOnboardingWelcomeJsxTextBookADemo7f3fc2d5":"Book a demo","autoComponentsProjectsPersonalOnboardingWelcomeJsxAttrTitleBookA33a960c8":"Book a call with Marko","autoComponentsProjectsPersonalOnboardingWelcomeJsxAttrDescriptionACouple5d67eddc":"A couple of quick details so Marko can tailor the call.","autoComponentsProjectsPoliciesPanelJsxAttrTitleAdminAccessRequired34f66101":"Admin access required","autoComponentsProjectsPoliciesPanelJsxTextOnlyProjectManagersCan603f67fc":"Only project managers can edit policies.","autoComponentsProjectsPoliciesPanelJsxAttrTitleDefaultBehavior16e16541":"Default behavior","autoComponentsProjectsPoliciesPanelJsxAttrDescriptionWhatHappensWhen4b8b2205":"What happens when no rule below matches. Override per tool with a rule.","autoComponentsProjectsPoliciesPanelJsxAttrDescriptionTopToBottom4926dcea":"Top to bottom — first match wins. Project rules override what individual connectors declare.","autoComponentsProjectsPoliciesPanelJsxTextAddRulea294c4bd":"Add rule","autoComponentsProjectsPoliciesPanelJsxAttrTitleKortixTomlHad8db85c74":"kortix.yaml had issues","autoComponentsProjectsPoliciesPanelJsxAttrTitleNoRulesYet795c2fb5":"No rules yet","autoComponentsProjectsPoliciesPanelJsxAttrDescriptionRequireApprovalFor7e7b9477":"Require approval for sensitive tools, or block ones you don't want agents touching.","autoComponentsProjectsPoliciesPanelJsxAttrPlaceholderStripeChargesCreate0ff0fa54":"stripe.charges.create · stripe.* · *","autoComponentsProjectsPoliciesPanelJsxTextUnsavedChangesSavingCommitse36b25bc":"Unsaved changes. Saving commits to","autoComponentsProjectsPoliciesPanelJsxTextSaveChanges3a1ef407":"Save changes","autoComponentsProjectsProjectAccessBoundaryJsxAttrEyebrowProjectUnavailablea0231815":"Project unavailable","autoComponentsProjectsProjectAccessBoundaryJsxAttrTitleProjectNotc66b9822":"Project not found","autoComponentsProjectsProjectAccessBoundaryJsxAttrDescriptionThisProject92b78195":"This project may have been deleted, archived, or the link is no longer valid.","autoComponentsProjectsProjectAccessBoundaryJsxAttrTitleCouldnT870a862d":"Couldn't load this project","autoComponentsProjectsProjectAccessBoundaryJsxAttrDescriptionSomethingWent8997618a":"Something went wrong before the project workspace opened. Try again, or go back to your projects.","autoComponentsProjectsProjectAccessBoundaryJsxAttrAriaLabelLoading21cf6b95":"Loading project","autoComponentsProjectsProjectAccessBoundaryJsxAttrEyebrowPrivateProjectd5b1951c":"Private project","autoComponentsProjectsProjectAccessBoundaryJsxAttrTitleRequestSent6567e02d":"Request sent","autoComponentsProjectsProjectAccessBoundaryJsxTextProjectManagersWill08e33ff7":"Project managers will see it in the Members screen and can approve you as a viewer.","autoComponentsProjectsProjectAccessBoundaryJsxAttrTitleSignedIna3165363":"Signed in","autoComponentsProjectsProjectAccessBoundaryJsxTextRequestingAccessAs09b70479":"Requesting access as","autoComponentsProjectsProjectAccessBoundaryJsxAttrPlaceholderTellThec2bb0f7d":"Tell the project manager why you need access…","autoComponentsProjectsProjectAccessBoundaryJsxTextBackToProjects9ad9ccd3":"Back to projects","autoComponentsProjectsProjectAccessBoundaryJsxTextCheckAgain9f1e6458":"Check again","autoComponentsProjectsProjectAccessBoundaryJsxTextRequestAccess870ec6e1":"Request access","autoComponentsProjectsProjectOnboardingWizardJsxAttrCloseClassNameTextMuted496fbb2b":"text-muted-foreground hover:bg-muted hover:text-foreground","autoComponentsProjectsProjectOnboardingWizardJsxTextYouReAll9d4a5be9":"You're all set","autoComponentsProjectsProjectOnboardingWizardJsxTextYourCommandCenterb0571c60":"Your command center is ready. Describe a task in the composer and your agent gets to work.","autoComponentsProjectsProjectOnboardingWizardJsxTextStartBuilding342653ba":"Start building","autoComponentsProjectsProjectOnboardingWizardJsxText3000Connectors0d987bba":"3,000+ connectors you can connect to — OAuth, MCP, REST, and the tools your team already lives in.","autoComponentsProjectsProjectOnboardingWizardJsxTextToMakeIt58c5adb1":"To make it truly yours, build out:","autoComponentsProjectsProjectOnboardingWizardJsxAttrParentClassMt1f0eb5c30":"mt-1.5 size-3","autoComponentsProjectsProjectOnboardingWizardJsxTextAllOfIt1d62a58a":"All of it lives in your repo as code, version-controlled, and compounds week over week.","autoComponentsProjectsProjectOnboardingWizardJsxAttrAriaLabelOnboarding0aefa252":"Onboarding progress","autoComponentsProjectsProjectOnboardingWizardJsxAttrTitleBookA7b71ab51":"Book a call with Marko","autoComponentsProjectsProjectOnboardingWizardJsxAttrDescriptionACouple16048a01":"A couple of quick details so Marko can tailor the call.","autoComponentsProjectsProjectProviderModalJsxTextChatGPTPlusPro0deb5530":"ChatGPT Plus/Pro","autoComponentsProjectsProjectProviderModalJsxTextSignInWitha0c5128c":"Sign in with your ChatGPT subscription. We save the login as an encrypted project secret so future sessions reuse it.","autoComponentsProjectsProjectProviderModalJsxTextAuthorizeInThed882ae47":"Authorize in the browser","autoComponentsProjectsProjectProviderModalJsxTextOpenAuthPaged0381841":"Open auth page","autoComponentsProjectsProjectProviderModalJsxTextEnterThisCodee346992b":"Enter this code on the auth page:","autoComponentsProjectsProjectProviderModalJsxTextStartingAuthorization35b1fe13":"Starting authorization…","autoComponentsProjectsProjectProviderModalJsxTextChatGPTSubscriptionConnectedcf12bc87":"ChatGPT subscription connected.","autoComponentsProjectsProjectProviderModalJsxTextShownInTheb8c08575":"shown in the model picker","autoComponentsProjectsProjectProviderModalJsxTextResetToDefaults75549180":"Reset to defaults","autoComponentsProjectsSandboxSnapshotCardJsxTextKeepWarm55c849e1":"Keep warm","autoComponentsProjectsSandboxSnapshotCardJsxTextPreBootSandboxesa51080fa":"Pre-boot sandboxes of this template so sessions open instantly. Off by default; ready sandboxes use credits while running, only while you’re","autoComponentsProjectsSandboxSnapshotCardJsxTextWarmingfab1d732":"warming…","autoComponentsProjectsSandboxSnapshotCardJsxAttrAriaLabelDecreased514ed20":"Decrease ready sandboxes","autoComponentsProjectsSandboxSnapshotCardJsxAttrAriaLabelIncrease82989967":"Increase ready sandboxes","autoComponentsProjectsSandboxSnapshotCardJsxAttrAriaLabelKeepb2a43916":"Keep this template warm","autoComponentsProjectsSandboxSnapshotCardJsxTextVCPU15535b27":"vCPU","autoComponentsProjectsSandboxSnapshotCardJsxTextGiB9d1e488f":"GiB","autoComponentsProjectsSandboxSnapshotCardJsxTextGiBDiskd395296d":"GiB disk","autoComponentsProjectsSandboxSnapshotCardJsxAttrAriaLabelEditdc9d24c2":"Edit template","autoComponentsProjectsSandboxSnapshotCardJsxAttrAriaLabelDeleteda0507cf":"Delete template","autoComponentsProjectsSandboxSnapshotCardJsxTextFailedToLoad51fc2341":"Failed to load sandbox templates:","autoComponentsProjectsSandboxSnapshotCardJsxTextSandboxTemplatesc053b378":"Sandbox templates","autoComponentsProjectsSandboxSnapshotCardJsxTextSessionsBootFrom7b80534b":"Sessions boot from a sandbox template. The platform default is shared by every project and clones your repo into","autoComponentsProjectsSandboxSnapshotCardJsxTextAtBootAdd8305ffcd":"at boot. Add your own templates here or via","autoComponentsProjectsSandboxSnapshotCardJsxTextCouldnTReadf6f1bc48":"Couldn’t read project sandbox config:","autoComponentsProjectsSandboxSnapshotCardJsxTextNewTemplate62cccf85":"New template","autoComponentsProjectsSandboxSnapshotCardJsxTextNoTemplatesResolved1e5654c6":"No templates resolved yet.","autoComponentsProjectsSandboxSnapshotCardJsxTextLatestBuildFailedf1dd9030":"Latest build failed","autoComponentsProjectsSandboxSnapshotCardJsxTextFixWithAgent918e1083":"Fix with agent","autoComponentsProjectsSandboxSnapshotCardJsxTextRecentBuildscde18d4a":"Recent builds","autoComponentsProjectsSandboxSnapshotCardJsxTextNoBuildsRecordedfa95bbcb":"No builds recorded yet. The platform default builds once globally; custom templates build on first use.","autoComponentsProjectsSandboxTemplateFormJsxTextDefineASandbox3d0eaee1":"Define a sandbox image sessions can boot from. Pick either a public Docker image or a Dockerfile in your repo. The Kortix runtime layer (age","autoComponentsProjectsSandboxTemplateFormJsxTextDefineASandbox3c0ec6b6":"Define a sandbox image sessions can boot from. Pick either a public Docker image or a Dockerfile in your repo. The Kortix runtime layer is added automatically.","autoComponentsProjectsSandboxTemplateFormJsxAttrPlaceholderMLDevelopment53e1277c":"ML Development","autoComponentsProjectsSandboxTemplateFormJsxTextImageSourcecaa2d535":"Image source","autoComponentsProjectsSandboxTemplateFormJsxTextPublicImage51d40ec2":"Public image","autoComponentsProjectsSandboxTemplateFormJsxTextPathInsideThis6fc72ad4":"Path inside this repo","autoComponentsProjectsSandboxTemplateFormJsxTextMustIncludeA5f4b959e":"Must include a specific tag (no","autoComponentsProjectsSandboxTemplateFormJsxTextDockerfilePathda3717f2":"Dockerfile path","autoComponentsProjectsSandboxTemplateFormJsxTextRelativeToThe552e0897":"Relative to the repository root.","autoComponentsProjectsSandboxTemplateFormJsxAttrLabelMemoryGiB200ca9a8":"Memory (GiB)","autoComponentsProjectsSandboxTemplateFormJsxAttrLabelDiskGiB94935856":"Disk (GiB)","autoComponentsProjectsSandboxTemplateFormJsxAttrPlaceholderLeaveBlank4adf74ef":"Leave blank to use the Kortix default (recommended).","autoComponentsProjectsSunaMigrationBannerJsxTextRestoringc3690c1d":"Restoring…","autoComponentsProjectsTriggersViewJsxTextOneOffFiresAacd67796":"One-off · fires a single time","autoComponentsSetupLinksConnectorIntakeJsxTextLoading4e5fd209":"Loading…","autoComponentsSetupLinksConnectorIntakeJsxTextFinishInThe0a10e77c":"Finish in the popup","autoComponentsSetupLinksConnectorIntakeJsxTextCompleteThe07661028":"Complete the","autoComponentsSetupLinksConnectorIntakeJsxTextSignInIn5b6c05ee":"sign-in in the window that opened. Once it’s connected, you can close this and tell the agent “done”.","autoComponentsSetupLinksConnectorIntakeJsxTextReopenConnectWindowb7f822cd":"Reopen connect window","autoComponentsSetupLinksConnectorIntakeJsxText1ClickConnect9e029325":"1-click connect","autoComponentsSetupLinksConnectorIntakeJsxTextViaPipedreamNo5dadf477":"— no keys are pasted into chat or stored in the repo.","autoComponentsSetupLinksSecretIntakeFormJsxTextLoading93bbc067":"Loading…","autoComponentsSetupLinksSecretIntakeFormJsxTextSavedSecurelyd63e94b1":"Saved securely","autoComponentsSetupLinksSecretIntakeFormJsxTextYouCand69604da":"You can close this. The agent will pick it up — tell it “done” to continue.","autoComponentsSetupLinksSecretIntakeFormJsxTextEncryptedAtf17a4f88":"Encrypted at rest. Only this project can read it. The agent never sees the value.","autoComponentsTabsPreviewTabContentJsxAttrTitleEnterA2bdb9e26":"Enter a sandbox port, e.g. 3000","autoComponentsTabsPreviewTabContentJsxAttrPlaceholderTypeA7d8290b9":"Type a port or app URL","autoComponentsTabsPreviewTabContentJsxTextPreviewBrowser8136da05":"Preview browser","autoComponentsTabsPreviewTabContentJsxTextOpenAnAppda305669":"Open an app preview from chat, or type a port like","autoComponentsTabsPreviewTabContentJsxTextIfYouKnow6745fa88":"if you know it.","autoComponentsTabsPreviewTabContentJsxAttrTitleOpenPrivate087e249c":"Open private preview","autoComponentsTabsPreviewTabContentJsxAttrTooltipCopyAe8e3844f":"Copy a public link for this app preview","autoFeaturesAccountsSettingsAppearanceTabJsxAttrAriaLabelLightf3e8a707":"Light theme","autoFeaturesAccountsSettingsAppearanceTabJsxAttrAriaLabelDark294ccd51":"Dark theme","autoFeaturesAccountsSettingsAppearanceTabJsxAttrAriaLabelSystem89196afd":"System theme","autoFeaturesAccountsSettingsBillingTabJsxTextKortixTeam698bb03b":"Kortix Team","autoFeaturesAccountsSettingsBillingTabJsxTextSubscribeToPut67032571":"Subscribe to put your whole team on Kortix — LLM compute and AI Computers, one wallet.","autoFeaturesAccountsSettingsBillingTabJsxTextSubscribeToTeam6a396f73":"Subscribe to Team plan","autoFeaturesAccountsSettingsBillingTabJsxAttrTitleYouRanefc3b00e":"You ran out of credits","autoFeaturesAccountsSettingsBillingTabJsxTextAutoTopUp9c42761a":"Auto top-up","autoFeaturesAccountsSettingsBillingTabJsxTextNeverRunOut4fdb8c3d":"Never run out again","autoFeaturesAccountsSettingsBillingTabJsxTextBuyCreditsd35e7077":"Buy credits","autoFeaturesAccountsSettingsBillingTabJsxTextOneTimeTop22a81cd3":"One-time top-up","autoFeaturesAccountsSettingsCliTokensTabJsxTextBullbb9413cf":"•","autoFeaturesAccountsSettingsKeyboardShortcutsTabJsxAttrLabelCmd975d185c":"Cmd (⌘)","autoFeaturesAccountsSettingsKeyboardShortcutsTabJsxAttrLabelCtrl620ee654":"Ctrl (⌃)","autoFeaturesBillingAccountOverviewJsxTextCouldnTLoadAccountacf6a97f":"Couldn't load account state. Refresh the page.","autoFeaturesBillingAccountOverviewJsxAttrLabelWalletBalancecdd0c37d":"Wallet balance","autoFeaturesBillingAccountOverviewJsxTextSpendThisPeriodc3ec187b":"Spend this period","autoFeaturesBillingAccountOverviewJsxAttrSublabelSandboxRuntimef66ba97a":"Sandbox runtime","autoFeaturesBillingClaimPerSeatCardJsxTextSwitchTo0413ce4a":"Switch to seat-based pricing","autoFeaturesBillingClaimPerSeatCardJsxTextMoveOff5cec3ce2":"Move off per-machine billing to the new $40/seat plan. We cancel your machine subscriptions, put your unused balance toward your first seat,","autoFeaturesBillingClaimPerSeatCardJsxTextNonExpiringc3f29937":"non-expiring credit","autoFeaturesBillingClaimPerSeatCardJsxTextSwitchingf28a1421":"Switching…","autoFeaturesBillingClaimPerSeatCardJsxTextClaimSeat0d87cca9":"Claim seat-based pricing","autoFeaturesBillingSeatManagementCardJsxTextTeamSeatsac65209c":"Team seats","autoFeaturesBillingSeatManagementCardJsxTextTeammateIncludesCompute626f1aeb":"/teammate · includes compute + LLM usage","autoFeaturesBillingSeatManagementCardJsxTextModba31324":"· /mo","autoFeaturesBillingSeatManagementCardJsxTextThisPeriode510d764":"This period","autoFeaturesBillingSeatManagementCardJsxTextTotalSpendThis908ba767":"Total spend this period","autoFeaturesBillingTeamPlanCheckoutJsxTextSubscribeToKortix28a9093d":"Subscribe to Kortix Team","autoFeaturesBillingTeamPlanCheckoutJsxTextPerSeatPera29a6c6d":"per seat per month. LLM compute and AI Computers for every teammate.","autoFeaturesBillingTeamPlanCheckoutJsxTextKortixTeame5d39916":"Kortix Team","autoFeaturesBillingTeamPlanCheckoutJsxTextPerSeatc1480f59":"per seat","autoFeaturesBillingTeamPlanCheckoutJsxTextBilledMonthlybdd7a0cd":"billed monthly","autoFeaturesBillingTeamPlanCheckoutJsxTextLLMComputeAndfea9deab":"LLM compute and AI Computers for every teammate. Add seats as your team grows.","autoFeaturesBillingTeamPlanCheckoutJsxTextStartingCheckout282edf7f":"Starting checkout…","autoFeaturesBillingTeamPlanCheckoutJsxTextAutoProratedCancelfa091962":"Auto-prorated · cancel anytime · billed monthly","autoFeaturesBillingTeamPlanCheckoutJsxAttrLabelOnlyAccountbf72d3e0":"Only account owners can subscribe. Your seat activates automatically once they do.","autoFeaturesBillingTeamPlanCheckoutJsxTextAskAnAccount6f6b506d":"Ask an account owner for a seat","autoFeaturesBillingTeamPlanCheckoutJsxTextOnlyAccountOwnerse7f0d952":"Only account owners can manage billing. Once an owner subscribes to Kortix Team, your seat is activated automatically.","autoFeaturesCoWorkerProjectHeaderProjectTopBarJsxAttr9a2fb75f":"Toggle sidebar","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxTextSomething18ab9904":"something real to work on.","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxAttrPlaceholder115e6c2d":"Describe a task to start a session…","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxAttrAria3e2a363b":"Start session","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxAttrAriaf25547eb":"Scroll tabs left","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxAttrAria59321156":"Scroll tabs right","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxAttrAria4acf4ecd":"Sandbox template","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxTextSandboxe9c5fbaa":"Sandbox template","autoFeaturesCoWorkerProjectLayoutProjectHomeJsxTextBuildbdf03b73":"Build out your project","autoFeaturesCoWorkerProjectSidebarFooterProjectChangeRequestsNav63c4c66f":"Open changes","autoFeaturesCoWorkerProjectSidebarFooterProjectChangeRequestsNavafed4c1a":"ready for","autoFeaturesCoWorkerProjectSidebarFooterProjectOnboardingSetupJsx957fad2d":"Quickstart guide","autoFeaturesCoWorkerProjectSidebarFooterProjectOnboardingSetupJsx814d0f37":"Set up project","autoFeaturesCoWorkerProjectSidebarFooterProjectOnboardingSetupJsx66eaf244":"Set up project","autoFeaturesCoWorkerProjectSidebarFooterProjectSandboxAlertJsxe7d8ac75":"Fix with agent","autoFeaturesCoWorkerProjectSidebarFooterProjectSandboxAlertJsx8794c0a3":"Retry build","autoFeaturesCoWorkerProjectSidebarModalRenameSessionModalJsx265e123d":"Rename session","autoFeaturesCoWorkerProjectSidebarModalRenameSessionModalJsx19d80686":"Give this session a name. Leave it empty to use the automatic title.","autoFeaturesCoWorkerProjectSidebarModalRenameSessionModalJsx2412472b":"Session name","autoFeaturesCoWorkerProjectSidebarModalShareSessionModalJsxc5c9cc41":"Session access","autoFeaturesCoWorkerProjectSidebarModalShareSessionModalJsxb29062b4":"Choose who can open this session. Anyone with access can read the conversation and continue it.","autoFeaturesWorkspaceProjectSidebarModalShareSessionModalDelegateDescription":"{owner} created this session. As a project manager you govern its access.","autoFeaturesWorkspaceProjectSidebarModalShareSessionModalViewerDescription":"{owner} owns this session. Only the owner can change who opens it.","autoFeaturesCoWorkerProjectSidebarProjectSessionListJsxText1fba7ca0":"No sessions match this filter.","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxAttrLabelb7b89bbc":"Expand sidebar","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxAttrAria0ca75c68":"Expand sidebar","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxAttrLabel335b2318":"New session","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxAttrAria7f9fc26a":"New session","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxTextNew55d0b491":"New session","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxTextBulled44625b":"•","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxAttrAria39d6d82d":"Toggle sessions","autoFeaturesCoWorkerProjectSidebarProjectSidebarJsxAttrContentClassName35c48ace":"flex h-full min-h-0 flex-col","autoFeaturesCoWorkerSharedSharingPickerJsxAttrPlaceholderSearch5747dea4":"Search members…","autoFeaturesContactDemoQualifierModalJsxAttrPlaceholderYourName7a7a05ae":"Your name","autoFeaturesContactDemoQualifierModalJsxTextWorkEmailc15a71d1":"Work email","autoFeaturesContactDemoQualifierModalJsxAttrPlaceholderYouCompanyee6aa000":"you@company.com","autoFeaturesContactDemoQualifierModalJsxTextCompanyName04d8fd10":"Company name","autoFeaturesContactDemoQualifierModalJsxAttrPlaceholderAcmeInc4c41f6f1":"Acme Inc.","autoFeaturesContactDemoQualifierModalJsxTextCompanySizee13e1fef":"Company size","autoFeaturesContactDemoQualifierModalJsxAttrPlaceholderSelectCompanya2ad2a30":"Select company size","autoFeaturesContactDemoQualifierModalJsxTextWhatDoYoud0acfddd":"What do you want Kortix to do?","autoFeaturesContactDemoQualifierModalJsxAttrPlaceholderEGcf1d0320":"e.g. automate our inbound support triage","autoFeaturesContactDemoQualifierModalJsxTextNoSpamAd06b8b00":"No spam — a human replies.","autoFeaturesContactDemoQualifierModalJsxTextSendingb5b0a82a":"Sending…","autoFeaturesContactDemoQualifierModalJsxTextRequestReceivedab5bf6e1":"Request received","autoFeaturesContactDemoQualifierModalJsxTextThanksWeVeafd780cd":"Thanks — we've got your details.","autoFeaturesContactDemoQualifierModalJsxAttrTitleWeLle3d686d7":"We'll be in touch","autoFeaturesContactDemoQualifierModalJsxTextKortixIsBuilt9d7721e7":"Kortix is built for companies — we'll reach out if it's a fit.","autoFeaturesContactDemoQualifierModalJsxTextSpinUpYour0b48cac5":"Spin up your first agent in minutes — most teams your size are up and running the same day. If you hit a wall, we're one email away.","autoFeaturesContactDemoQualifierModalJsxTextEmailUs103301cb":"Email us","autoFeaturesFileViewerFileContentRendererJsxTextCouldnT794ae800":"Couldn't preview this file","autoFeaturesFileViewerFilePreviewModalJsxAttrTooltipCopy42229181":"Copy a public view-only link for this file","autoFeaturesFileViewerFilePreviewModalJsxAttrTitleClosea40d0510":"Close (Esc)","autoFeaturesFileViewerFilePreviewModalJsxAttrTitlePreviousb7cda316":"Previous file","autoFeaturesFileViewerFilePreviewModalJsxAttrAriaLabel03ab3a76":"Previous file","autoFeaturesFileViewerFilePreviewModalJsxAttrTitleNext96666bd8":"Next file","autoFeaturesFileViewerFilePreviewModalJsxAttrAriaLabelda6ea7e4":"Next file","autoFeaturesFilesComponentsFileSearchJsxAttrAriaLabelClose93fc5ea3":"Close search","autoFeaturesLayoutAccountSwitcherJsxTextAccountSettings2afa9a37":"Account settings","autoFeaturesLayoutDownloadAppsModalJsxTextPlanMyWeek142b5d17":"Plan my week and draft the emails","autoFeaturesLayoutDownloadAppsModalJsxTextOnItDrafting85ec739b":"On it — drafting 3 emails now…","autoFeaturesLayoutDownloadAppsModalJsxTextCurlFsSLKortix0e6a96da":"curl -fsSL kortix.com/install | bash","autoFeaturesLayoutDownloadAppsModalJsxTextInstalledKortix44ca8439":"✓ Installed kortix","autoFeaturesLayoutDownloadAppsModalJsxTextKortixMyProjectdd5d950f":"kortix init my-project","autoFeaturesLayoutDownloadAppsModalJsxTextScaffolding6a800c2c":"▸ scaffolding…","autoFeaturesLayoutDownloadAppsModalJsxTextStartAReturne3430bb5":"Start a return","autoFeaturesLayoutDownloadAppsModalJsxTextSummarizeMyDaya3202c71":"Summarize my day","autoFeaturesLayoutDownloadAppsModalJsxTextDoMoreWith33a6da8d":"Do more with Kortix, everywhere you work","autoFeaturesLayoutDownloadAppsModalJsxTextRunKortixNatively85de8599":"Run Kortix natively, in your terminal, in your browser, and on the go.","autoFeaturesLayoutDownloadAppsModalJsxAttrDescriptionChatCowork8b4379e0":"Chat, cowork, and code in one app. Kortix runs natively with your files, apps, and browser tabs.","autoFeaturesLayoutDownloadAppsModalJsxAttrTintBgGradient25efe36b":"bg-gradient-to-b from-muted/40 to-card","autoFeaturesLayoutDownloadAppsModalJsxTextDownloadFor926941d2":"Download for","autoFeaturesLayoutDownloadAppsModalJsxTextAlsoForff95d8c9":"Also for","autoFeaturesLayoutDownloadAppsModalJsxAttrTitleLocalDevelopment31cefec4":"Local Development","autoFeaturesLayoutDownloadAppsModalJsxAttrDescriptionBuildRun4761ab6f":"Build, run, and self-host Kortix from your terminal with the Kortix CLI.","autoFeaturesLayoutDownloadAppsModalJsxAttrTitleClickTob497d6e9":"Click to copy","autoFeaturesLayoutDownloadAppsModalJsxAttrDescriptionKortixNavigates015d9350":"Kortix navigates, clicks buttons, and fills out forms right inside your browser.","autoFeaturesLayoutDownloadAppsModalJsxAttrBadgeComingSoon291caabf":"Coming soon","autoFeaturesLayoutDownloadAppsModalJsxTextComingSoon89fd3230":"Coming soon","autoFeaturesLayoutDownloadAppsModalJsxAttrDescriptionChatHandsd5b305fb":"Chat hands-free, connect your favorite apps, and kick off tasks on the go.","autoFeaturesLayoutUserMenuJsxTextAccountSettings007162f5":"Account settings","autoFeaturesLayoutUserMenuJsxTextDownloadApps2765d8e7":"Install apps","autoFeaturesLayoutUserMenuJsxTextLogOutOfYour4770ea0c":"Log out of your account?","autoFeaturesLayoutUserMenuJsxTextYouLlNeedToee9fad67":"You'll need to sign in again to continue.","autoFeaturesMarketingHowItWorkStepStep1ProjectCli3fea7d90":"Each project is a repo your agents run from — scaffolded with","autoFeaturesMarketingHowItWorkStepStep1ProjectCli4a56b05e":"kortix init","autoFeaturesMarketingHowItWorkStepStep1ProjectClid954d961":"No projects yet","autoFeaturesMarketingHowItWorkStepStep1ProjectClif1300c56":"in your terminal to scaffold one.","autoFeaturesMarketingHowItWorkStepStep2ConnectClic4f03099":"Gateway usage","autoFeaturesMarketingHowItWorkStepStep2ConnectCli1e349a6f":"this month","autoFeaturesMarketingHowItWorkStepStep2ConnectClif30bc303":"Bring any provider — routed per session, keys stay in Secrets","autoFeaturesMarketingHowItWorkStepStep2ConnectClidcc2a2a7":"Connecting a provider writes its API key to Secrets — sessions pick it up at sandbox boot.","autoFeaturesMarketingHowItWorkStepStep2ConnectCli3dee7a71":"3,000+ apps · connected once, shared securely across the org","autoFeaturesMarketingHowItWorkStepStep2ConnectClid2a078a2":"Browse all 3,000+ apps","autoFeaturesMarketingHowItWorkStepStep3BuildCli09aaddc7":"A good workflow becomes reusable — attached to coworkers, improved by review","autoFeaturesMarketingHowItWorkStepStep3BuildCli697a0b1c":"Skill library","autoFeaturesMarketingHowItWorkStepStep3BuildCli4a1811fb":"One person captures it once — the whole team levels up overnight.","autoFeaturesMarketingHowItWorkStepStep4ShipCli2e1d3562":"See what went in and what came back before you keep it","autoFeaturesMarketingHowItWorkStepStep4ShipClica1df42d":"Draft the Monday revenue brief","autoFeaturesMarketingHowItWorkStepStep4ShipClid04ede5a":"Stripe · HubSpot · Linear","autoFeaturesMarketingHowItWorkStepStep4ShipCli9be01ef2":"Monday revenue brief","autoFeaturesMarketingHowItWorkStepStep4ShipCli60d302f9":"MRR, pipeline, and blockers in one doc — ready to share.","autoFeaturesMarketingHowItWorkStepStep4ShipCli291a9f3d":"This brief is now part of your workspace for the team to reuse.","autoFeaturesMarketingHowItWorkStepStep4ShipCli68224593":"Read the output first — nothing ships until you say so.","autoFeaturesMarketingHowItWorkStepStep5RunCli0e74f75e":"sessions /","autoFeaturesMarketingHowItWorkStepStep5RunCli99e75001":"Secure workspace","autoFeaturesMarketingHowItWorkStepStep5RunClia54c8d26":"isolated per task","autoFeaturesMarketingHowItWorkStepStep5RunCli8317f345":"scoped token","autoFeaturesMarketingHowItWorkStepStep5RunCli8354de66":"coworker working across connected tools…","autoFeaturesMarketingHowItWorkStepStep5RunCli7d7494d3":"kortix sessions create","autoFeaturesMarketingHowItWorkStepStep5RunCliadb5f23c":"to start.","autoFeaturesMarketingHowItWorkStepStep6OwnCli35107eec":"Context Kortix learned from your tools, files, and past sessions","autoFeaturesMarketingHowItWorkStepStep6OwnCli5cc55856":"Captured this week","autoFeaturesMarketingHowItWorkStepStep6OwnCli98d018f1":"from real work","autoFeaturesMarketingHowItWorkStepStep6OwnCli00af3d26":"Carries forward","autoFeaturesMarketingHowItWorkStepStep6OwnClib5fd8e81":"Reused across sessions — every coworker starts from what the team already knows.","autoFeaturesMarketingHowItWorkStepStepAskCliJsxedd76b62":"coworker reading connected tools…","autoFeaturesMarketingHowItWorkStepStepAskCliJsxbcfac79a":"sources: Stripe · HubSpot · Linear · Slack","autoFeaturesMarketingHowItWorkStepCliTerminalJsxText9d2e1727":"Choose a coding runtime","autoFeaturesMarketingHowItWorkWebPanelWrapperJsxTexte9d63c73":"Syned 2 minutes ago","autoFeaturesMarketingSecuritySecurityStageJsxTextCReb549683":"CR→","autoFeaturesMarketingStorySectionsJsxAttrStatusTextGatheringOvernightUpdates3a9550bf":"Gathering overnight updates...","autoFeaturesMarketingStorySectionsJsxTextHeyWhatCanI5de80837":"Hey! 👋 What can I help you with?","autoFeaturesMarketingStorySectionsJsxTextWhatHappenedWhileIb8835287":"What happened while I was sleeping?","autoFeaturesMarketingStorySectionsJsxAttrPlaceholderTypeYourMessage95756d48":"Type your message here...","autoFeaturesMarketingWhyKortixJsxTextWithMostToolsYou4b74710a":"With most tools, you change a setting and just have to trust it stuck. Kortix keeps a clear record of every change your team makes — who cha","autoFeaturesMarketingWhyKortixJsxTextIfSomethingGoesWrong78045d2a":"If something goes wrong, you can undo it in seconds","autoFeaturesMarketingWhyKortixJsxTextAndGetBackTo8122fb4b":"and get back to a version you know was working. No guessing, no support ticket.","autoFeaturesMarketingWhyKortixJsxTextEveryAIAgentYou7f5d6f06":"Every AI agent you run gets its own walled-off space and only the access it genuinely needs — nothing more. So one agent can never reach int","autoFeaturesMarketingWhyKortixJsxTextAndInsteadOfScattered1833a24c":"And instead of scattered passwords and keys across a dozen services,","autoFeaturesMarketingWhyKortixJsxTextThereSOneKey04359483":"there's one key you manage","autoFeaturesMarketingWhyKortixJsxTextLessToTrackFar1c45d988":". Less to track, far less to leak.","autoFeaturesMarketingWhyKortixJsxTextKortixIsOpenSource5afa4f64":"Kortix is open source, so you're never locked in. Run it in our cloud, in your own, or entirely on your own servers — whatever your bus","autoFeaturesMarketingWhyKortixJsxTextYourDataStaysWhere3c5e3923":"Your data stays where you want it, and","autoFeaturesMarketingWhyKortixJsxTextThePlatformIsYours4d10224d":"the platform is yours to keep","autoFeaturesMarketingWhyKortixJsxTextOnYourTerms2f7966c5":", on your terms.","autoFeaturesMarketingWhyKortixJsxTextYouShouldnTNeedae8350b9":"You shouldn't need a team of engineers to get going. Kortix is built so the people who use it day to day can set things up, adjust them","autoFeaturesMarketingWhyKortixJsxTextPowerfulEnoughForYour214b6ca4":"Powerful enough for your developers,","autoFeaturesMarketingWhyKortixJsxTextSimpleEnoughForEveryonef376c7a7":"simple enough for everyone else","autoFeaturesMarketingWhyKortixJsxText99e0d65c":" ↗","autoFeaturesMarketingWhyKortixJsxTextWhyKortix55f4edea":"Why Kortix?","autoFeaturesMarketingWhyKortixJsxTextEveryAIPlatformSounds31a0bf4e":"Every AI platform sounds the same on paper. Here's what actually changes once you're running on Kortix.","autoFeaturesMarketingWhyKortixJsxTextGetGoingFastGrow2d378210":"Get going fast. Grow without worry.","autoFeaturesMarketingWhyKortixJsxTextKortixIsnTJustb8425b28":"Kortix isn't just simple to start — it's built to grow with you.","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxTexta48f1c83":"Dismiss","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxText9f1f82e8":"Proposed change","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxText420d0ec9":"•","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxText7ba43c2e":"Files changed","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxText561449ba":"Total changes","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxTexte4dd9886":"−","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxAttr29624185":"Jump to changed file","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxTexta17e79af":"• +","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxTexte014913b":"Review changes","autoFeaturesProjectFilesComponentsChangeRequestDetailDialogJsxTextec240dc2":"No preview available for this file.","autoFeaturesProjectFilesComponentsFilePreviewModalJsxAttrHistoryLabel0736a6ed":"Checkpoint history","autoFeaturesProjectFilesComponentsFileSearchJsxAttrAriaLabel732c1816":"Close search","autoFeaturesProjectsModalProjectCreateModalJsxTextGoBack8b169f5b":"Go back","autoFeaturesProjectsModalEditProjectModalJsxTextEditProjecta4dc3833":"Edit project","autoFeaturesProjectsModalEditProjectModalJsxTextChangeThise7a7a4b7":"Change this project’s name and icon.","autoFeaturesProjectsModalEditProjectModalJsxAttrPlaceholderProject25498193":"Project name","autoFeaturesProjectsProjectCardJsxTextEditProjecta4dc3833":"Edit project","autoFeaturesProjectsNewProjectControlJsxTextCreateIn804eeac3":"Create in","autoFeaturesProvidersProviderModalJsxTextShownInTheModel42aa9e89":"shown in the model picker","autoFeaturesProvidersProviderModalJsxTextResetToDefaultse309aea2":"Reset to defaults","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextInThis7c956bd8":"in this version","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextNotIn5d967721":"Not in your","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextVersionYet689021ee":"version yet","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextThisSession009eeb83":"This session is a separate version of","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextTheseChanges18316b37":". These changes only exist here; they're not in your","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextVersionYet922de6bd":"version yet. Propose the changes to have them reviewed and applied.","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextOpenChangedc3b8624":"Propose changes","autoFeaturesSessionHeaderSessionChangesIndicatorJsxTextViewChangesaf192a3b":"View changes","autoFeaturesSessionHeaderSessionSiteHeaderJsxTextRename41731a53":"Rename…","autoFeaturesSessionHeaderSessionSiteHeaderJsxTextShared7d34d4f":"Share…","autoFeaturesSessionInstantSessionShellJsxAttrSessionTitleNewSession6b8dfd00":"New session","autoFeaturesSessionSessionStartingLoaderJsxTextKortixComputerIs7c42f59a":"Kortix Session is starting","autoFeaturesSessionSessionTerminalPanelJsxTextConnecting80303e70":"Connecting…","autoFeaturesSessionSessionTerminalPanelJsxTextNewTerminaleeb6bbb9":"New terminal","autoFeaturesSessionSessionVersionHeaderJsxAttrAriaLabelFiles9fd01463":"Files view","autoFeaturesSessionSessionVersionHeaderJsxAttrLabelAllFiles4f423738":"All files","autoFeaturesSessionSessionVersionHeaderJsxTextOpenChangeRequesta0b45de3":"Propose changes","autoFeaturesSessionSessionVersionHeaderJsxTextWhatThisSession2da8e6ce":"What this session changed in version","autoFeaturesSessionSessionVersionHeaderJsxTextASeparateVersionc3d7a454":", a separate version of","autoFeaturesSessionSessionVersionHeaderJsxTextTheseEditsStaya67c1667":". These edits stay here and don't affect","autoFeaturesSessionSessionVersionHeaderJsxTextUntilYou3cf21807":"until you","autoFeaturesSessionSessionVersionHeaderJsxTextOpenAChange52446e59":"propose the changes","autoFeaturesSessionSessionVersionHeaderJsxTextToMergeThemde828b03":"to get them reviewed and applied.","autoFeaturesSessionToolRenderersJsxTextOpenPrivatePreview0d54e929":"Open private preview","autoFeaturesSessionToolRenderersJsxAttrMessageMemoryIsEmptyc797bb83":"Memory is empty.","autoFeaturesSessionToolRenderersJsxAttrMessageNoChanges0aa33a4a":"No changes.","autoFeaturesSessionToolRenderersJsxTextInsertedAtLine1bc36059":"Inserted at line","autoFeaturesSessionToolRenderersJsxAttrMessageNothingInsertede2d2969f":"Nothing inserted.","autoFeaturesSessionToolRenderersJsxTextViewRawHTMLa2f4484f":"View raw HTML","autoFeaturesSessionToolRenderersJsxAttrMessageNoTasksYet198712c5":"No tasks yet","autoFeaturesSessionToolRenderersJsxAttrMessageNoQuestions511286a8":"No questions","autoFeaturesSessionToolRenderersJsxTextInputSchema878a1df6":"Input schema","autoLibErrorHandlerJsxTextTopUp3587309b":"Top up","autoLibErrorHandlerJsxTextManagePlan6ec7a5f9":"Manage plan","composerAttachments":{"couldNotAttach":"Could not attach files","couldNotRetry":"Could not retry attachment","couldNotSend":"Couldn't send","failedBlocksSend":"Retry or remove the failed attachment.","uploadFailed":"Upload failed. Check your connection.","retryNamed":"Retry upload of {name}","didNotUpload":"{name} did not upload.","billingRequired":"Your plan or credits do not allow uploads right now.","budgetExceeded":"Too many unsent uploads. Unused uploads expire within 24 hours.","tooLarge":"This file is larger than 50 MiB.","expired":"This upload expired. Remove it and attach the file again.","checkConnection":"Check your connection, then retry."},"i18nComplete":{"text25ab55af92b1":"Started attachment upload","text40078a553439":"Uploaded attachment chunk","text4c7f8000aabd":"Completed attachment upload","text91420d2587c2":"Removed attachment upload","text3aab5b3be2b9":"Resolved runtime attachment descriptor","text0005b85debac":"Sound pack played for session events.","text000c02c11c7a":"Reusable instructions your agents load on demand.","text0017bda47853":"URL copied","text002474e36821":"Badge","text0026c5053478":"Revert","text00270cf63f93":"logout","text003569c8b673":"Both carry a prompt template that becomes the session’s first message.","text0037cb2e45cb":"- Linked from the change request that made it","text00495b4b8c8a":"+ /saml-metadata","text004bad6bfbd7":"Patched the retry to back off","text0050aeb4cf77":"Add the group claim","text0059798b7f70":"(optional)","text005b4c1dad87":"Search projects, accounts, owners","text005c9bcbce1e":"Creating trigger...","text005dc222581c":"It has read the codebase too","text005ff7fe0036":"Copy link to this release","text006547c4fdf5":"Wallpapers","text0079b9035c1e":"Add account members to grant them this group's access.","text007f7ef38606":"Destination URL","text0084d5dc5abc":"Admin-only by default. People still join by invite or SSO either way.","text008e94f6ea7c":"What you own","text00921cf91f2c":"retryLabel","text0095d8558df5":"Easy connect covers 3,000+ apps through their own OAuth screens. We are not going to claim your identity provider, your MDM and your network vendor are all in it — for an IT estate the direct connector types are usually the real path, and they take about the same three minutes.","text009846255787":"Who may create organizations","text009cb0fc376f":"It starts real sessions from a chat thread","text009e910ccb18":"enterpriseAccordionTokenBody","text00bb8f77e24e":"Viewed project details","text00c6b4852c4e":"Connecting to workspace...","text00c6dcd85ab3":"Failed to submit request. Please try again.","text00d60e31a4e6":"Run","text00d8d3f11739":"mail","text00dd9d632755":"Search branches","text00e99be56ba9":"{count, plural, one {# row deleted} other {# rows deleted}}","text00f5aae9f9d3":"Outside services this agent can call. Mark one Required and a session will not start until it resolves.","text00f8ca92de43":"When the agent needs a decision, it posts a card with buttons instead of blocking a turn forever. Your click is the verdict, and the session resumes from it in the same thread.","text00ff22485ed6":"Connect it","text010bda93a000":"1,225,000","text011275ae7075":"No groups in this account yet. Create one first.","text011500bde6d0":"Bring your own models","text011c4e48df01":"No one is granted this agent yet. Project managers can always use it.","text011fbf3abc70":"16%","text012ca83708fd":"Super-admin grants","text014d10bd3c64":"Approval rules that apply to every connector in this project.","text0154297a0f48":"Any phase","text01676385135f":"It is a draft, and it says so","text016cec7c484d":"Revoked connector","text016e549e6831":"Max concurrent sessions override","text017245d54fdb":"in Slack.","text018069eabbfd":"The definition","text018912e44371":"Downloaded compiled project checkout","text019929eebb12":"Assign roles from Members (account) or Projects (per project). Custom roles appear in the same role picker as built-in ones.","text01a556bb9792":"The person’s role and the agent’s declared grant must both allow it.","text01b50fe973da":"Refresh provisioning health","text01b8c5ddf23f":"list price.","text01b9b5a37036":"Set default connector","text01bcfe7a9296":"Apply Patch","text01c88f6e4fdd":"Context Compressed","text01c8d0fbaec6":"Kortix stores the GitHub App installation on the account, not on individual members — Git credentials are platform credentials.","text01d5a2c6d0fd":"A change request to main","text01e3fecd5bfb":"Currently active","text01e458a231aa":"Synced {value0}, {value1} with issues","text01ea7ab2073a":"The same product surface","text01ec8eaf8ffa":"A / command cannot send attachments","text020965a2f08f":"DNS","text021b7b95cad3":"Save failed: {value0}","text021fb596db81":"{","text022186f89dba":"Name and security for this account.","text02221f36cbf5":"What we look for.","text022755798da5":"A domain you point at the box, or a Cloudflare tunnel for evaluation. Sessions run on a remote sandbox and have to call back, so this is the first real decision.","text02290f388fa8":"Register app","text022bfb219bea":"Vision model, generation defaults","text0230c6b1d833":"ctx","text023827a097e3":"A Kortix project is a git repo, and that repo is the company. kortix.yaml and the OpenCode config define it; agents, skills and memory are files beside your code. Every change is a commit a person approves.","text024dc204d7ba":"Area","text0262678d1309":"Start the stack. Point the CLI at it.","text0268c03cd74c":"Credits granted","text0268dc441c39":"Removed SSO provider","text026939e37569":"Summarize older messages to free up context","text02707e927e25":"Turn off unused keys","text02881bb0fe83":"Legal documents","text028cd1c88345":"Announcement","text028f0773776c":"The source advertises authentication Kortix cannot inject yet. Choose a manual override or None.","text0293a6712728":"A tailored walkthrough","text02a36a6f3ff0":"# Close the month","text02a865a79c8b":"Tools follow the rules below again","text02ade6817ae4":"Approve or deny","text02bb33646c32":"runtime: opencode","text02be0250a467":"Session revoked","text02c1d7b545ea":"The device authorization code expired","text02c2b41a99e7":"Copy sign-in URL","text02c2fe3ed248":"The \"Create SAML Integration\" wizard opens. On the \"General Settings\" step, enter an appropriate app name, such as \"Kortix\" — optionally upload an app logo. Click \"Next\".","text02c72e44de06":"Jump to message: {value0}","text02cdaabfca80":"Duplicate","text02d06a92b6a6":"The member/group counts below tick up, and in Entra’s Provisioning log every stage (Import, Scope, Match, Perform action) shows Success.","text02d6613cab50":"Could not start the fix session","text02d7798e74f6":"Every Kortix project is a git repository. Connect GitHub once in this account's Git settings.","text02d887f458d5":"Every action, human or agent, is written down — on every plan.","text02e0567ac3d4":"Separated tiles","text02e3cc994971":"Invite sent to @{value0} — accept it on GitHub","text02ed7e74d223":"Decide what runs, what asks, and what never happens.","text02f843261112":"Underline","text0303e1824670":"Not connected","text031a8f0f659d":"Failed","text031b8fd1f46a":"Create a skill to give agents reusable capabilities.","text031e57c4e32f":"supabase-storage","text03281c889c28":"Older","text03298bf58cdb":"Manage on GitHub","text0330aaf3e67a":"Kortix avatar {value0}","text033c214ae9a3":"Web sources","text033fc0445b90":"Compress","text0340bfb383fc":"Large Language Models","text034162e9d321":"Reads run on their own. Writes and deletes wait for your approval.","text034c35d708c0":"Invited SCIM user","text0350dc45fdbb":"Matches current filters","text035549be9e10":"model: anthropic/claude-opus-4-8","text035b0d33b63d":"Every project across every account, most-active first.","text035c0a5dcf1d":"The control plane that ties every layer together: one place to configure, deploy, observe and operate every agent across your whole organization — from the web, Slack, mobile or the CLI.","text035edd9bd720":"Remove from group","text036141a7185f":"Secret values","text036a0c2d820e":"Every project across all accounts, most active first.","text036f65fb488b":"Whether the action reads, writes, or destroys.","text03738109763d":"Service desk triage and first draft","text03748cd6138a":"Advanced — same failed run","text03763ff9a63b":"Onboard customers, teach them, build their first agents, and create their connections.","text03956d4b33dc":"Sent to the agent every time this runs, as if you had typed it.","text0399741890df":"Add a OneLogin SCIM connector and point it at the two values shown above.","text03a66748075e":"Errored sandboxes","text03c0e806becb":"Match","text03d25c33b3ef":"60 seconds","text03db0aeae3a9":"Work is code","text03f856a9d7ec":"Search action, project, session, request, or correlation ID","text03fbe991de6e":"{value0} proposed change{value1} waiting for review","text03fe47e17852":"Sends to","text040fa2b6dfb1":"# The agent that answers when nothing names one.","text04132f84d7c3":"{value0} live preview","text0418b096409c":"Couldn't load audit webhooks","text042143212d9e":"The notebook, the query and the fix land through a change request against main. An agent cannot merge unless an admin has granted project.cr.merge in kortix.yaml, and widening that grant is itself a reviewed change.","text042ce1942693":"<div className=\"h-3.5 overflow-hidden\"> Content </div>","text043cf55ca745":"A schedule or trigger fires a session with no one watching.","text0445efc0310d":"Each agent works separately, so one session cannot interfere with another.","text0450eaa713ef":"Plan against actual per cost centre, then the part people actually want: which transactions drove the variance, and a written explanation of each one that a non-finance reader can follow.","text0456e1d60169":"- Match transactions across Stripe + the ledger","text046aea06df37":"No events match these filters","text046e63364fb7":"Share Not Found","text04717e6e8e3f":"How to give AI agents tool access safely","text0471e152d0c9":"An admin needs to connect GitHub in Git settings before projects can be created.","text0479e05f1b8d":"(byo)","text0492e24a9758":"Viewed cost summary","text04a356d4f19f":"Get a computer","text04b204d5535c":"Recognized: {value0} key","text04b8dcba096f":"Nebula","text04d35c3117b5":"Apps that sign users in with Kortix. Pair the client id and secret with","text04dba7c76354":"No conditions yet — every request starts a run.","text04dfac3671b4":"Disconnected","text04e2a9728af7":"Projects","text04e379c6932b":"## Steps","text04ff975e82db":"Choose a password to get started.","text05126477f420":"Approaching budget","text0525af07b3fb":"- Map each requirement to a proof point","text053689bf661f":"No GitHub connections yet. Add an existing App installation or install the App.","text053805aad93b":"InlineMeta","text053bc65874ad":"Discord","text053d2dc26869":"This account already has an SSO provider. Manage it from the SAML SSO card in account settings — remove it there first to run a fresh import.","text0541d9e84b58":"The record carries the connector and exact action, the agent, the person or trigger behind the session, the outcome, and who released a held call. There is no path to a connected tool that skips the thing writing the record.","text0547f5c8932c":"I hand you something at a high level, walk out, come back, and find it done well. Ideally better than I would have done it.","text05487af3f074":"Renamed","text055a3d19928f":"OS Version","text05643520119a":"Entitlements, project and session limits, and the managed-models gate all revert on the next request. Credits already granted are not clawed back.","text0575f29df888":"Template","text057a35b34fcb":"In the Auth0 dashboard: Applications → Applications → open (or create) the application for Kortix. Creating a new one? Choose \"Regular Web Application\" — the SAML2 addon works regardless of type, but this avoids second-guessing the picker.","text057b5de48d7b":"Minimal","text058dbf8a147d":"Illustration. The tickets, accounts and paths are fictional.","text0593f4f7c4ed":"Leave this alone to use the agent's usual model.","text0597374d9d22":"Created folder: {value0}","text0597f441dcca":"Then","text05a2d7332eb9":"Deny","text05a4a531e6d7":"Current plans and included features.","text05a88e787cec":"What has been published on the subject, what your own site already says about it, what you have said before that this would contradict. The brief starts from what exists rather than from a blank page.","text05b10b151f65":"This file can't be previewed here.","text05b1748edb1e":"Enforce SSO for this domain","text05b1f0cd964e":"Delete {value0}? The stored value can't be recovered.","text05ba3d9821ab":"Set cap","text05c7ab9784c3":"Failed to cancel invite","text05cc7bb328c6":"git commit -am \"Describe your change\"","text05da7af7e394":"Failed to revoke trial","text05dcf5ae7043":"Output SHA-256","text05e646f156e2":"Sessions never share a filesystem, a process table, or a network namespace. On Kortix’s own Platinum compute the boundary is a Cloud Hypervisor microVM; Daytona and E2B are also supported, and we will tell you which one you are on.","text05e7bb1645cd":"The round trip","text05f82c79bce3":"No items match \"{value0}\".","text05fa2e3b0a10":"Page number","text05fb96e3f84d":"Application settings page with the Sign On tab selected","text05fe4f848b83":"      activity. Review git history, merged change","text0602544ab665":"A trigger stores an IANA timezone name, not an offset, and defaults to UTC. Set America/Los_Angeles and it stays at 09:00 local across a daylight-saving change. An abbreviation like PST is rejected rather than guessed at.","text06029fe800d0":"Allow, ask, or block.","text0603deca4fcb":"Last 7 days","text0606f7bed0bb":"Greenhouse and other applicant systems","text0615570f9ea1":"Claude","text061ea77f739e":"Failed to export CSV","text06272d336a8c":"Kortix is the Autonomous Company Operating System — open-source, self-hostable, any model. Start one project free.","text062aba2180ea":"Merging is a separate power","text062b7c4143e2":"Its own branch, cut per session","text062bccfdad1c":"No sandboxes match this search","text062dddbbb151":"A frontier without an ecosystem is not stable","text06346e4d9c35":"You need the project's customize-write permission to change a feature flag.","text06475633ed3e":"Last activity","text064f6ac1a789":"Popover","text065f04fd94d6":"Change what {value0} {value1} can do in {value2}.","text066135960f7f":"Q2 performance report","text06619384104c":"Could not resume the queue","text0674d4a026cb":"Action approved","text0679d5053dda":"{value0} hasn’t reported any tools. Once it syncs, each one gets its own Default · Block · Ask · Allow control here.","text067ed033e4a6":"Six patterns that break the system, each with the fix beside it.","text0686a22fbf7d":"Another session — same project, same team, or another customer","text0690079160b0":"\"{value0}\" deleted","text0690d70b6301":"Easy connect covers 3,000+ apps through their own OAuth screens, and it is the right route for the SaaS sources around the edges of a data stack. For the warehouse itself the direct connector types are usually the honest answer — most warehouses are reached through a driver or an API, not an OAuth catalogue entry.","text06993786f49e":"GitHub disconnected","text06a6228ef85f":"when you connect a repository — and each is gated the same way; none of them can be chosen or changed here.","text06a8fc899ccb":"Reloading agent config","text06c25b69ba7f":"It runs the suite in a loop, isolates which test actually fails and how often, and finds the shared state or the timing assumption underneath. The change request carries the failure rate it measured before and after.","text06c4e75ab508":"permissions help what does mean reference explain owner admin member viewer","text06c4ea480765":"Deleted session","text06ce842278f6":"Open {value0} in a new tab","text06cf1d8d7c75":"Try another search.","text06cf627597d9":"It tracks the queries you care about, finds the pages losing ground, rewrites them against the brief, and opens each rewrite as a change request.","text06cff49d950a":"On the same page, locate the \"Attributes & Claims\" section and click the \"Edit\" icon in its top right corner.","text06d7d914d63c":"#118","text06d7d97ef55d":"Light and dark variants, 6K, ships in the brandkit.","text06da55ff64fa":"A standalone card owns its own tile. Media, eyebrow, title, description, an action pinned top-right, features in the content slot, and a footer of actions — every part is optional.","text06e70139fcf5":"Attempts","text06f0e210b27d":"Turn off","text06f352cee5a7":"Permissions saved","text06f5a933a39f":"how this company drives a browser","text0704475d6978":"Removed member","text070855f4fe8d":"Pair Macs, Windows PCs, and Linux machines through the secure Kortix Agent Tunnel. Each profile grants agents access only to its selected machines.","text070fdf5c95ab":"Cycles filler lines every ~3.2s when there is no statusText.","text0711a8d636e4":"Risk","text0713dbee5126":"Try adjusting the filters or clearing the search.","text071c0f5e8495":"your default","text071ca2227754":"repo","text07247959e9ef":"Client id copied","text07297fa94a99":"Needs review","text072fd9c0ffc8":"Search and read Kortix public documentation and API metadata.","text07331645370f":"Reusable know-how that lives in the repo","text074ade70d45d":"Nothing. That part is still yours","text07514d065adb":"No groups yet","text0753bd774f1b":"Image Gen","text0761d47eb4fd":"receipt capture","text0762fc8b575e":"Messaged a session","text077d12b54cea":"Assign users and push groups","text0789d42d0a2c":"Add the groups attribute","text07a2d579c3f0":"Starred","text07a68eba3f79":"- connectors: zendesk, slack","text07c307281d31":"A recommendation, with the reason on the row","text07cbfe83d4d0":"invite members add teammate email collaborator people access send","text07ccd15df32a":"Highlight","text07d41a5b065b":"A message in Slack starts a session.","text07d514c3e52e":"Single sign-on is SAML 2.0. Every tool call is written to an audit record with the agent, the person or trigger, the outcome and the approver. Deployment is Kortix Cloud, your own VPC, or your own on-prem network — it is open source, so you can read what you are running. It is not air-gapped: starting a self-hosted stack pulls images over the network. For an isolated topology, talk to us.","text07d75205a8ee":"Messages, tools, connectors, providers, usage, and lifecycle events appear here.","text07de8e6e567f":"api.example.com uploads.example.com","text07e120899739":"      cpu: 2","text07e58fe03d0b":"- Draft a reply from the docs","text07ef6afe47b4":"Copy failed — open the webhook and copy it from there","text07fdd059f8a1":"This server publishes its authorization metadata. Kortix registers itself as an OAuth client, so there is no client ID or secret to create.","text08138c207246":"View capabilities","text08251562b340":"Signed","text082591a16602":"vCPU","text08264211dd92":"Map user attributes","text0835965ba94e":"SCIM directory sync","text0845712d2765":"The Kortix connector catalogue, showing Notion, Google Sheets, Linear, Google Drive, Salesforce, HubSpot, GitHub, Gmail and more, each one click from connected.","text084b1840b3f4":"Couldn't load these apps","text08528f760c94":"Stays in the systems you connected","text0858b28c5365":"Read the agent docs","text085c8149fd05":"Google groups","text0881271239f3":"For self-hosted setups or custom-scoped installs.","text088abd95f7eb":"Failed to answer the permission request","text088c3ffd67b6":"Remove this key?","text088ff326d45b":"Roles, invites, and IAM policies.","text089ef2b6dbb3":"Model ID","text08a462df4350":"Delete this trigger?","text08a608865569":"Members without a verified second factor are blocked from every protected action until they enrol. API keys are unaffected.","text08b041935798":"You","text08b16c6c10bd":"Your app → Single sign-on → SAML","text08b9e3a2c75e":"Build, host, manage, monitor. Then train and eval.","text08bd9a10da30":"Open a change request against main?","text08c74a58ac03":"See enterprise","text08cfb2899839":"Save failover","text08d641af4250":"Reaches","text08d90726e8a3":"The data API","text08ddd9df26cc":"Yours to own","text08de25464f74":"#072","text08e774c5bacc":"All sources","text08ee4565a256":"Assigned to","text08fc52a618da":"A connector lives in one project. Another project cannot see it, call it, or read its credential — a project is its own blast radius.","text08fc825c923e":"Reconciliation, line by line","text090051628ce4":"How a session works","text090ed4316f1d":"Brand","text09129008d8d1":"Add the groups parameter","text09134576bac1":"List, launch, focus, and close apps","text0922d984c6b6":"How connectors are brokered","text0941cb0251e7":"this automation","text0948fa9a3378":"One search, whole company","text094af2a71a42":"Retried a queued session prompt","text09526e9d005a":"Application name","text095830453d5a":"List the projects you can bind this channel to","text096b73624b09":"Saving","text096e0be6bb57":"keyRevoked","text0970390b0642":"· 14 PRs merged · 3 need your review","text0970b91b1fea":"Browse agents, skills and whole projects, add one to your project in a click, and what arrives is files in your repo — not a dependency you rent. It is labelled beta because sources and updates are still moving, and it is on for every project.","text0975bebd3619":"Deleted IAM role","text09761bceefe9":"The default image already carries the Kortix runtime layer.","text0977ca269624":"Kortix is open-source and built for companies that want to own their AI future. Self-host it, connect your own models, and build something that compounds.","text097beb410b92":"No Computer Tunnels match","text097e77abc2d0":"Event detail","text097fe0b10cc3":"Tenant URL","text0981ce2e694b":"for “","text0983d3e38ba5":"Strong systems-thinking judgement.","text09851ae4a654":"- Stand up their workspace from the template","text0989a07682e0":"unregistered tool — MCP fallback","text098d65d3bf79":"Ultra · $200/mo","text0991397702fa":"Run now","text09993f2060aa":"I’ve added an access policy","text099b6264cb74":"Kortix Agents & Skills","text09a3bb2aced6":". The session keeps its id; the sandbox is rebuilt.","text09a77587d0c7":"Model default","text09af73e458ca":".kortix/opencode/agents/invoice-clerk.md","text09b069226330":"Q4 25","text09b4cb469c91":"Sub-session of","text09c2539c0f72":"close-the-month/SKILL.md","text09c8f9190e3a":"Auth0 SAML2 Web App Application Callback URL field","text09d2aacd2ac9":"Browse all sources","text09e7d1e320ed":"- Schedule, then track reach + installs","text09e97a9d16b8":"The pause is real","text09efedd0899d":"Bind a user group for access","text09f1d00ed790":"Ask an owner of this project to connect a custom provider.","text09f5b7872743":"OAuth Access Token","text09fb9ff32c5a":"Dana","text09fdb4b2ab3f":"26%","text0a08767ed1da":"Allowed, gated, or blocked","text0a15fd3848fa":"Vision model","text0a1d956ac650":"Review changes your agents propose and browse every version they saved.","text0a2ea173ab93":"Credits fund sandbox compute — even a BYOK trial needs wallet balance to run sessions. The free welcome grant is $2; one per-seat month is $25.","text0a30a815d67d":"Page","text0a45caff4417":"Run shell commands in terminal","text36569109d4e5":"Kortix charges and credit ledger for this account.","text0a53eddc090c":"How Kortix authenticates to GitHub","text0a5411640861":"Updated an OAuth app","text0a5d5c335cd8":"Total spend","text0a68b98b5a7d":"Attach \"{value0}\" to a project and every member inherits the role you pick.","text0a6ca08555eb":"Access granted to","text0a6ea1b07058":"Search the marketplace","text0a75f1bef205":"{value0} configuration saved","text0a98daa970ad":"OneLogin admin → Applications → Applications","text0a9977c04a4c":"Every call it made, and who let it.","text0aa30be6e0c5":"Evaluation only, not a production plan. Contact Kortix to switch it on.","text0aa36fd068b9":"Ran project connector action","text0aae241fd603":"A chosen list of members and groups","text0ab1250f5d8a":"Failed to copy referral link","text0aca698a3c99":"The only moat that matters: why your AI platform needs a learning loop, not a better model","text0ad3b7155490":"Recommended — a metadata URL","text0ad5343c4931":"Stagger Mount","text0ad6a2a7935c":"a.lindqvist","text0aef01b447e9":"Could not update the schedule","text0af0954fec3f":"# Renewal play","text0af465ef42c0":"On failure","text0afbe82103f0":"Assign the appropriate groups to the application. When you are finished, click \"Done\". Only assigned users can sign in through this application.","text0b1bdec38bf0":"Default template","text0b2657a2d044":"Ten things to do and ten not to, side by side.","text0b2e0f1bf47e":"Every call it made, and who let it","text0b2ecc210632":"The one live channel. Ask the question in the thread where it came up; the answer, the chart and the query come back into the same thread.","text0b348466332c":"Nothing changed yet","text0b38e3daeb93":"All secrets","text0b3dbab0c668":"- Ship the fix, write the postmortem","text0b495c90447a":"The calendar, the inbox, the applicant system.","text0b5260e1b405":"Updating","text0b5796519393":"SCIM keeps users and groups in sync, including offboarding","text0b5b09e175a2":"Your estate, reached the way it is actually reachable.","text0b628a266141":"{value0} loses access to {value1}.","text0b62ab750206":"Plus · $20/mo","text0b6c75c4d533":"Every action, one answer.","text0b7bd1b43899":"Kortix holds this credential and attaches it to every call.","text0b834e60371f":"Add a connector that requires project-owned authentication first.","text0b8c3490736f":"Completed GitHub identity verification","text0b9049066497":"most recent versions.","text0b930139d03b":"A single-tenant deployment inside your own network. Air-gapped and other isolated topologies are scoped with us rather than self-served.","text0b9341090ac3":"A computer connector opens a tunnel to a host you control, so a session can reach something that was never going to be exposed to the internet — without that host being on the public network.","text0b99f41d2759":"PingOne pushes users and groups to Kortix through a generic \"SCIM Outbound\" connection under Integrations → Provisioning. Use the modern PingOne cloud console (Workforce) — the legacy \"PingOne for Enterprise\" product does not have this.","text0b9bc3b34bd0":"Where the role applies: the whole account, one project, or a single resource inside a project — one agent, for example.","text0b9de98b65ef":"openid profile api.read","text0ba9223946de":"Every condition has to match, or the request is accepted and recorded but starts no run. The usual reason to add one is to stop a reply loop: set","text0bb15a98ef21":"- Send, then log the outcome to the audit trail","text0bb4b2553043":"Test delivery failed","text0bb557895b32":"{value0} is now the project default","text0bc2032da091":"Excerpt of a skill that ships in every new project.","text0bce1a892dec":"Start chat","text0bd9da305fb1":"MFA required but not enrolled — this member is blocked from gated actions","text0bdc7ec7e3e6":"Build the Q3 board deck from our latest financials.","text0befde5f2be6":"An automation is a file, not a dashboard setting.","text0bf474896363":"digest","text0bf59aef2b27":"You have read-only access to this project's connectors. Ask a project manager to add one.","text0c044575853f":"This deletes","text0c056ad641d1":"Choose who the connection belongs to: one project-managed account everyone shares, or a personal authorization where each member acts as themselves and an automated principal cannot act at all.","text0c1eeccce6f1":"idp","text0c21b0363778":"Loading connector","text0c3397719010":"Roobert and Roobert Mono, the two weights we ship, and the whole type scale.","text0c419d6faab8":"In finance, \"the AI said so\" is not an answer. So every figure carries the source it came from, and the arithmetic sits in a file you can open.","text0c567ac76e89":"iPhone and iPad","text0c5e9a8703bd":"inset(0 100% 0 0)","text0c63ee561c0b":"Zendesk, Intercom and the rest of the support stack","text0c6dfc87dc2f":"Global rules saved","text0c752c7a803c":"Kortix for IT teams","text0c79a9c22284":"Applied","text0c814b60fca5":"Continue to provider","text0c8a43b9f730":"Encrypted with AES-256-GCM under a key derived per project.","text0c94dd964eb3":"Tiers, credits, trials, entitlements, members and billing state, per account.","text0c953ab32c60":"Something went wrong.","text0c9fca0b952c":"Opened session (bundled reads)","text0ca058a2bd7f":"Internal dashboards for the ops team","text0ca24ff370f7":"Create a connection for this app. The connection name and slug identify it in sessions and project configuration.","text0cab103fc553":"e.g. Production backend","text0cacee668f57":"Every session runs on its own disposable Linux machine on its own branch. Sessions do not share a filesystem or a working tree, and the machine is thrown away. What we will not tell you is that egress is controlled at the network — nothing implements that, and you should assume outbound access from a sandbox.","text0cad31cba248":"Change shipped — merged into the base branch","text0cbeb39b2ff0":"PDF Document","text0cc5a54b089c":"Watch a session live, diff every change to an agent or a skill, and land work through a change request.","text0cc7557652be":"access.","text0cc8e13decfa":"The Kortix command center","text0cd1e319b6e2":"A trigger names an agent, and inherits exactly that agent’s grants — the connectors, secrets and skills its block in kortix.yaml lists, and nothing else. An agent with no grants gets no access.","text0ce6beab574f":"Customize is deliberately read-only. Pressing “Create new” or “Edit” opens a session that edits the files on a branch and opens a change request you review and merge. There is no button that silently changes how an agent behaves tomorrow.","text0ced428dea65":"Bring your own keys — Anthropic, OpenAI, or local models — or run on Kortix compute.","text0cf9505f9f97":"No activity","text0d0a8c6df3ac":"Concepts","text0d0fce8dc78a":"The filter","text0d1fa0dfcc9e":"6-digit code","text0d2484f14250":"Marketing — events","text0d26dc67cdfe":"Enterprise contract entitlements off","text0d2b662c434d":"Configuring machine...","text0d2f45864f0c":"Loaded 2 skills","text0d31cf2c2307":"The public catalogue is unavailable.","text0d3642ba061a":"The claims file is the substance of the control","text0d41acb2175b":"My LLM","text0d4fc4a78d37":"table","text0d50bfa1f30c":"Keep — in the release path","text0d52d18febbd":"Status URL (optional)","text0d5644ff52ce":"Scopes","text0d60b61e0226":"iam.","text0d683ef7eb96":"Copy client id","text0d6e4079e367":"main","text0d7206389fb5":"Agents hold one scoped Kortix token; connect once, shared org-wide, self-healing","text0d7d12ac624c":"Grid","text0d7f5c4b1a2d":"Your service desk","text0d8104fca93b":"Failed to remove mapping","text0d8226e31464":"if…","text0d8c9f89b826":"What each Access value means","text0d9498215681":"Searching files…","text0d9b60fc21b9":"Removed a queued session prompt","text0dbb23e7febb":"Kortix discovered its endpoints and scopes, but the server does not support dynamic client registration. Create an app there and paste its client ID below.","text0dbbf45024a3":"Provisioned project","text0dc0adfca479":"Reloaded session agent config","text0dc2f4c75de6":"Invite link copied to clipboard","text0dc3abbcb173":"One image per project, or a named image per agent.","text0dcb80086189":"The live channel. Mention the bot in a thread and that thread becomes a session; the answer, and any file it produced, comes back into the same thread. Teams is shipped but off until your deployment turns it on.","text0dd131944c00":"Exactly one session","text0def42d1eccc":"Customer in Stripe","text0df337fc286c":"Set up connectors","text0df3614110d5":"I’ve created an enterprise application","text0df6f1cad36c":"Show","text0df9df285277":"Only {value0}","text0dfd0cbdd238":"This is the only time the full key is displayed. Store it somewhere safe.","text0e0b01710c4b":"Slack is live · Teams and email are rolling out · or start sessions from the API","text0e1181a97f66":"A real machine, a real query, an analysis you can re-run","text0e16f24ee012":"· {value0} by {value1}","text0e22e022480d":"Choose which model runs this turn","text0e25da739ad6":"No sessions yet.","text0e35f6e9742e":"Basic","text0e47f09a748f":"Zoom in","text0e498a7ede47":"Enabled {value0}","text0e52f6b9d025":"Markdown","text0e570ca6fabe":"Source","text0e613afafe9e":"What never changes","text0e66373f45dc":"Label","text0e671041e03f":"Add Kortix to your Slack workspace","text0e7696009337":"History","text0e76da589934":"App access updated","text0e7e46a78843":"      image: python:3.12-slim","text0e8a6c4f3317":"Configured SSO provider from metadata","text0e8cb88f5b30":"bring the stack up","text0e9161011702":"Refresh","text0e95f5a36660":"SKILL.md","text0ea7891b939a":"Search “{value0}” across all 3,000+ apps","text0eae7ee74fc9":"Need it inside your own network, with SSO and a licence? Talk to us.","text0eaf8d2c6d6c":"Project rules apply across every connector and are evaluated first, so for those actions whatever you set here is ignored. They are marked below.","text0ebb429fa86d":"task","text0ec2e7ccbd17":"Optional when managed Email is configured. Stored as an encrypted project secret.","text0ec4cd70d04c":"The file in your repository that tells Kortix how to run this workspace.","text0ed6af34915f":"no matches","text0efeb28efa9a":"Viewed OpenAPI specification","text0f01d14cacf0":"Add context","text0f0215280156":"Wins over status; shimmer off.","text0f096c40454e":"Profile the dataset, plot the distributions, check for leakage and imbalance, and write the first honest paragraph about what is in the data. You start from a briefed position rather than from an empty cell.","text0f16342ee1c1":"32%","text0f308cfb7ef3":"0 auto","text0f4827ef74ea":"Open positions at Kortix — Marketing / Content, Sales, FDE / Services, Product / Eng, Product / R&D. Belgrade, Serbia and San Francisco. We hire for prolonged ownership.","text0f600458e375":"SSO, members, groups and role-based access come built in, with per-resource permissions for people and agents, encrypted secrets and a full audit trail. Self-host so the entire platform runs inside your own environment.","text0f64c7d16c28":"# check it compiles, ask for the missing secrets,","text0f656790976e":"Open any agent platform — they are architecturally identical. The marginal differences are not defensible. The only thing that diverges is the learning loop.","text0f7e45b2f65b":"The ad-hoc question, answered with its query attached","text0f8b05405598":"In the Easy connect catalogue: click through the OAuth screen and the connection belongs to the project. Read accounts, opportunities and activity; write back the fields you allow it to write.","text0f8c0eb8cc5e":"On-prem / your own VPC / your own network","text0f8c1078fa99":"No members in this account yet.","text0f8e295c7f7a":"Check that the code below matches the one in your terminal.","text0f92526d5f8f":"(Okta),","text0fb3ca669c74":"Connect SAML SSO first — Directory Sync can create and remove accounts, but users still need SSO to sign in.","text0fc5f970755c":"Checking the source for authentication settings…","text0fca4949c2b7":"Affected Services","text0fdefeed5773":"Column menu","text0fedead8d392":"pruned","text0ff5e16d4eb0":"Request expired","text0ffc4db692f7":"Start an agent session from this change. The agent merges the latest base branch, resolves the conflicts, runs checks, and opens a replacement change.","text100a17657e7b":"A set of permissions. A permission is one action, like reading a secret or managing members. Built-in roles cover the common sets; a custom role names its own.","text101f2ff3de22":"Rows","text102fd4438086":"Give your company a workforce of agents that run on a schedule, ship real deliverables, and improve one reviewed change at a time. Free to self-host, managed cloud from $20.","text103433433717":"repeat(auto-fill, minmax(150px, 1fr))","text1044a4c056d0":"Members","text1044b2d7aa48":"to send","text104a6fe5d2a6":"Principal type","text10798ef769fd":"No connectors available","text107f1806b5d7":"Task Complete","text10879d125f53":"Sandbox is warming up.","text108b466ef169":"Nothing opened automatically because you just archived it. Create a new one to keep going.","text108bff86a0eb":"Window ended","text108d15248c17":"Only events with action starting \"{value0}\"","text108fd36702c5":"This project’s environment is ready","text109311589787":"Runtime","text109346f4fd22":"Your wallet is empty, so sessions can’t run. Top up to keep compute and the latest AI models going — your plan and seats are unaffected.","text1095ddb6dcd8":"Add an application","text109d57cb33d7":"Rank, score or reject a candidate","text109ff88aec78":"Default connection updated","text10a92a8ad3ee":"Changes requested","text10bf2c029ba5":"Kortix blue","text10c837fe427c":"Every account member is already in this group.","text10d206f6ba36":"SOC 2 Type II in progress","text10d33709a797":"{value0} required {value1} not set","text10d67f48de99":"Tool calling","text10d9cd688efc":"You approve it","text10d9e23d0185":"· not a member yet","text10dbcac3bc2c":"Member cap","text10e0b5222505":"Set the send action to Ask and the run holds at the call, showing you the message and who it is addressed to. Approve and the same call completes. Deny and the session carries on without it.","text10e10590e499":"The query, in a file, on a branch.","text10e4622539f8":"[13.5px]\">Meta</span> <span className=\"text-","text10ea22c4a146":"Total balance","text10fdf5583470":"Rotate counterclockwise","text11022f38d525":"Which connected accounts this session may use. The default is the agent’s grant — each granted connector uses the project’s default connection; pick here only to pin this session to something else.","text111534bb6407":"Cloned into the sandbox at session start, on a fresh branch. The agent has a shell, a filesystem and the full history — it can bisect, run the suite, and read the commit that introduced the line it is about to change.","text111ec5778725":"Platform overview","text11219246b5be":"This session needs one connection.","text112f3ccb1b36":"Instruction","text113455086576":"Key revoked","text113463edeb06":"Open Session","text1138f40d47a7":"Not the rewrites. The small, well-defined work underneath them: reproductions, dependency bumps, flaky tests, a rename across two hundred files.","text113d9329566e":"Back on the application’s Settings page, expand \"Advanced Settings\" → \"Endpoints\" tab, and copy the \"SAML Metadata URL\". Paste it below.","text11507a0e2f5e":"new","text115127173723":"Refreshed a session","text115e22ef7526":"Kortix links a chat sender to a Kortix account before the agent runs for them. Run /kortix login and sign in. An unlinked sender gets a prompt to link, not a session — so a stranger in a shared channel cannot spend your compute.","text1169a4e6f771":"Do the reading. Keep the deciding.","text1171c854cfa8":"No ledger entries","text11776662ccda":"Kortix is the open-source AI OS where your company’s knowledge compounds. Free to start, free to self-host, free to own your learning loop.","text1178e164da4c":"Variance, with the reason attached","text11790d7a2dd3":"Run Kortix on your own machine, with your files and your terminal.","text1185f37d33b0":"deleted","text118749e29c68":"For a permission set the built-in roles do not cover. You define a custom role once on the account, then pick it in the same role select as the built-in ones — on a member, on a group, account-wide or on one project.","text1192c90dd497":"Add header","text1194228da8fd":"acme.com","text1195022baf37":"# Reach into the outside world. The definition is in","text119e32ef5780":"Provisioning → \"Start provisioning\" (Provisioning Status: On). The scheduled cycle then runs every ~40 minutes on its own; \"Provision on demand\" pushes one user instantly.","text11a432e7c5dd":"Read the trail for any session inside the app. Audit access is part of Enterprise.","text11a6767d5674":"Done","text11ad216eb380":"More than prose","text11b39c93777e":"Agent","text11b405209283":"One place to launch, schedule, watch, and stop every agent. Live streams, full history, spend, and triggers that start work without a human in the loop.","text11bd22785d4b":"SAML SSO & SCIM are Enterprise features","text11c1a5b0fa54":"An agent can sharpen its own prompt, add a skill, or tighten a permission rule. Every one of those is a commit on a branch in a change request a person merges. Self-improvement, human-merged. An agent never merges its own.","text11c520bc9f1f":"super-admin","text11d1b3d47709":"sourced","text11d5959da5d3":"Message ID","text11e51402c1de":"The agent — a stock OpenCode agent file. What it says lives here.","text11e9a34decaa":"The agent can install, run and break anything — only commits survive","text11f9d5398666":"Infra lead, six years","text11fa33eb608c":"Stage 2 — systems design · interviewer kit","text1210229a6f14":"You chose “Kortix blue”","text121a2886aca0":"but publish","text1225ae6c1ae6":"sessions","text122c254a4249":"+2 −1","text12306d744be3":"Viewed connector catalog","text1236152805ea":"Created audit webhook","text12467751a925":"Could not save","text1246fc93bca0":"Fixed","text124a33c70a13":"Currently active:","text124bd4ab7857":"Push Groups tab → \"+ Push Groups\" → \"Find groups by name\" → search and select the group → check \"Push Immediately\" → \"Save\".","text125080e7790f":"Every figure traces to a source · nothing posts without approval","text1254cb51218a":"It finds every place a metric is computed, diffs the definitions against each other, and reports where they disagree. This is unglamorous, genuinely hard to schedule, and the reason two dashboards show different revenue.","text126b835f55e1":"Token deleted","text127337c48cdc":"Hover the rail on the left. The dash taper follows the pointer; the card glides.","text127da196f663":"Longest a key can last, in days","text1283bae259c2":"Invite sent to @{value0} — they accept it on GitHub to get access","text128773c76940":"That prompt is no longer in the queue","text128a07bfe2df":"givenname","text128ec1ece532":"Create a new app integration","text129c678fce59":"Disclaimer","text129e6ae61447":"Ordered timeline","text12a7bd86e0a4":"connected","text12abcfe75cda":"Group Attributes","text12b9961bc6a4":"Optional x5t#S256 JWT header value.","text12c7a2f12360":"Session policy updated","text12cddd9b2730":"Sent {value0} out of {value1} invitations","text12cef29dfa4d":"Two ways in","text12dc6dbd8fc8":"Falls back to the project's configured default agent.","text12e59d221a29":"href renders a stretched link across the whole card, onClick a stretched button; either way the footer actions stay independently clickable above it. external opens a new tab.","text12f67f8539c4":"Availability","text12f89c97fe94":"The Schedules screen is a picker — every few minutes, weekdays, every month, or once at a moment you choose. Raw cron is the escape hatch behind it, not the price of entry.","text130011756125":"On","text131829d7a832":"Attributes & Claims list with the configured claims","text131a9516440b":"In your identity provider’s SCIM client, paste the two values shown above: \"Base / Tenant URL\" is the Tenant URL (the IdP appends /Users and /Groups), and the Bearer token is the secret.","text1327d65dc73c":"One platform, eight teams with completely different work. What sales, marketing, product, engineering, finance, people, IT and data science can each hand off — and what comes back.","text1329b0068f14":"Use <Button> and <IconButton> components","text13324ae62b23":"This starts a new session that edits {value0}'s source file for you.","text133e716aadbe":"No workspace yet","text1342ec89ae42":"Expires never","text13447731697e":"Project icon: {value0}. Change it","text134517d2e8c8":"Invitation cancelled.","text134c461eb9c4":"Add a project secret","text134ebe5b7d40":"I’ve enabled and connected SCIM","text13502ac4da41":"Applications → Applications","text1351b7b6201b":"bun test apps/api/src/billing","text13553d2cc867":"Please select an image file","text13636ed4dbfc":"Webhook created — test event delivered successfully.","text1367ae07eb66":"No PMs, no QA","text13716a578591":"Disconnect \"{value0}\"?","text137a8038e336":"A real machine with a shell","text137f1b68d2c8":"under LLM providers — one key is served by one of the two, not both.","text137f98df3b9b":"Group by session","text13811c334c6d":"Managed models updated","text138e22ba8f29":"Two types · Declared in kortix.yaml · Reviewed like everything else","text139241655203":"Require admin approval — Create","text139dfa78cf32":"No tools match \"{value0}\".","text13b6db11e086":"Either way a group confers NO access until you grant it a project role; changes in the IdP (add/remove from a group) apply on the user’s next sign-in.","text13b96b3a60d2":"Personal AI agents vs a company OS: Kortix, OpenClaw, and Hermes","text13c1e155f999":"Splunk production","text13c531d3fe85":"The whole docker-compose.yml and .env, written at mode 0600","text13ca2ee24993":"Canceled","text13d50aaa238b":"Nothing awaiting approval","text13d6ff07b8a5":"Repository","text13dfac242fb3":"31 days","text13e8da46c7b1":"Shown on the consent screen — name it the way its users know it.","text13f4c5d6b194":"triggers: # runs in a loop, in the night","text14085878939d":"Failed to update the project config","text140f8493be16":"# any conversational source, without channel-specific code","text14252254ce31":"Blocked outright. Not a warning — a wall.","text1432897a6136":"Legacy","text1436469ad07f":"You are… Goal: … Steps: 1. …","text1439df702f19":"pr-review/SKILL.md","text143f0330d2de":"Requires","text1447557b9c1e":"X-Tenant-Id","text1458e20a1642":"Optional. Kortix also deletes the local token on disconnect.","text1459df2e344c":"A Linux machine boots from the sandbox image your project declares. It is its own isolated machine: its own filesystem, its own process table, its own network. Nothing is shared with another session.","text14683b379324":"Revoke token","text146b38e7fa80":"When the default fails","text146cd06d5026":"Env:","text146fd497badf":"Email skipped — copy invite link to share manually","text147251df4759":"This usually takes a few seconds","text14736a2eb9f4":"Role","text147cd182c820":"Rollback failed","text147d3ae89e52":"A custom role is additive and it is ONE assignment: the principal keeps whatever their built-in role gives them, and the custom role grants everything on top. There is no deny — a role can only ever add. Choosing a built-in role again removes it.","text147fb813a251":"Approval","text148677068467":"Refresh now","text1493d5e5a577":"Isolation, credentials, permissions and audit","text1499fcd195a5":"Where the time goes","text149bdc09a5a9":"Kortix vs QM: two open agent platforms, two different units of work","text14a2f02e188f":"Next (↓)","text14a4ab8bf5c1":"IdP Entity ID","text14d04a4900a4":"Sales deck","text14d959607774":"Grant a member or group access to get started.","text14f1b7cb49a1":"Anything higher goes to a human.","text14f1b9941b3f":"A OneLogin user can only sign into an app that is assigned to them — an unassigned user is rejected at sign-in (\"app not available\"). Assign your test user before testing.","text14f28ead0334":"A People team is judgement plus a mountain of coordination, and the coordination is what stops the judgement happening. Every job below is the coordination half.","text14f34284b054":"Slider","text1502222fa596":"You have to run it, and you have to approve it. Both, honestly.","text1505b0533fdc":"  required: [STRIPE_API_KEY]","text1509f561f241":"Save","text150bfa8e7f53":"Check your email for a password reset link","text151dc282a69e":"Can view","text15271cd8e00f":"Asked in a Slack thread, answered from the handbook with the section quoted. Questions the handbook does not answer get routed to a person instead of guessed at.","text152e68590318":"List & ListRow","text152f471fbe21":"LTM Search","text153cdaaec561":"Assignment","text154c1feb869c":"xoxb-…","text154f05efd8cf":"text-fd-primary font-medium","text15506f3e0de0":"approvals need","text1550a96d28fa":"Read project connector","text1553cc62ff24":"editor","text156d4538a20d":"never crosses into the sandbox","text15768e5d66db":"The voice is code, so fixing it is a commit","text15831467e37e":"Maximum {value0} emails allowed","text158c8bdea1b0":"Enable provider failover","text159265decfad":"Open the install chat in","text15b2fcddefb6":"Open this page from {value0}","text15b963086594":"Two events for the same brand-new thread arriving at once do not produce two sessions: the second joins the first and is delivered as a follow-up. One Slack workspace bound to more than one project shows a project picker on the first mention instead of guessing.","text15be258f884e":"codeRefreshed","text15cfa40eef41":"Schedules, webhooks, and events.","text15e1da118b5d":"#094","text15e74e0985a0":"A marketing agent that runs the brief.","text15f59796bc7d":"Granted {value0} access","text160392419673":"SystemNotificationCard — parsed from XML","text1604d2906a45":"Failed to restart session","text160cc87a108c":"Add mapping","text160ecadfebc2":"Owner subscription required","text1611b2d21d9c":"objectId","text1614f84867d4":"Subscribe — ${value0}/mo","text16185038c1c0":"+20,600","text1627f835d6e1":"Name ID format: EMAIL. Name ID: Basic Information → Primary email.","text16324ed5894b":"This session:","text1635b720b911":"The gateway checks this agent may use this connector, resolves the policy, decrypts the credential server-side, and attaches it to the outbound request.","text1642d9e225e6":"Service accounts","text164e80bf993e":"The request was rejected ({value0}).","text16613cfc614f":"Add direct","text166442c65e8e":"Failed to save configuration","text166ca2c8086b":"Entra maps email to user.mail by default, which is EMPTY for accounts without a mailbox (any *.onmicrosoft.com user). An empty email breaks sign-in with no useful error. The UPN (User Principal Name — the username people sign in with, e.g. jane@yourtenant.onmicrosoft.com) is always populated, which is why every mapping here points at it.","text167024ef8e9c":"Revoked account session","text1672b36c2888":"Permissions attach to a principal, for an action, on a resource type.","text1677a1d1350d":"Assign users to the app","text167c96824acb":"Failed to copy link","text167ccaf831ad":"All in one","text168511d24d9e":"Allow once","text16886514658f":"the runtime your agents think in","text168fa55c02d3":"The device authorization code expired","text1695b48bccfe":"Cmd","text169a667df8ce":"The Permissions tab of the Google Drive connector in Kortix: a default rule, then every Drive tool set to Allow, Ask, Block or Default.","text16a2a5617354":"Tier Grant","text16a36eea2e4e":"Turns a brief into drafts, then routes them for review.","text16af2c8fb28f":"Copy model ID","text16b9d8d63ecb":"All in one — Kortix","text16c0f5434ed3":"36%","text16cd9943e96d":"Proposed change dismissed","text16cf9ca5c085":"Failed to debit credits","text16d1c9050a0b":"Table","text16da5dfc6a3b":"Create a project-scoped key to call the gateway from outside a Kortix session.","text16e6c9d96191":"Pass delimited text with the","text16e7141c2cd9":"Your CRM and your inbox — without handing over the keys.","text16e90a8f3eac":"A session runs on its own machine on its own branch. Nothing it does touches the repo until it commits and opens a change request.","text16efcd21d74f":"Could not save","text16f0ee47f993":"API key","text16f1f6b56a4a":"A project-level pause stops every trigger at once, on top of each trigger’s own enabled flag. Use it when the same repo runs on two control planes so nothing fires twice.","text16f880284c51":"git push origin main","text16f918df0840":"The call is held. You see the action and its arguments.","text16f9c1359c2e":"Have an agent do something on a repeating schedule, or once at a set time.","text170322a32f3c":"Info","text1703616a8648":"launch-note.md +64 −0","text1707565fd3f0":"Return to default","text170c6185473e":"Deleted {value0} of {value1}. {value2} failed.","text17168ad2af4a":"Failed to load Apps","text1720d8eaff79":"Github","text172ebbf578c6":"Connect Cloudflare Access to your identity provider","text17313fb7bf82":"does not count.","text173b12591349":"Group membership for a user who hasn’t signed in yet is held on their invite and applies automatically at their FIRST sign-in — an empty group before that is expected, not a failure.","text1744b96470b5":"Network","text1746a52157af":"AWS Signature Version 4","text1747233af590":"Session strategy","text17635feb9ad5":"Work on this locally","text177116ee5177":"No accounts","text1774cca7f6a4":"Agent environment","text177b7cb06867":"esc","text177c933ae9a5":"two files","text1781dd4bb649":"Attributes & Claims","text1785635529d1":"Provision on demand","text178880c99bfa":"One-shot database migration on every roll","text1797cd1f264b":"Your ChatGPT subscription","text17b2d4b0499f":"Medium risk","text17c982d8eb68":"Trigger settings","text17ca81a2d026":"A sandbox is a real Linux machine the model can run anything on. So we do not put your credentials in it. The sandbox carries exactly one Kortix token, scoped to the project, and every outbound call is assembled on our side of the wall.","text17ccfa5b681e":"Maintenance","text17ce60292e3f":"more in this session","text17cf41bd6a6f":"Busy right now — it will retry","text17d36a505f97":"View as Markdown","text17d89116b971":"What’s inside","text17db80ec07a9":"Accepted account invitation","text17df71c477b7":"InfoBanner","text17e516073450":"Save the signing secret now. You will not see it again — to rotate, delete this webhook and create a new one.","text17e9f72b9ba8":"Adds","text17eb3c0168d0":"disabled","text17f204181cdb":"enterpriseAccordionSocBody","text180041804cd1":"Change what {value0} can do in {value1}.","text1801bed8cea5":"Copy failed - select and copy manually","text18038f7fc7e0":"The grant is removed automatically at this time.","text1803aa5595d8":"Loading your projects…","text1806843c0554":"The open-source AI Management System","text18093cad2644":"Modal","text180bbb19a1b2":"The runbook that lives in one person’s head","text1814e0a6cb50":"See available models","text1815aa434bc6":"# Schema version 2. The runtime is OpenCode.","text1815ae76cdc7":"Not deployed","text1829231e85b1":"Every member of this account will see the Kortix logo, icon, favicon, and name again. Uploaded images are deleted.","text1836d8d61ae9":"{value0} removed from {value1}","text183bd99db5b3":"Fired trigger","text183e358090e5":"Coordination and drafting · a person decides about a person","text184486387f75":"Every session boots its own disposable Linux computer and cuts its own branch. Thousands can run in parallel on one configuration without touching each other. The machine is real: the agent has a shell, a filesystem and the network.","text1862f81ed9d6":"An agent needs your approval","text18658a31c8cc":"Failed to load {value0}s","text1867a2ddd453":"Single sign-on → SAML Certificates","text1867c0243aad":"Connect {value0} to Kortix","text186c10caa2d2":"Manage members, groups, roles and tokens.","text186c238a4d46":"Redacted output summary","text1877b4713d40":"Profile attribute statements filled with email, firstName, and lastName","text187897ce0afc":"more","text187f9c2d0625":"Order matters: tick \"Declare Redirect Endpoint\" and Save BEFORE copying metadata — copying before Save yields metadata with the wrong binding or a missing certificate, and Kortix silently gets the wrong SSO endpoint.","text18885f27b5af":"Python","text188fba3516ee":"One isolated machine per session","text1898b198a7e6":"Nobody present","text18a4e711991b":"Enriches leads from the CRM, researches each account and drafts tailored outreach.","text18a59ffd5fa8":"one OpenCode agent per file","text18ab46abb07f":"grep the whole company, diff any change, roll any part of it back","text18c99d7a5ce2":", not from anything on this page.","text18c9e5d44e37":"lastName","text18cf674c5f32":"Failed to reset branding","text18d270539067":"Yours to take","text18d39efa2461":"{pattern} — action","text18d67c992b71":"Display Name","text18d7a47acb40":"Case studies and use cases are on the way. Check back soon.","text18d93a94d067":"Back in Kortix, watch the live status below while you push or wait for the sync — no need to tab back and forth to check.","text18e34d7ead18":"Allow Once","text18f31a325716":"About Kortix – The open AGI platform","text18fb4a5618b9":"The same parameter view used for live approvals.","text18fdd549b2ed":"New","text18ffe0b80305":"and revokes its active permissions. Existing audit events remain available.","text1903bc11a8e9":"Must match the token's resource owner exactly.","text192173c3beda":"billed to your own provider keys","text19229283a276":"kortix triggers","text1931491100e0":"Word Document","text193ea53a9706":"Sandbox compute is a provider choice: Daytona by default, or Platinum or E2B. Air-gapped and other fully isolated topologies are scoped with us rather than self-served.","text19466f874498":"See how triggers work","text194e9fe656a1":"Headers","text1955194aaa79":"A pushed user appears under Members (as a pending invite until their first sign-in).","text1956371bd3d4":"Mint a token & connect provisioning","text19581e27de7c":"9","text195a641fb78e":"# it says. An omitted grant resolves to none.","text19608ade89b8":"Search files in this project...","text196534a6c8ac":"SSO setup","text1965f383021e":"kortix.yaml","text196a5c2c8297":"Account details for {value0}","text196f5a9a744a":"Primary email domain","text197300839f83":"Copy \"{value0}\"","text19766ed6ccb2":"Cancel","text197da3e17a78":"Device Authorization","text197f9370a831":"Plan cap","text19890c7ac88a":"Failed to load project access","text1994b6869b97":"SP Entity ID","text19962f19ebb6":"# Customers","text1996ba994792":"PingOne SAML Configuration with the Import from URL option","text1999ea7700a7":"Selected teammates","text19a4be984642":"Stops this project running any trigger on its own. You can still start one by hand. Useful when another environment is meant to be doing the work.","text19a79f3e7ac6":"Custom subset — the exact capabilities are in Advanced.","text19af3c59fefa":"\"Brief me on Northwind before eleven\"","text19c9c39fa297":"Joiner, mover, leaver","text19e30fb401fa":"any directory, any machine","text19e8fbbc0d7b":"% used","text19e9b5ae9295":"The internal PingOne groups you select on the provisioning rule are created in Kortix under their PingOne names.","text19efd469fc32":"Copy failed — select and copy manually","text1a03a36926fe":"The session works on its branch","text1a04088c9f07":"Your handbook is the source","text1a093dfd0cde":"Two families on a solid field, nothing else:","text1a146e36d3fc":"Cloudflare forwards the upstream IdP’s group NAMES on a \"groups\" SAML attribute (sent automatically for Okta, Entra ID, Google Workspace, and GitHub) — map those names in Kortix.","text1a17a48d8496":"Credit ledger","text1a1e4d549e85":"When this agent starts on its own.","text1a2303ede074":"Connect","text1a24578b099b":"account members organization roster owners admins seats","text1a3ba76c2b52":"We'll still route you to the next step.","text1a425eb8b2b6":"Added the connector to the manifest, but synchronization failed: {value0}. Use Sync to retry.","text1a42d28bc87a":"Agent sandboxes, which run on the provider you configure","text1a48c8c83043":"Delete secret","text1a495c868b6b":"Could not upload profile picture","text1a4a6a7b9294":"The dashboard uses the same install flow as the CLI. Neither one is the real one.","text1a4f630ac1b6":"Stopped","text1a5971d4dc9f":"Updated group","text1a5ad9860afa":"Private key (PEM)","text1a6053abeabe":"A project manager must create this connection.","text1a60b0977a4f":"Nothing to review","text1a65c2fe47d3":"Added to group","text1a7e64092334":"Change the image the way you change any other file: in a change request.","text1a82cd072e37":"Assign to People","text1a89c40bda2b":"llm-gateway","text1a90347eaad1":"Convert every inbound lead and build the outbound motion from zero.","text1aae7cd92dea":"Client secret value","text1ab1b095c1ed":"Drop files to attach","text1ab9754d3882":"{label} — default","text1abf3be956d7":"It is a git repo. It does what git repos do.","text1ac9fe8126fa":"Loading presentation...","text1ad2cc6a4099":"inviteSent","text1ad7a1e28408":"Set…","text1ad7c306084d":"Draft · for review","text1ad818754c47":"Whatever attributes Kortix needs (email, first/last name, and groups) must survive the upstream hop — Cloudflare forwards them on.","text1ae67a503b12":"Connect the tools your company runs on","text1ae97542051d":"Install command","text1aeb8993945b":"Most AI tools give the agent whatever the person who started it can reach. Kortix does not. An agent identity carries its own policies, evaluated on their own, so it cannot inherit its way up to something you never granted it.","text1af17ebb39e4":"The call goes straight through. For reads and for the routine writes you have already decided you trust.","text1af2ef8f1409":"Request a demo","text1af6ff873b59":"rfp-response/SKILL.md","text1afdeb0c03d3":"Updated review items in bulk","text1b00fe7ae5e3":"Your own network","text1b07037029d3":"This slug already exists in this project.","text1b07d7fa22ad":"+67,200","text1b0e06a3f475":"No messages in this session","text1b10c2cfc647":"Okta sends the matching groups by NAME — those names are what you map in Kortix. The attribute name (groups) is what Kortix reads as the group claim.","text1b247decbb75":"JumpCloud admin → Access → SSO Applications","text1b3a3906ef41":"I’ve completed basic SAML configuration","text1b492be77224":"All groups","text1b5465e03357":"Search tokens","text1b602e7270b7":"One connection. Every agent, every session, every person.","text1b65f45d0347":"Redirecting to Google authentication...","text1b7b2078f271":"The reply lands in the thread as one message that fills in, not a wall of updates. The agent finalises that message rather than posting a second one underneath it.","text1b7bdab96532":"Which agent handles each run.","text1b84926d58a9":"No script for this slide.","text1b85843d53b1":"members member workspace access collaborators people teammates roster who can see permissions grant share seats","text1b8f0674b970":"The sandbox carries one project-scoped Kortix token and no third-party keys. Your applicant-system credential is decrypted server-side and attached to the outbound request, then thrown away.","text1ba70b3e6cfc":"The model","text1bb320d9db5d":"Use custom AgentMail key","text1bb8a6b21d3c":"while running. Optional managed model usage is token-based and draws from the same pool.","text1bbab8923e0a":"/path/to/folder","text1bd697c45384":"Salesforce, HubSpot","text1bd739e67b5e":"When it runs","text1bf0f5e57c1f":"user message · owns the plan → spans the column, PlanCard inside","text1bf354f2b825":"It works and checks in.","text1bf917debaf4":"Evaluation, through a Cloudflare tunnel with no domain. The tunnel URL changes on every restart, so use it to try the product, not to run on it.","text1bfa15228ca8":"Slack connected","text1bffac0197ca":"goes fullscreen, and","text1c01c6630cab":"Icon: {value0}. Change it","text1c049715ebdd":"- connectors: warehouse, metabase","text1c145081eddd":"Switched to {provider}","text1c1a67e4558f":"Members will be able to sign in with a password alone. Any policy you set a second-factor condition on individually still enforces it — only the account-wide rule is removed.","text1c22fac2a9fd":"Shared with the project","text1c27f2b12cec":"On the app’s \"Sign On\" tab, in the \"Metadata details\" section, locate the \"Metadata URL\" and click \"Copy\". Paste it below to continue.","text1c2fb82a41c4":"Could not delete that app","text1c35553b79b1":"PingOne Attribute Mapping with saml_subject, email, id, firstName, lastName","text1c43774a1a79":"Someone mentions the bot in the IT channel. The thread becomes a session, the session reads your documentation, and the answer lands back in the same thread with the source quoted.","text1c460e25b6ff":"- Skills live under each function as SKILL.md","text1c4642fde099":"Build for the jump, not the model.","text1c57f31d6315":"Hidden credential","text1c57faca2eb3":"Attribute mapping","text1c59fde888ed":"Default connection updated","text1c5c95a7967a":"Production support entrypoint. Operations is the source of truth for live platform health.","text1c5f0707e8b0":"This share link has been revoked or has expired.","text1c6225ec7092":"Budget","text1c791e8c04de":"Audit logs are an Enterprise feature","text1c81f8a26f00":"3,000+ apps in a click, plus MCP, OpenAPI, GraphQL and raw HTTP. The third-party credential is held and resolved server-side; the machine holds one scoped Kortix token and calls through it. The same rule covers Kortix’s own provider keys, which no sandbox is allowed to hold.","text1c839837c15a":"1d90b73  invoice-clerk: first draft of the persona","text1c85c12229a4":"Claims","text1c8a00d1f262":"Failed to start recovery session","text1c8c818388dd":"{value0} details for {value1}","text1c92f49889dd":"Members in this account","text1ca52f90af41":"Group mappings","text1ca8b28b3e6a":"Add a SaaS application in Cloudflare Access","text1cdceed6417e":"If the sign-in fails: “not assigned” → assign the user to the app (assign-users step); on Google this can also be propagation delay right after you turn the app on, so wait a few minutes and retry first. An attribute/email error → recheck the email claim maps to the IdP’s login attribute (attributes step). Signed in but no groups → recheck the group claim NAME matches what you set at connect.","text1ce93dacbcf4":"chars","text1cf387c012cd":"frontend","text1cf441545609":"Every layer an AI workforce needs — in one platform you own.","text1cff79b7eb0b":"Failed to remove member","text1d01fc5159dc":"Request denied","text1d027167e9dd":"Maintenance Notifications","text1d0447543fac":"python:3.12-slim","text1d0486014da5":"Failed to remove","text1d0c9d480457":"Spent by the Kortix model gateway. It never enters the sandbox.","text1d1d94fb5397":"Talk to us","text1d21d2b18753":"Row added","text1d280015aac2":"Back to Customize","text1d2a6194e5b0":"Updated trigger","text1d421d3dc4ae":"Prompt copied — paste it into the chat to ask your agent.","text1d42883b00c1":"Scopes: {value0}.","text1d432f58690c":"Conversations","text1d4c17db52f7":"Toggle Sidebar","text1d55ff7c387c":"View options","text1d59a5e09714":"Global rules","text1d5b40338c62":"Leave account","text1d6d3a460fb1":"DOCX document","text1d72184afeaf":"Go from asking questions to running the work.","text1d7a4d1f09bb":"We are building the open AGI platform. Every company should own all of it.","text1d7bec01eefe":"Open source, so the harness is never the thing you are locked into","text1d826553e961":"Review changes proposed by your agents","text1d8297cfb60c":"Agentic harness","text1d8b64ea50d6":"The model is never shown a credential, and the ledger stores a hash of the inputs rather than the inputs themselves.","text1d9413cfa08c":"Browse all 3,000+ apps","text1d96669797aa":"sentBody","text1d9a01c8863e":"The strongest data connector on this page is the sandbox. Pull an extract down, work on it locally with whatever you would normally use, and never move the analysis into a tool that cannot do arithmetic.","text1d9a8dde5629":"Open source and self-hostable. Any model, your keys. Kortix Cloud, your own VPC, or fully on-prem.","text1d9b122d8d72":"Outbound, error triage, the books, the Monday report — real jobs, on real machines, landing as changes you can read.","text1d9c7125d64e":"Per project","text1da51b8d8ff9":"91","text1db8b5fa8eb7":"Failed to start GitHub App setup","text1dd1ec642eed":"Queue paused —","text1de222b90941":"Add another project","text1e066af3b6db":"Two gates, not one","text1e1353702c42":"Private — only you","text1e19bab29bc6":"providers","text1e1a1c078af2":"Teams","text1e1df0872c2f":"Failed to create webhook","text1e1e29fc3a48":"runsPoint2Body","text1e2086857621":"Deny by default. Never above the human.","text1e208e20a0eb":"With the harness","text1e237ea61e62":"Single sign-on URL","text1e271231e679":"Cut a new branch and boot a new cloud computer. This is the default, and the last resort for every other mode.","text1e2baba1cb9b":"Kortix Changelog","text1e47d4f7a1a3":"Next item","text1e49ee38fcec":"What you do not get","text1e54b8e6af96":"Sync users and groups from Microsoft Entra, Okta, OneLogin, JumpCloud, PingOne, or any SCIM 2.0 provider.","text1e5fac867454":"connections","text1e5fdfe01184":"Choose the tools and resources each agent needs once. Every new session uses that setup automatically.","text1e67cb5d7376":"Google Admin console Web and mobile apps page with Add app menu open","text1e6fde362892":"The tracker, kept honest","text1e7d701f8277":"No rows selected — click a row first","text1e81096749e9":"- skills: prospecting, rfp-response, renewals","text1e8a920aaf30":"Raise, send, and reconcile invoices on schedule.","text1e8e15a1b467":"Files and search","text1e9406a77696":"SAML 2.0 SSO","text1e965e25daad":"Connection saved","text1e9806e4227b":"Signal","text1ea442a134b2":"No","text1ea62f53296b":"Bot app (client) ID","text1ea6d4f6d365":"calc(100% - 8px)","text1ead5326bbb8":"Checking how this server authorizes","text1eaee08882eb":"Total sandboxes","text1eb193dab0da":"## Says","text1eba90226b10":"Setup steps","text1ec222d94194":"what the company has learned","text1ece34602eea":"Values are sealed with AES-256-GCM. The key is derived per project with HKDF-SHA256, so one project’s ciphertext cannot be opened with another project’s key. The envelope is versioned, so the scheme can move forward without a flag day.","text1ee690876b9c":"Put the project model to work.","text1ee88a995467":"The SCIM base URL, what to enter on the IdP side, and how each provider starts automatic sync.","text1eec97a07f6b":"Promise","text1efc71237433":"Hide {value0} key","text1f00d975e483":"+111,800","text1f05c7f5b64d":"Allow everything","text1f0a5246c481":"No model configured","text1f1146934bab":"Install the CLI and drive Kortix from your shell.","text1f1196332022":"Credit grant ($)","text1f1228d5e972":"Slack manifest copied","text1f23d8400f20":"A filter is a dotted path matched against the same payload the prompt sees. It exists to break loops: a source that reports both sides of a conversation would otherwise fire the agent on its own reply.","text1f2550ed44dc":"Which agent, model, and join policy each connected channel uses. A channel with no override follows the project default.","text1f2cde4f0d46":"Started session","text1f3073c23e1e":"GitHub organization (optional)","text1f36becc3aa7":"What it is","text1f37df0db62b":"Failed to resend invite","text1f4114a47e76":"Project created, but the setup session could not be started","text1f43948106d1":"Built-in","text1f45f02561f4":"Cut","text1f4dada66e63":"on a resource","text1f5bdc1c9cf0":"You can inspect this record, but the owner has not shared the session content with you.","text1f64fff08d78":"runs","text1f6d55a46a7c":"Include in SAML assertion","text1f6fa6f69d18":"min","text1f740a094773":"$ grep -ri \"annual\" .kortix/memory","text1f771b52ed1c":"810,000","text1f7ad27866ae":"Vision / file input","text1f8089e0b8bf":"Ask in a thread and the session reads the source, the voice file and the claims file, then comes back with the drafts in the same thread.","text1f83ee142a4b":"The App never learns who opened it","text1f9163a0d700":"Observe screen","text1f9189b2dc36":"Switch model","text1f923dc84e2f":"Existing members keep their access; new sign-ins via SAML stop being provisioned and group sync no longer runs.","text1f926d1359b8":"The first message in a thread creates a session. Every later message in that thread reaches the same session — after the sandbox stops overnight, after the person who started it goes home. That mapping is a unique index in the database, not a convention two services agree to honour.","text1f94843777ae":"Resend","text1f94b32a5f82":"Google Workspace and Microsoft 365","text1f95658b1ee9":"PPP 'at' HH:mm","text1f97b1d85d84":"No match — pick the Custom option for any standards-based provider.","text1fa1b04791a4":"Use cron expression","text1fa449139a48":"Open the repo","text1fc03af173f4":"No sessions matched \"{value0}\"","text1fc6dc4bd320":"In \"Single sign-on\", scroll to section 3 \"SAML Certificates\" and copy the \"App Federation Metadata Url\". Paste it below to continue.","text1fc6f3927039":"Audience URI (SP Entity ID)","text1fc9a387654d":"Select all","text1fcc4b37141c":"discarded","text1fd045f22dfd":"No trial has ever been issued.","text1fd9ae1607aa":"Invite","text1fe08365831b":"Warmed session sandbox","text1fece1858ee9":"Add to Teams","text1ff0d2da36a6":"Plan, wallet, and spend for this account.","text1ff455ad5cf0":"Could not save budget","text1ff57a29d7c9":"Next","text1ff8ad6301d4":"all projects","text1ffa9ae5b248":"Device Authorization URL","text2005290ddda9":"Password must be at least 6 characters","text202141442ce8":"with the agent","text20432b11333f":"A Rauch-style hard-pixel particle rendering of the Kortix symbol.","text204a5eb2cd28":"Cost","text20589d735f49":"Ran gateway completion","text2060803eeb71":"Expand Sidebar","text206588f5fd84":"Add Computer Tunnel","text2068b81b75d4":"Reach","text2069eac0aa93":"Agents work on your internal data, in one place","text2069f4549744":"Days to run","text206d4796597e":"Careers at Kortix","text208037ac5573":"Docker Engine with the Compose plugin","text2085a74cbb9b":"Reply URL (ACS)","text2086b9a17d50":"8 mo","text208c16738f38":"{value0} loses access to this account on their next request and has to sign in again.","text209406f80597":"# RFP response","text20a2e59ba129":"Feature flags","text20a958bfd83a":"Stacked — with banner","text20b8487b3804":"All events","text20bf63f7b46f":"Webhook created","text20c32c06512f":"Contact Kortix","text20c37607a3b4":"Last sign-in:","text20ca8b981319":"conic-gradient(from 0deg, red, orange, yellow, lime, cyan, blue, magenta, red)","text20caf3bcf39b":"No agents matching \"{value0}\"","text20cec9e797c9":"Canonical event #","text20d72a65e3df":"qbr-prep/SKILL.md","text20dba837bd8e":"Sandbox actions","text20e21c1a9320":"Black & white with turquoise accent","text20ebc2fbf331":"your box","text20f12289f9b8":"Tooltip","text20f1619cdd29":"Allowed path","text20f25bdb24b4":"Source attribute","text21164ff9b63e":"Reason (e.g. ticket #1234)","text211be77ddd51":"The production support entrypoint. Every number below is live — the overview polls every 15 seconds.","text211d0bb8cf4f":"Block","text211ec50d7a30":"Shipped in both themes; the picker reads a static thumbnail.","text2124ed4e5bb6":"Daily Refresh","text21297d1ad43f":"Every variant, named. Sessions use 3×3, circular, and square at 14px.","text212fd04a1d20":"Search agents","text212fd966f4a3":"Easy connect covers 3,000+ apps through their own OAuth screens, but we will not pretend every finance system is in it. Where the catalogue does not reach, the direct connector types do — and if your ledger has no API at all, the honest answer is that this stays a workbook-and-approval workflow.","text213985e12832":"Postman","text21417e340893":".kortix/opencode/agents/kortix.md","text214466a0fee4":"Still on a yearly commitment","text214c21aedcef":"  \"permission\": \"allow\"","text214d79fdac84":"Overrides saved","text2158038765cc":"Preparing preview","text21613c68434c":"Read the full release on GitHub","text217a15820752":"You approved this — the agent is running the migration now","text218197693424":"From","text2190d03af90a":"Leave without saving?","text2191d96dabc7":"Cloudflare Add an application dialog with the SaaS type selected","text219528f8ca23":"The backlog you have stopped pretending you will get to.","text21b111cbfe6e":"Default","text21b1727307b8":"Granted of — some failed.","text21b2eed1e328":"images","text21c3f4d1d0d0":"with spend this month)","text21d1eb6c1c55":"Turns a plain question into SQL and a dashboard.","text21d4eb49638e":"Open source · SSO · RBAC · on-prem · no lock-in","text21d978d10cd9":"The sandbox carries one project-scoped Kortix token and no third-party keys. The credential for your campaign tool is decrypted server-side and attached to the outbound request.","text21e4c72a597b":"Saving clears every active maintenance notification and restores normal access.","text21fd79c7de52":"Last seen","text21fea3a172b2":"Configure SAML","text2204e7921e43":"On the app’s \"Provisioning\" tab, choose SCIM and Save. A configuration panel appears → \"Configure API Integration\" → tick \"Enable API integration\".","text2206b18e524f":"helpdesk · read","text221163d6e73f":"Create role","text2219a1d40514":"Marko Kraemer","text221bf49bd2bb":"default_mode: risk makes reads run and sends writes and destructive calls to a person. A project with no policy block keeps the permissive legacy default, so set this explicitly.","text221ff19c904c":"Schedules","text22206bc67806":"Exit selection","text222b8d57e366":"Failed to save overrides","text22412aa281cb":"the sandbox provider","text22489bebb98f":"Deleted service account","text224a3369a5c9":"Value:","text224f87a75a67":"oncall-handoff","text22529ca02952":"If the item needs a key or a connected app, the agent hands you a fill-in link in the same turn. You never paste a credential into a chat, and the agent never sees the value.","text22548d041f74":"Shown once","text2255219ebc09":"Answers from","text225d72c56949":"It searches the sources you connect for people matching the brief, scores each against the written bar, and drafts the first approach for every one worth it.","text226f2b1f08a3":"An open runtime today, pluggable by design. The sandbox is yours to read and replace.","text2283269ca150":"Channel connection","text2288facc3728":"SAML SSO, SCIM directory sync, custom roles, groups and reading the audit log are Enterprise entitlements. On a self-hosted instance they switch on with an Enterprise licence. The built-in owner, admin, member, manager and editor roles are there on every install, and the audit record is written on every install whether or not you can read it back yet.","text228bf1feed01":"- Pick the keyword from the gap report","text228d1d7e87d4":"Secrets manager","text22965568d22a":"Connected","text229b158743e5":"Describe a change and an agent ships it — referencing what already exists, reusing patterns, opening a PR you review.","text229c8c14416e":"All tokens","text229fbeec6b2f":"Open full view","text22a970d2e5b1":"Completed","text22b4436e2cc6":"You own the stack","text22b6584e5811":"The API and the in-process LLM gateway","text22ba60d6b643":"ChatGPT Work","text22cd1f210415":"Ask a project manager to give you access to this project's","text22cd35468c29":"Loading your workspace","text22d231391269":"Pulling","text22e2bada8f1c":"Updates","text22e7a3b61f49":"This entry is listed in the archive but its bytes are missing.","text22e88caadb30":"Access Entity ID","text22efd6dbe496":"Listed approvals needing input","text2302a8311ddf":"No projects match your search","text230c0a4b3c33":"Work lands via","text231082dfe1a4":"Could not copy the prompt.","text2319beb05e69":"Resolved gateway models","text231d895f30dd":"Built to survive a security review.","text2334606a7abf":"Tick \"Declare Redirect Endpoint\" FIRST (it changes the generated metadata), then click \"Activate\" / \"Save\" — that step generates the app’s signing certificate. Only AFTER saving, copy the \"Metadata URL\" and paste it below (keep \"Dynamic configuration\" selected).","text233d0d69a6c8":"Basic SAML Configuration section with the Edit button","text234482872368":"Add one to inject it into every new session.","text2346f214ad56":"Muted","text2348f9987442":"open","text234d0e73855a":"12%","text2350866daa5a":"# How this company works","text235b7345c9a4":"Some invites were created without email delivery — share links manually.","text235c1b41991b":"Kortix vs Glean: search or an agent platform that runs work?","text235f858bb706":".opencode/opencode.jsonc","text23605073426a":"codePoint4Body","text2366b8e06afa":"Satya Nadella’s frontier-ecosystem framework reveals the most important strategic idea in AI: every company must build human capital and token capital, and they compound together.","text23686ff6ba91":"Couldn't load the review inbox","text23715dba027a":"Credits & usage","text2371acc8f6df":"Could not save the conditions","text237e26912210":"runsPoint4Title","text237f1a28cf06":"Every member of a selected group gets this role on this project too.","text2380f018cc45":"Search models…","text23922935b1f8":"Connection saved","text2395784386a5":"Choose who can open","text23ac944be61d":"userName","text23ad3a862df5":"Sessions call the gateway inside your own stack, over your own domain or tunnel. Kortix has no credential in that path and no visibility into it.","text23b0caa9d34a":"Member removed","text23b1336156a0":"Mobile client","text23bdf85d2503":"Applying config and validating runtime","text23c1c031ead7":"App Federation Metadata Url","text23c3dabd48d6":"0 0, 5px 5px","text23c446ef2187":"Client Credentials","text23d5ee4799f0":"Easy connect covers 3,000+ apps through their OAuth screens. Anything not in that catalogue is reachable through MCP, OpenAPI, GraphQL or raw HTTP — which is usually the honest answer for an internal service, because it never had a public catalogue entry to begin with.","text23ddde8c8e40":"One change request, waiting in the morning. Merge it and the company knows something new. Close it and nothing happened.","text23e39291d613":"Saving…","text23ffb018d2a2":"Changed MFA requirement","text240580c01610":"DAU / WAU / MAU","text2419d7067630":"Send the security review pack","text24234d557d8d":"Approved — the agent will continue","text242443486b8c":"/kortix logout","text24309f7c84ea":"8px 10px","text2438ee64fbf9":"Write today's status report and save it to /workspace/reports/","text244210e48437":"project","text24433c70eba5":"Activate","text244b84350614":"planner","text2461783e77d5":"Self-hosting is free and always will be. Kortix Cloud is the same product with the box, the upgrades and the sandbox tier taken off your hands.","text2463759d5e71":"Read windows, UI trees, and screenshots","text2467c93661b7":"Session overrides configured","text246d55bd2682":"Start this project's sessions with it","text246ef8c1130d":"Claude Code","text246f2a6245a5":"Kortix for product teams","text247610f4dedd":"live","text2477d724436e":"On the \"Google Identity Provider details\" step, click \"Download metadata\", paste the XML file’s contents below, then click \"Continue\" IN GOOGLE to open the \"Service provider details\" screen (the next step).","text24859dc0201b":"Every month","text248f3bad646d":"The connector and the exact action called.","text24984f203fd7":"is set by a project manager. You do not have permission to change it.","text24a754cf2e81":"Attached group to project","text24b6bef25e6e":"Don","text24ba36a8ec86":"Edit this agent's source in a chat?","text24c56b85c01b":"Same rules","text24c5c392057f":"Configure SAML step with the Single sign-on URL and Audience URI fields","text24cfd660e786":"Inline — with image","text24d3236c3ac4":"Never used","text24d906bf39fc":"Applies to keys people create here. Keys Kortix creates for a running session end with that session.","text24dab51514a1":"{value0} added to {value1}","text24db9f4eb779":"Subscription synced successfully","text24e800f1cdb3":"Team · $40/seat/mo","text24f15c9196e8":"· group","text24f32b0f8b75":"Granted account trial","text24f46f717cfa":"No authorization needed","text24f5c57e884c":"Type checks, lint, docs validation and dedup run before anything merges, so a fast-moving, agent-written codebase stays coherent.","text25054dad693a":"Searched sessions","text250a875ddaa6":"The layer we are building next: your own models, trained on the work your agents already did, inside the same platform.","text250ab151e9cc":"Your IdP appends","text2515f730f2e2":"Reuses our existing DB and backups. Simplest to operate.","text2518d1e2e3d1":"Jump to Message","text2522f9d16f3b":"Command center","text25330787f710":"+3","text2534086de9fe":"Show panel","text2534e74d5120":"What should the agent change?","text253923d0f0c5":"Connections → Applications → +","text253b18a02165":"Starting up","text25498193b898":"Project name","text2549e14d07c9":"Used as the first choice for the AgentMail address, for example support@agentmail.","text254f1565c507":"the raw value","text2577ba4125a2":"Build the quarterly business review before the call.","text2577c0f557b2":"projects","text258060e32b20":"Please authenticate with Google first","text258bc3256175":"$ git log --oneline .kortix/opencode/agents/","text258cb37408ed":"Every session runs on its own isolated machine. Thousands run in parallel on one config.","text25950c20dae9":"Failed to deny request","text259b154df9fb":"The LLM gateway your sessions route model calls through","text25a5ba44713d":"Invite cancelled","text25a63e52a98f":"outcome","text25c9ab3f2bf6":"Can't show these links","text25cb42517890":"Failed to delete webhook","text25cc3dcfa2a5":"Grant this member a project from the project's Access list.","text25d01f9cf522":"Same freedom, built for more than one person. Free to start, free to self-host.","text25d302d271e6":"For up to one hour, everything you do lands on this account. Every change you make is written to the customer's own audit log with your identity attached.","text25df917eafc7":"If your site is a repo, the copy is code — and a copy change is a change request with a preview, reviewed exactly like a code change, by whoever owns the words.","text25e8e1211a52":"Agents open change requests. Merge is default-deny for an agent and granted explicitly in kortix.yaml — so an agent cannot widen its own reach without a change someone else approves.","text25eea22ea61b":"Failed to load account","text25f372c4eb6c":"Revoke invitation?","text25f7b3721119":"Collapse all","text260b83818832":"Migration applied","text260f0001800b":"Use your own Slack app","text262a098dffb5":"Acting as","text262b4ff6afdd":"Starter","text263dcea88e3a":"Read the threads on an account and draft the reply. Reading and sending are separate actions with separate answers, so \"may read the thread\" never silently means \"may send as me\".","text264521e37d41":"For each stage: what this interview is testing, questions that actually test it, and what a strong and a weak answer look like. Generated from your own scorecard in the repo, so a new interviewer runs the same loop as an experienced one.","text2649e082d9a2":"Entry","text264bee80d72a":"Conditions saved","text264c28cbf01c":"Thinking effort","text265e52a33b53":"Set userName to the email Kortix correlates on: open the \"Attribute Mapping\" section (separate from the auth screen), in the \"PingOne Directory\" column expand \"Username\" and select \"Email Address\". Then in the connection’s preferences/actions set \"User Identifier\" = userName and \"User Filter Expression\" = `userName eq \"%s\"`. Getting this wrong is the #1 PingOne failure — it defaults to the internal username, not the email.","text266240ec402c":"Billing model","text2672651736ac":"- Work reaches main only through a change request","text267d2e1cb01e":"The most important question for any company adopting AI: can you switch out the model without losing the institutional expertise you have built? A sovereignty checklist for evaluating your AI platform.","text268bc1833e83":"Thank you","text268f14bbfe11":"Diagnostics","text268f9616a5b9":"Every tool call is written down","text26965989cce5":"is off for this project","text26a69b6ee645":"'s token is shown. Save it somewhere safe — we can't show it again, and a lost token has to be replaced.","text26b154c97fd8":"A public client has no secret — it signs in with PKCE only.","text26b1a7703eac":"Hide earlier versions","text26b83994dca8":"Wait","text26bee86cde97":"Google custom SAML app Attribute mapping step with primaryEmail, firstName and lastName mapped","text26befd6b522a":"A workforce you can fork","text26c880f0d774":"Register an app","text26ce5a84b480":"Failed to revoke session","text26eb1bc45b53":"Deny by default","text26ecc76c0ce9":"Delete this token?","text26ee1166df63":"Changes apply to the next prompt.","text26f0dd993530":"Retrying automatically","text27042f4e6eca":"right","text270ba743dc3c":"Cron schedules and signed webhooks start Kortix sessions with nobody present. Each trigger names the agent it runs as, carries a prompt template, and lands its work through a change request a person approves.","text271189ae389a":"Start Time","text2717248839d2":"Dot matrix","text272b5704fa54":"Payment status","text272f6dbe5a44":"Access granted to {value0}","text2730183d6b77":"Organizations","text2732406e3be5":"No matching sessions","text27342581678a":"How each provider performs — provisioning latency, success rate, and where the time goes.","text27343e44b3f1":"Kortix fee","text2743ed9c1ab8":"over limit","text2749b54ef956":"Try another search or clear the current filter.","text274a70ce834d":"change needs","text274bb0389a65":"The accounts, their context, what they love.","text2758aea1d017":"Already uses {identifier}. Unbind it there first.","text27593c2cec19":"Budget saved","text275b372f85bc":"Audience / SP Entity ID → the Identifier (Entity ID) below.","text27691018adc6":"3,000+ connected","text276e88f0f37e":"Cron and signed webhooks spawn sessions.","text2775ed788cd7":"Server-side · Kortix","text277dd4ba341d":"3,000+ apps, any MCP or API","text27814d23aae3":"    skills: all","text278179d861e0":"Failed to set managed models","text27935fdead34":"Credits debited","text279b44d2ab4b":"Agents","text27acc1f81d66":"Pass an XLSX URL with the","text27aefb73a85b":"Path to main","text27ba4ec98716":"Give your agent an inbox it can read and reply from.","text27bcbc3624db":"Booting machine","text27bd1ae9d9e2":"lg:cursor-grab lg:touch-none","text27c2ccd962c2":"Unknown error","text27d628c8b427":"{label} has finished.","text27edd873708d":"    secret_env: WEBHOOK_SECRET","text27ef201b76a2":"/design-system","text27f8489b0380":"Return to the application (Applications → your app) and make sure the \"Sign On\" tab is selected.","text27fd394a8fbd":"is connected to this project. You can close this window and return to your session — the agent has been notified.","text2804592863da":"Application Callback URL (ACS)","text281af7dd2023":"Invite sent to @ — they accept it on GitHub to get access","text2829444ea003":"github.com/settings/installations/<id>","text2831b9b51f86":"Reflects the top-spending sessions in this window — an owner whose sessions never rank there may not be listed.","text28346646cd67":"/enterprise","text2838bfc7ddc2":"Where work arrives","text28391d3bc64e":"of","text283cf1838c17":"In the left navigation menu, select the \"Single sign-on\" tab. Click on the \"SAML\" tile.","text28419d670fef":"with redacted summaries.","text284268708d2d":"Every action — including","text28428b26bd73":"The member/group counts below tick up, and OneLogin’s Provisioning log shows each user/group actioned (not left \"pending\").","text284687df8e12":"Groups pushed via SCIM are created in Kortix under their Entra display names.","text284d1e8c4918":"passed","text28647129955c":"More channels","text2867d17a84dd":"PingOne → Integrations → Provisioning → New Connection","text28810171a932":"Feedback synthesised into specs, with the evidence attached","text28904e587358":"It commits and opens a change request","text2893925796c8":"Loading ledger…","text289aec13d5aa":"Subscribe — ${value0}/seat","text289aff12b042":"Question","text289b30b31ca1":"A 6-field cron expression — second, minute, hour, day, month, weekday — in any IANA timezone. Or a single run_at timestamp, for something that should happen once and then stay quiet.","text28a800e4720b":"select_account","text28b00af7cb71":"Proposed change","text28c39aaf0edc":"Failed to grant access","text28cd762621a4":"This credential signs requests locally","text28d1010d7528":"Your app → Users and groups","text28d1c949e5e6":"AgentMail inbox assigned to this connection.","text28e5ebabd9d8":"url","text28f8a1bd60bb":"html — preview / source toggle","text28f8cdd421fb":"Create SAML Integration → Configure SAML","text28ff734e9722":"Whole project","text2905b4d5ffbc":"Agents are principals too","text29151178dbf3":"Custom Application","text292117ca3ac2":"user message · 2 attachments → same square tile, no cap","text29241ab2d244":"Pick a date","text2928e9dd01ed":"Hand a Kortix agent a real task and get a finished result back. Free to start, free to self-host.","text292ad1466ce9":"Do NOT enable the Advanced settings \"SAML attribute transform (JSONata)\" to build groups — a JSONata transform OVERRIDES all your SAML attribute statements, wiping out the email/id/firstName/lastName mappings from the previous step. Use plain attribute statements only.","text292fd30cb1b5":"Failed to allow permissions","text29300070ca98":"19 days","text29306928fdc1":"6-field cron, any IANA timezone","text293b5ec8aac7":"Your favicon and product name in the browser tab, with dark-mode variants","text2945df36c2f9":"Inspected a connector action","text29490fc13cfc":"Could not reach the agent","text29521c5c7df3":"may not merge — project.cr.merge is default-deny","text2952938846ef":"Disconnect the stored connector credential before using a project secret.","text2953b4f72d16":"Provider failover","text295a899a5fcd":"Every message it writes lands as a draft in the CRM or the inbox. If you want a hard stop before anything goes out, set the send action to Ask and the run pauses at the call and waits for you.","text2973e89393cb":"Still in Attribute Mapping, add a \"groups\" attribute mapped to PingOne’s \"Group Names\" — this sends the names of the user’s groups.","text2975104784a4":"Web","text2975132481a7":"Weekly","text29824c5acaf8":"Unknown member","text29887a5ff984":"Share","text299438afe0c2":"kortix hosts use local # ↔ cloud","text29a390f9237e":"Clear all","text29a3ff8f897b":"Filter, sort, and inspect every account. Grant or debit credits, review ledger, and see billing state.","text29c0204b82fd":"On by default, no flag. Connect from the dashboard or the CLI, invite the bot to a channel, and mention it. Everything else on this page describes Slack.","text29c122c2bdb7":"A launch note, the page section, the changelog entry, the social copy, the email. Written from the same source of truth in one session, so they agree with each other — which is usually the actual failure, not the quality of any single one.","text29cc3339fce9":"Try again in a moment.","text29d0051ddd19":"Updated:","text29db1b1f6aa4":"Run the competitive watch and the claim audit on a cron and let them land as change requests. Automating the reading is a clear win; automating the publishing is how a wrong claim goes out at 03:00 with nobody awake.","text29df79f4ec6d":"Personal / fine-grained access token","text29ebb2ef2da6":"All activity","text29f30b14dfba":"Override rule","text29f396e2d238":"Added {value0}","text29f7878c46b4":"Failed to load spreadsheet","text2a0be92cc91f":"This session's workspace has ended, so its files can't be opened anymore.","text2a1237f61d21":"Variance","text2a19bdc09aa3":"Shadows","text2a2235310daa":"Re-prompt the most recent healthy session this trigger created. A pinned trigger falls back here before falling further.","text2a2728fd9252":"One Compose project, no hidden pieces.","text2a27b0850a85":"A real Linux machine with a shell","text2a2f8f9e1973":"The marketing stack is broad and the Easy connect catalogue is where most of it is: click the app, click through its OAuth screen, done. Sending is an action you can set to Ask so nothing reaches a list without a person.","text2a33d984de88":"Network error","text2a36428839a3":"Violet","text2a3cae7cc0a7":"View all {value0} connectors","text2a45a1c6797d":"No checkout URL was returned. Try again or contact support.","text2a462ba2ae5e":"Sessions are owned by whoever — or whatever — started them","text2a517f64c473":"Share Link Expired","text2a528ae2d4ae":"Removes the Email connection from this project.","text2a53504249e4":"  - slug: support-inbox","text2a5502b48b14":"Unable to display DOCX","text2a568b20ca7b":"Your own VPC or on-prem","text2a6b24ad2872":"Credits","text2a728809f134":"You can reuse the same Custom Application you made for SAML SSO — SCIM lives on its \"Identity Management\" tab.","text2a78025de6aa":"Select","text2a8f24e937b7":"{count, plural, one {# tool customized} other {# tools customized}}","text2a91147eb974":"Invite expires","text2a94ea8db704":"Where to get a {value0} key","text2a9575e3e816":"ask","text2a980276b7fa":"HMAC-SHA256 over the raw request body, compared in constant time. The GitHub-compatible X-Hub-Signature-256 header works too, so a repo webhook needs no adapter.","text2a9a3df163eb":"emailaddress","text2a9d55fd8c0f":"Failed to read source","text2aa2ac6c6c00":"what changed in our repo since Monday?","text2aa5f5cc5cac":"Pushed by your identity provider via Directory Sync — name and membership are managed there.","text2aa9d672c950":"Every LLM call routed through the gateway shows up here — model, status, latency, tokens, and cost.","text2aae333f0d13":"The secret named by secret_env has no value set. Fails loudly rather than firing unprotected.","text2ab103459572":"One disposable Linux machine per session, on its own branch. The only thing genuinely shared is the world outside — which is why the connectors, not the machine, are where reach is decided.","text2ab4735ae008":"Account · Git","text2ab5daf744f1":"Ran free-tier billing rotation","text2abfd058360d":"The grant block covers the whole surface, not just tools: which sandbox image the agent boots, which connectors and channels it may call, which secrets it may receive, which skills it may invoke, and what it may do to Kortix itself. An agent with no grants gets none of it. You grant explicitly, or the answer is no — and on top of that sits a ceiling nothing in the config can lift.","text2ad30464c3ed":"It may have been renamed or removed from the project's configuration.","text2ad600bc4377":"Security walkthrough","text2ad8a7049d7c":"it","text2aebea9f007a":"When group sync maps OneLogin Roles, those same Roles are what gate app access — so assigning via a Role does double duty (access + the \"groups\" value).","text2af375e14fa1":"- Draft the deck from the QBR template","text2afb17673ff9":"Running command","text2b00ca23b112":"<Button variant=\"secondary\" size=\"sm\" onClick={handleClick} > Save </Button>","text2b040fd0129f":"sandbox boundary","text2b065c7c9ce4":"Today","text2b112b05602c":"GitHub and your model key are not asked here on purpose. Both are set in the dashboard after the stack is up — GitHub at Settings → Git, the model key in the model picker.","text2b152ca731e4":"Where the data sits is your choice","text2b2b0a697042":"Approved — the agent will continue","text2b2dc8249b94":"Click, type, hotkey, scroll, and drag","text2b30a2bf9f34":"# who changed the invoice clerk, and when?","text2b3168198f05":"Solutions · {role}","text2b371a633e09":"Viewed SCIM resource type","text2b3a113da6b7":"A trigger is a clock or a signature. Everything else about it — which agent it runs as, what it says, which session it lands in — is the same config either way.","text2b41749fceaa":"Failed to cancel subscription","text2b47dcc33a2a":"Add Email inbox","text2b4d98953dc8":"height and 9-column geometry so switching tabs never resizes the popover. The Icon tab's grid previews in the selected colour; the colour row lives in the footer, where the Emoji tab puts its skin-tone selector.","text2b505597daa7":"Any","text2b52d8b009f9":"Failed to update permissions","text2b54343f65e9":"Confetti","text2b5c3d26721a":"Contact","text2b7df1bf48b2":"The questions people ask before the first session.","text2b7f6a84de91":"Display name","text2b977e24582e":"Attribute Mapping","text2b99e2a42352":"Changed project member role","text2bb30a7e4603":"Sign-in method","text2bb92b550fe0":"Only your private sessions can use this connection.","text2bc95eda6944":"Set super-admin status","text2bcb43cbc8f6":"view","text2bd873d6c734":"Breadcrumb","text2bdb956493fd":"Read the webhook handler","text2bde665563d3":"Give it the ticket nobody picked up.","text2be1f843485e":"{value0} {value1} will be locked out until they enrol MFA:","text2bf4ee86ea70":"Test single sign-on","text2bf623481fd8":"Set the default you want","text2bf70270bfde":"The open-source AI command center for your company. Every agent, skill, and memory is a file in one versioned repo you own — a workforce of AI agents that does real work, shared across your whole team from Slack, Teams, the web, or the CLI. Self-hostable, any model, your keys.","text2bfc3471571e":"Approvals","text2c014f8f8986":"Cursor","text2c063e7ab5f6":"The recipe for the machine a session runs on, and the record of every time Kortix prepared one.","text2c07997249ab":"Failed to save","text2c0f44757d70":"One rename, one API move, one lint rule turned on — the kind of change that is trivial per file and unbearable at scale. It works file by file on its own branch and lands one reviewable diff.","text2c192433a710":"Items you’ve acted on that the agent is still working through will appear here.","text2c1a881dfca8":"Allow every permission request for the rest of this session","text2c1c62f284fb":"Product name saved","text2c1cff23cb89":"Couldn't load","text2c1ef1ad75b5":"Written to an audit record","text2c496ac4ee78":"Searched connector actions","text2c4de2851235":"Full audit trail","text2c6041fda32c":"Removed from queue","text2c6e8e7b3b77":"Show {value0} key","text2c6ef0f0d0e4":"risk","text2c7765e1edc9":"Active accounts","text2c8131c613e7":"Auth0 Advanced Settings Endpoints tab with the SAML Metadata URL","text2c84dd8d59da":"Dropdown","text2c884ecef610":"Self-healing connections","text2c89f2359d69":"Advanced options → check \"Customize the name of the group claim\" → Name: memberOf.","text2c8a38c525f7":"Set when the connector was added. To change it, remove the connector and add it again — saved connections and tool rules are lost.","text2c8c07e01e73":"The company is a directory.","text2c92015509d0":"SVG preview","text2c9254d4dcde":"A self-hosted instance runs its own gateway for its own model routing. It never sees or routes to Kortix credentials, and there is no platform fee on a self-hosted account.","text2c93dc393e24":"Drafts a reply from your docs, flags refunds for approval.","text2c9d98ec2e8e":"Three ways to start the same session. Point the scheduled one at logistics with a fixed date, never at anything evaluative.","text2c9f21686e34":"This step partly failed","text2ca8bda4fb1d":"The competitive watch","text2cc79c9e300d":"Entitlements","text2cce28c5cf83":"The repo is cloned, the tools are installed and the dependencies are resolved before the agent starts. There is no setup step, and no local machine is involved at any point.","text2cda01a9e9be":"agents subagents ai","text2ce0023296d9":"Reconstruct every session event in order and review governed actions.","text2cedbc7a36d8":"Add a key on the Providers tab. The models it unlocks show up here.","text2cf2da056542":"Trusting them with it is the work.","text2cf3f78e80d0":"decks/<slug>.tsx","text2cf7a6e21f7e":"Copy the Bot User OAuth Token (xoxb-...) and Signing Secret.","text2cff97d794a4":"GB RAM ·","text2cff9baabf56":"Import","text2d1bcf9e946c":"Ran gateway playground request","text2d2600dad4ce":"Create a workspace to get started.","text2d2827ffc214":"Live fleet","text2d2beb2f64db":"- Per-account notes pulled from calls","text2d32975062a5":"pleaseEnterSixDigitCode","text2d4be8ae9ba7":"The reporting pack","text2d57ecee014e":"Share link copied to clipboard!","text2d782022e664":"Mapping added","text2d83971aa73e":"Synced from IdP","text2d88a3a2842e":"Su","text2d90edbf800f":"Channel routing","text2d9a37f092d5":"The shipped default is permissive — an action runs unless you have said otherwise. In a finance project, setting Ask on every write to a system of record and Block on every delete is the first configuration change to make, not something already done for you.","text2d9da88db71f":"JumpCloud pushes users and groups to Kortix from a \"Custom Application\" using its Identity Management (SCIM) tab. Provisioning needs the JumpCloud SSO entitlement.","text2d9e28289fac":"Requested","text2db533557011":"Hostname","text2dbbf46b037e":"Open as account","text2dc82c9cc859":"I’ve chosen the login methods","text2dcccf29ebf4":"Add credential","text2dcec5870284":"Start from someone else’s work. Own it immediately.","text2dd1d32020bf":"Failed to save access","text2dd5b5ed10be":"on another provider. The session keeps its id; the sandbox is rebuilt.","text2dda16fbd512":"Filter requests by outcome","text2dec6c273b47":"This channel connection has no AgentMail inbox yet.","text2decf9534011":"Updated SSO provider","text2def59b7cd0c":"The debrief pack","text2def7330f118":"Follow-up on the pricing question","text2df01a03ff43":"No matches","text2df16c3ffc5e":"Kortix in the browser: connect apps, manage agents and skills, and an agent returning a finished pitch deck","text2e04f31256da":"It does not decide about people","text2e15b5a6e45a":"Upload a workbook to preview","text2e22eec2a812":"Manual configuration","text2e32faf6b9f8":"    prompt: |","text2e3571a5c710":"reviewed by a person, then merged","text2e4186244bbd":"Token name","text2e46006a5eeb":"End time","text2e531f2487d9":"Connect your first tool and watch it come back with something you can use. Free to start, free to self-host.","text2e53bdcd0740":"Tool","text2e544a292f69":"Shift","text2e5532bea639":"Product name cleared","text2e5ec4fb360d":"Anyone with this address can start a run. Add a signing key to lock it down.","text2e6d79de50dc":"Try a different search.","text2e7ba6cc8aa3":"Internal Kortix presentations.","text2e7e0f4e6458":"{value0} spend {value1} over the selected range","text2e8802522cda":"Export as CSV or JSONL for your SIEM","text2e958b6de022":"This public client does not authenticate at the token endpoint.","text2e9fbb93ff5b":"04 · The record","text2ea11daa7745":"memory/customer-acme.md","text2ea1842b445b":"Internal","text2ea23e8c03fa":"Group access adds to what a person already has — it never takes access away. Remove someone's direct grant and they keep whatever their groups still give them.","text2ea6d76002f7":"Build a business that compounds","text2ea9450e2a01":"- What we learn lands in /memory","text2eb40f299fee":"The repo holds names and grants. The values are encrypted in the platform and injected when a machine boots.","text2ec1c779f38c":"Agents, skills, triggers, connectors and policies are plain files in one repo. Diff them, review them in a change request, roll them back.","text2ed79c632f79":"Read issues, comments and the state of a branch, and write back where you have allowed it. Kortix opens the change request itself; the connector is for everything around it.","text2ee7054bf895":"Worker ·","text2eefa5041762":"Rule {value0} condition {value1} field","text2f13c3b24e4f":"general organization org company name sign in rules teams manage security mfa danger zone rename delete","text2f144bf62ccd":"And a loop breaker","text2f1473a87dbc":"Black & white with soft rose accent","text2f1978c6166e":"Flagged","text2f1b08f255c7":"# Company memory","text2f1d28728a8b":"Webhook saved, but the test delivery failed{value0}. Check the URL — events won't arrive until it succeeds.","text2f2f540650bf":"Couldn't load the source","text2f2fc7f2e9ce":"ask","text2f300e91c591":"Applications → Applications → \"Add App\" → search \"SCIM\" → pick \"SCIM Provisioner with SAML (SCIM v2 Core)\" → name it \"Kortix\" → Save. Then open the app’s \"Configuration\" tab.","text2f324899999b":"A skill is","text2f3263f5c933":"e.g. GMAPS-primary","text2f485b9971df":"You're all caught up","text2f5525e787a5":"Pick account members to add to this group.","text2f5574bc5e68":"Field name","text2f5e647e25a4":"A cron trigger opens the quarterly access review and the monthly licence reconciliation. Triggers name the agent they run as, so the unattended session has exactly the reach the attended one has — no more.","text2f64ffb3d90b":"Every agent gets its own computer — its own isolated Linux machine, pre-set-up with your repo, tools and dependencies. It can install, run and break anything. Nothing to configure, no local machine required.","text2f689fee14ca":"A session gets exactly one machine, enforced in the database rather than by convention. Sessions never share a filesystem with each other, and the machine has a bounded lifetime rather than living forever.","text2f6a48c637a9":"Webhook removed","text2f6c00ce1d58":"Groups pushed from OneLogin Rules are created in Kortix under their OneLogin names.","text2f6e9daec8e9":"States","text2f72fafe0ce1":"instead of the Kortix command line.","text2f77668a9dfb":"Message","text2f77dafd3fcc":"connect a provider","text2f80158a9d89":"research/","text2f883b75cd2d":"Search a URL or port","text2f8af80f944f":"user message · no plan → bubble hugs its text, right-aligned","text2f938f9b118b":"Waiting for you to finish in the browser…","text2f94bfd5c536":"waitingHeading","text2fa3f7230583":"OneLogin Configuration tab with Audience, Recipient and ACS URL fields","text2fa77dd466b4":"The session opens a change request. You read exactly which files are about to join your company, and merge when you are happy. Nothing lands unreviewed.","text2faca96de47e":"this account","text2fb99e8716bb":"Requested a sign-in link","text2fc385cd2008":"Connected accounts","text2fcbf32eccad":"Could not delete {value0}","text2fcfd290b610":"Existing inbox email","text2fd3b5709d0d":"Profile picture removed","text2fdab8aecd1d":"Failed to save the product name","text2fe1b45a5654":"RFC 8414 or OpenID metadata can supply the endpoint URLs below.","text2fe3e60fadc0":"Enterprise active","text2fe4cbeeab06":"Set up the {value0} notification that users will see.","text2fe50a923e07":"Claude Cowork","text2fea30b8d515":"Agents act through a single scoped Kortix token","text2ff3e0bff1fd":"Azure AD tenant ID","text2ff50f0be011":"What Kortix actually is: the open-source AI Management System, layer by layer","text30015841ce75":"Read OAuth server metadata","text30094e0bec00":"Do","text3015112f4f45":"A kit any interviewer can run.","text301cd463a175":"Name the saved secret","text301e9be79f51":"Integrate any other application you don't find in the gallery (Non-gallery)","text301fe0058472":"The link is invalid or expired.","text3022f99399d7":"Review the permissions, then click","text3025ab46e129":"Model usage","text3026a0ca485e":"deny","text3028b5ac8e62":"Each event is POSTed to the URL with an X-Kortix-Signature header (HMAC-SHA256 of the body using the secret).","text3033b37ea234":"Last 24h","text303a578ba016":"marketing/seo-weekly.xlsx","text3045abafb173":"Event ID","text305cc8ead8d9":"Three ways to start the same session. Scheduled runs need the most care here, because the output is public.","text30648767dd84":"App deleted","text3064d79a295c":"Rename","text30674c348b84":"Ask an owner of this project to add a key — you have read-only access.","text306ecd5543a7":"The runtime — models, tools, permissions.","text306ef19c8ac3":"Open in a new tab","text307197603f08":"SOC 2","text3076810095c3":"Edit configuration","text308167c79b3e":"Panel detail surface (W11)","text3082aa227f95":"Allow, Ask, or Block on every action, with a human in the loop where it matters.","text30997fa6a7bd":"+5 −1","text309ac069d9b8":"Bulk imported IAM policies","text30a034c0a1ed":"The eight teams this platform serves, and the object each one gets back.","text30a64216eaea":"View all","text30ad013a6cb2":"theme light mode bright day","text30afafe4c16e":"Solve with agent","text30b077fb0e07":"These changes are already in","text30b60a3c8efe":"Technical enough to build the automations yourself on day one.","text30b7f8482c4f":"Next.js","text30d17a039700":"OneLogin groups parameter with the multi-value flag enabled","text30e23f940700":"Yours, down to the metal","text30f16d269283":"A cron, or a signed webhook off your own alerts","text30f60f116dba":"…and then you go and do it.","text310478914595":"memberOf","text3109205d1fc7":") stops running and is removed.","text310ca503ef36":"Month","text311659f8380c":"Test in a private/incognito window so your own session doesn’t auto-complete it.","text3125384115cc":"the sandbox","text3139ff90b6e9":"Exported audit log","text31483b94fbda":"Automated","text31536449cc60":"company.md","text3170543ce47c":"5 minutes","text319d909352ff":"Whether the agent picks up where it left off, or starts clean.","text31a96910354d":"Add Kortix to Microsoft Teams","text31aa7515d0ce":"# connect a tool’s API as agent tools","text31adf1a22230":"Your own API key","text31b7c5d19327":"Project roles","text31c204ebfde4":"Submitted session question","text31c48dd4f15a":"Put a workforce of AI agents to work on your own systems — connected, guarded, and reviewed.","text31cba4f6e839":"/guides/bank-feed","text31d11513a187":"Dismiss question","text31d18c0defdc":"ambient","text31d70af6b303":"Rules that read the arguments, not just the tool name","text31e392d1c037":"Apply","text31e3ed0f6798":"An agent scaffolds it and opens a change request.","text31e4f2bb4dba":"\"{value0}\" can no longer sign anyone in, and every token it holds stops working. This can't be undone.","text31e88533abff":"Pick the workspace you want the agent in.","text31fbef162594":"Continue","text32017b8ca825":"Your agents, their skills, your company memory and every connector in one platform. Any model, your keys, self-hosted or managed cloud.","text320274deee2c":"Advanced — git ref, sparse path","text3206f60e481f":"Enterprise audit access includes the full history of allowed and denied actions.","text320e00e73a7d":"panel","text3213290df23e":"Provision, share, and archive.","text3228c7f267a6":"- slug: stripe provider: http","text3236aeec43e5":"Reasoning effort","text32398dbb68e2":"How this agent thinks.","text3242681b6564":"Your project, tools, and setup are ready before the agent begins.","text3245bd9249a5":"Undo is git revert","text324b134f57c7":"Preview","text32581286f916":"Edit SAML provider","text32599ff9efb7":"Search: \"{value0}\"","text325e84939c64":"Fallback","text328130e3456a":"Every gated tool call","text32822e8808cc":"Terminal input","text328417796c84":"Where the words live, and where they have to go.","text328f99ac05b6":"Browser permission granted","text3293f4f01c0a":"Copy Metadata URL","text329d41e4b529":"A key nobody has used for this long stops working.","text32a614577f09":"Anyone with the URL","text32ae9b80f832":"No skills yet","text32b31975c6ca":"Things","text32b8520a5f50":"NameID: the user’s email (EmailAddress format). Also emit an email attribute.","text32c6817c8380":"Review the exact parameters. Your decision applies to this call only.","text32d1a43a026b":"The application’s Settings → Advanced Settings → Endpoints → SAML Metadata URL (hosted).","text32d2efb69c25":"Paste the Kortix Entity ID into \"SP Entity ID\" ONLY. Leave \"IdP Entity ID\" as the value JumpCloud pre-populates — that is JumpCloud’s own identifier and it flows into the exported metadata for you. Then check \"Sign Assertion\".","text32d3603f57c7":"Could not open the account","text32d61a2331fe":"Product deck","text32d7e8208247":"Control","text32f14aa9ea33":"Preparing {provider}… this can take a few minutes","text32f4468b0b6f":"Search agents...","text32f69946e3c3":"No projects match your filters","text330010f40240":"Not ready","text331551b0de41":"Pending","text3321947da6d7":"git checkout -b my-change","text33271bd27f08":"Revoke this token?","text3329a9bb48b9":"Applying…","text332f54c83d00":"Downloads are available on paid plans.","text3330cf80040f":"Read, run sessions and fire triggers. The project floor role.","text33376244e548":"A terminal showing the Kortix CLI with a session running on a cloud computer","text33439eb47c9a":"How the model samples, and how many tool calls one run may make.","text33455b560348":"A connected channel’s token is a connector-scoped secret. It does not appear on the project’s Secrets page, and Kortix never injects it into a cloud computer. It is resolved server-side at the moment the agent sends a message.","text334d0aadd4e8":"A cron trigger re-runs the recurring analysis against the new period and opens a change request with the regenerated output. A second one runs the quality sweep and only says something when a check fails.","text33575b279b5e":") stops running and is removed. Runs it has already done are kept.","text3357cd3d0cee":"Add to Slack","text335e692111a5":"A chain that replaces the fallback above, but only when that exact model is requested.","text336074805fc8":"time","text336a3211e842":"Couldn't load source","text3385bcdb1cc1":"Cloudflare SaaS app SAML attributes section with id, firstName, lastName added","text3387c31a18b3":"Apps deploy static sites, JavaScript bundles, Dockerfiles, and OCI images to stable URLs. Each App wakes on its next request and suspends after its idle timeout.","text3389e4b1fac1":"Control input","text33a41fd14a13":"CLI connected","text33a8218145f3":"From \"we have a problem\" to \"nobody has to think about this again\". If someone still has to track it, you did not own it.","text33a97dd943f4":"Use your ChatGPT Plus or Pro subscription for premium models on the free plan.","text33b93476cf59":"Time","text33cd5e40bb5f":"invitations","text33cf107ab219":"Toggle enterprise contract entitlements","text33d39c4cbb53":"Okta production","text33d40875a99d":"Triage & severity","text33da220b1a34":"Actions for {value0}","text33dd5a127fb6":"{value0} action{value1} awaiting your approval","text33e17e895ebc":"Auto-create members","text33e39fbadab5":"Every tool your company runs on. None of the keys.","text33e745179bcb":"Agent to grant this secret to","text33e9b6a7ed81":"Provisioning → Workflow","text33ed06dda991":"Each agent lists the connectors it may use. The support agent reaches Zendesk and Gmail; the reporting agent reaches neither, and cannot discover that they exist.","text33fd52cfd6ec":"In the addon’s Settings modal, paste Kortix’s ACS URL into \"Application Callback URL\". The Entity ID is NOT a form field — it goes inside the JSON.","text3405de3a789d":"    agent: support","text34248f2d53e1":"Entra provisioning attribute mappings list with the userName to user.userprincipalname row highlighted","text34285d12cfa2":"Run the Agent Tunnel command on a Mac, Windows PC, or Linux machine. Approve the device code in your browser to add it to this profile.","text3439c37b92aa":"Onboarding that runs itself","text343e877eb64c":"The forecast that lives in a spreadsheet, the pricing sheet, the account plan. It reads them as source and writes the worklist back where the team already looks.","text34455bf1d857":"Provider model","text34487838e765":"−2","text344d5ddf68a3":"Renewal and expansion watch","text344f0c44b309":"Ask now, watch the ones that matter, sleep through the rest.","text3450d7108b3f":"Enable API integration","text34544f40422b":"SaaS","text34578302fe84":"Two agents edited the same file? git has handled that for twenty years. It is a merge. Nothing reaches main without a person approving it.","text34598efe7b90":"Force off","text345e6cf10469":"Memory between runs","text346fff6c28d4":"Server created, running cloud-init...","text347813131fcb":"MEMORY.md: never quote annual before the security review","text34842398fd2d":"Provision volume","text3495e757855a":"White","text349a89d57f58":"Open your SAML application","text34a6992c659a":"Trial revoked","text34b86033459d":"Toast","text34bd3f65ba58":"Integrations → Provisioning → \"+ New Connection\" → on the \"Identity Store\" line click \"Select\" → choose the \"SCIM Outbound\" tile → \"Select\". Name it \"Kortix\", then \"Configure Authentication\".","text34c50a6ee575":"Failed to start build","text34ca0e766088":"Group","text34d281bb0d5f":"Crank out content the way we crank out commits.","text34d316295094":"my-llm/foo-7b","text3501013f78b7":"Reading the Slack thread","text3502b55692e4":"Your app → General → App Settings","text3506a35e7669":"The architecture is a commodity. The learning loop is the differentiator.","text351931213de8":"Badge color","text351c94634971":"The agent gets a ready machine and works — fully isolated. Run fifty and they never touch each other.","text352007bbaa9e":", and an empty email breaks sign-in. Entra also emits group","text35277213a2a5":"Answer the ticket now. Run the review every quarter.","text352a25678fb9":"Provider default","text35542ace70ce":"XSmall","text355c7b7999a2":"A runtime secret reaches a session only through the intersection of the agent’s declared grant and the role of the person who started it. Once delivered it is a real environment value, because that is how a tool uses it — we would rather say so than call it invisible.","text355ee5138eb8":"Application Callback URL","text355f79f29d7d":"Comments","text35640c97e346":"errorHeading","text3566cf23ecb6":"reads","text3567a402bd50":"Build customers their first agents, and own the services side end to end.","text3573c6a20ab0":"Stripe lookup failed:","text358cc201f87d":"Operations","text358f5017dff5":"this group","text359215455ae1":"{value0} is now {value1}.","text3598f72d8323":"Discover and read Kortix public API and documentation resources.","text35a0f571f5cd":"Close sub-session","text35a932c5a252":"Paste the setup file, then confirm.","text35b38cfe5b26":"will stop loading for everyone holding the link. This can't be undone — you can create a new link afterwards.","text35be9c541d68":"Create group","text35cf7d0a206e":"How the isolation works","text35e09f770b81":"SOC 2 Type II","text35e1c63be11a":"resource type","text35e1e7990d8b":"Settings JSON","text35e233062c2c":"Couldn't start {value0}","text35e54cea7f41":"Every connector in this project, including ones added later.","text35fc0e79987e":"log out sign out logout signout disconnect","text36001b0efbb0":"I’ve assigned users and pushed groups","text3601d6f27b94":"Set it to Ask, or to Block","text3608d632c70d":"No capabilities are available for this scope.","text360f84035942":"left","text361b73d4cf43":"A commit you can diff and revert","text363579e1d66b":"No usable surface published","text365642325b8f":"Connect SAML SSO first so provisioned users can sign in.","text3658d6e18a94":"separated splits the block into individually-shaped tiles with a gap. Each tile carries its own frame and clip instead of leaning on a shared one.","text365987d015f7":"Next action","text3661bf7ae497":"Field notes on building, running, and governing AI agents that do real work — from the team building the Kortix command center.","text366487a11e4c":"Live sessions","text3664895579f0":"Export","text3668377bfd48":"Bare mark, no tile, object-contain.","text36780a2b23ce":"Four answers","text3684c196e824":"- Draft the P&L summary","text369629299bb2":"Kortix vs Claude Cowork: a desktop assistant, or a company-wide agent platform?","text36a27da6cdf2":"Presenter notes (N)","text36b14500f828":"No saved versions yet","text36b89662c2f6":"Try a different search term.","text36e35c306f96":"Takes about three minutes. You'll create an app in Slack, install it, then paste two values back here.","text36e7df856716":"Managed Slack install is not configured","text36ec3a61e2e2":"  invoice-clerk:","text36ecb4f86691":"Input","text36f075e8c184":"It picks up work from every team and runs it start to finish.","text36f80c38222d":"A runtime secret a session is granted is a real environment value inside that session, because that is how a tool uses it. We would rather say so than tell you it is invisible. The controls that matter are the two gates above, and the fact that the machine is destroyed with it.","text36fec9927cb1":"On the app’s \"User Groups\" tab, tick the JumpCloud user group(s) whose members should be provisioned, then Save. Bind at least one group — with none bound, no users are pushed.","text370145ffb7ba":"Email skipped — copy the invite link to share manually","text37023affd996":"more not shown","text37056f2381e2":"prop or upload a file.","text37074af6784c":"{value0} member{value1} lose access to {value2}.","text373570b711c7":"The filters, the date boundaries, the rows it dropped and why. An analysis whose exclusions are undocumented is not an analysis, and a comment in the query is the cheapest possible place to keep them.","text3738dea54aaa":"Failed to update scope","text373a23b43a0b":"translateX(calc((var(--tile) + var(--gap)) / 2))","text373a7598b12d":"Engineers","text373f4878fa90":"Whatever the analysis needs","text3744409146e0":"Failed to grant trial","text3759abe4b19b":"Bearer tokens","text37635d11f518":"Authenticator enrolled — this session is now MFA-verified","text376f3f363e3e":"This session is still waking up.","text376fe4769903":"PingOne Applications list","text378214869b2f":"Grants are text in the repo, so a change to who can reach what is a diff someone reviews — not a setting that quietly moved.","text378665754d2d":"The app manifest came back without a valid homepage URL. Retry, or use the token option below.","text3786f1f8d4fd":"Which providers and models this project can use.","text3792573d9e3c":"Trialing","text379e0962ac4e":"Project access","text379fd759f4b9":"description: Reconciles invoices against payments.","text37a5d04181b5":"Self-host","text37a5d6485e10":"Expand sidebar","text37a8eec1ce19":"default","text37aa35bdafc9":"MCP · OpenAPI · GraphQL · HTTP","text37abd3a24009":"You can switch once your committed term ends.","text37b90680b842":"Search models...","text37bad7de9098":"Deleted {value0}","text37c1bfd249c6":"A response that would carry this value back into the sandbox comes back with [REDACTED] in its place, so an ordinary 200 is the policy working. An empty reply or a connection error on an approved host is a real failure, not the policy doing its job.","text37d340dd4340":"Everything is code","text37d715d202ea":"No changes detected","text37d870749610":"A cron trigger opens the session on day one and works the checklist: accounts requested, reading list assembled, first-week plan drafted, buddy pinged. Fixed date, fixed list, no judgement in it.","text37e3f6c2697b":"Grid — 2-D proximity","text37fa6abce246":"Falls through to ambient rotation.","text380c0b05bcfc":"Pattern rules","text380ded41df15":"The authorization didn't complete. Close this tab and start the connect again from your terminal or the dashboard.","text380efe8cc760":"Clear a filter or select a wider time range.","text381195b0a9b3":"3,000+ apps in a click, plus MCP, OpenAPI, Postman, GraphQL and raw HTTP","text3822b0412ed7":"No fallback","text382584f2456e":"s.","text382a05b25490":"product/feedback-2026-w31.md","text382d329c7bac":"Pending approvals appear here. Historical audit access requires Enterprise.","text3835b7065fba":"I’ve assigned users to the application","text383775b8e010":"This agent's configuration can't be edited.","text3840d9d29421":"Default model","text38438f131ca0":"Deleted trigger","text38449eca346b":"Easy connect covers 3,000+ apps through their own OAuth screens, and most applicant and HR systems are reached that way. Where one is not, OpenAPI, GraphQL, raw HTTP or a remote MCP server reaches it — and if a system holds data you would rather no agent touched, the correct configuration is not to connect it.","text384c077e42b5":"is now the project default","text3851cae17d93":"Logo pair","text385ec5e81a2c":"Two-factor authentication is now required","text3867abe1d888":"Failed to load accounts","text386ad6b22698":"I’ve configured, mapped, assigned, and started provisioning","text386bdafccae6":"Boots on start","text3877d553bdf4":"it is not implemented, the implementation is ugly, it is not documented, nobody can discover it, or you cannot market it.","text3880a3aae4e6":"Add a custom provider","text38825b0f646b":"90 days","text38839cc3827c":"Loading feature flags…","text3885f30292f3":"Every company is already autonomous. Today people drive that autonomy. Agents will. Kortix is where the shift happens.","text388f7968512c":"kortix","text38989e6be9c4":"per 1M","text389e4355c524":"Please choose an image file","text389fb5217392":"No connectors in this project yet.","text38a61b747dc9":"Approval gates are off by default","text38a81e87e796":"person","text38b08d83da73":"Unavailable — saving this would remove your own access.","text38ba7f9cc345":"Non-free tiers","text38cd0d8a57cb":"Code complete and off by default. Your deployment turns it on and supplies Microsoft app credentials; a tenant admin then consents once. Same sessions, same identity rules as Slack.","text38d076d39951":"Add to a project","text38d268a10995":"Search text","text38da1505ca83":"Activity","text38e5a46cbc5a":"Score","text38f7cb30a3fb":"blocked by the agent file","text38fa4a9dc87c":"Add an application → SaaS · SAML → policies","text390287e30d47":"Script · {value0}{value1}","text390350d75825":"Web Application","text3907fa7f8072":"Appearance","text390ae89f8320":"sessions runs threads conversations open","text390d930c483d":"A session is a real machine. The agent installs what it needs, runs the query, does the work in a script you can read, and commits it. You get the answer and the code behind it.","text391065e4dc23":"Exported","text3915df4b6200":"This provider talks directly to its own endpoint, bypassing the Kortix gateway — no budgets, logs, or routing apply to it.","text391fb7ff81a1":"Cost centre","text3923e8556e27":"This change has merge conflicts","text3926ced4e6c4":"Zoom level","text392e4bb83d05":"The answer and the thing that produced the answer arrive together in the same change request. Re-running it next month is a re-run, not a reconstruction.","text39558bb4e2ab":"Re-prompt one exact session, named by id. If that session is gone or failed, fall through.","text39587cdd0983":"Assignments tab with the Assign dropdown open","text3965375163f1":"Identity providers","text3968b17ec8ee":"Add drop shadows or effects","text396b376be537":"Reproducible because the code came with it","text396b656e8564":"Every project across every account, most-active first. Activity is the newest session on the project, not the last row edit.","text397dda0799ba":"Max output tokens","text3981a2b9c1ef":"Communication","text39839e17c1cd":"What happens when no rule below matches. Override a single tool with a rule.","text398e53499fed":"Failed to load secrets","text39921a740bf2":"Switch","text3998a1eb7588":"Who can access this","text3999be1cc89e":"is who exists — it keeps your Kortix roster matched to your IdP and automatically removes access the moment someone leaves. Most enterprises want both; set up SSO first, then Directory Sync.","text39a1c11af6d3":"Choose project icon","text39b7ec1e8402":"Upgrade plan","text39bbb719fa2b":"Groups","text39bccc5f46a7":"Leave the identifier blank to use the key as its own identifier — the common case. Set it explicitly to keep a second value under the same key (e.g. a backup key).","text39c6992dbec1":"runs on","text39e4dae21daa":"@agentmail.to.","text3a06bf051e48":"Add a connector","text3a13855164e7":") or a regex (","text3a1d1fd93c2a":"Turn the workflow into code — and keep the code.","text3a259d3f4995":"The agent works","text3a27f4a452f7":"Received RevenueCat billing webhook","text3a2bec075c6c":"The brief, the positioning doc, the six months of decisions nobody wrote down anywhere else. It reads them as prior art before it writes, and puts the finished draft back where the team looks.","text3a3115947b1b":"742,800","text3a321032a5fd":"Held or released the session prompt queue","text3a37d30d808f":"Update User Attributes","text3a3edecfddc2":"Runbooks that execute, and a platform you can review","text3a42e3a0cc79":"Could not delete that token","text3a4ce41428d1":"On a cron, at period end","text3a58ba23b40a":"OpenCode REST","text3a5ae4d7de8e":"Pick people, or type an email to invite someone new — everyone selected gets the same role on this account.","text3a5ecca188c0":"Updated","text3a63271cafc1":"Catalogue unavailable","text3a6a2dbef581":"Access granted","text3a71ebb2d593":"that uses this — they inherit it automatically. Manage that in the project's Members tab.","text3a75b0a948e2":"ambient + statusText","text3a78695388b3":"Home","text3a7b0ad6b2a8":"SSO, SCIM, RBAC and audit entitlements.","text3a8f214698ec":"Set or replace my credential","text3a9b9523ad0b":"Q3 conference moved to Q4","text3a9be266e664":"Public client","text3aa694f6f4b0":"Reset branding?","text3ab40f6192f6":"Every page below is written about that team's actual week — what it can hand off, which connectors make sense for it, and what the output looks like when it comes back.","text3ab7dd8428d1":"Available balance","text3ac8bbca9a74":"Billing","text3ac9aa6e5ebe":"2,455,000","text3ac9d50c270e":"Tier: {value0}","text3ad47e222b34":"Every change to an agent, a skill or a memory file is a commit with an author, a timestamp and a diff. Nothing vanishes and nothing happens in the dark.","text3add1ecd9b97":"Membership, roles, policies, tokens, groups and IAM changes are recorded as they happen, on every plan.","text3adff87fd00f":"7px 10px","text3ae19e194379":"desktop selkies novnc full screen xfce sandbox vnc remote","text3af0e55ccc96":"OpenCode","text3af4d559fa0a":"Loading schema…","text3b05fd3cdf59":"Turn off unused keys after this many days","text3b0f1d282304":"All curated sources are enabled.","text3b13192b9d88":"Discard your changes?","text3b349c99c012":"How your company does one job, written down once.","text3b39a1eeb288":"This is the function where \"the agent handled it\" is the wrong answer. The first row is the product position. The rest are the platform controls.","text3b3c31642567":"Pinned provider","text3b4153c0d3c8":"Pick a date and time","text3b41ba9c7cb8":"No data","text3b4a27ee118e":"Input SHA-256","text3b61c181f516":"Add a separate AgentMail inbox connection for support, sales, founders, or any mailbox the agent should run.","text3b664be41417":"Account · Billing","text3b7d044b6a4c":"Your last payment didn’t go through and your wallet is empty. Update your payment method or top up to start sessions again.","text3b7ea51793e9":"Clear search","text3b86445861ee":"Allow All {value0}","text3b894362f7ae":"and returns to the first step.","text3b915cdff384":"No spend in this range","text3b9453dad42b":"•","text3b9995d82ed9":"Filter activity","text3b9c358f36f0":"file","text3ba20a470a12":"This account requires multi-factor authentication for that action. Enter a code from your authenticator app to verify this session.","text3ba60eb0a910":"— the user's email","text3bac8a95f83a":"Its secret (","text3baf55478483":"Delete task","text3bb2e4fa1c03":"Use this when the mailbox already exists or the AgentMail account has reached its inbox limit. Kortix will still create the webhook for this connection.","text3bba69274a7d":"Toggle thumbnails","text3bc44ac28dcd":"Single sign-on","text3bc554b5c290":"Nothing in this project runs on its own right now. You can still start a trigger by hand. A project manager can resume from the gear next to","text3bc82cc3b576":"supabase-auth","text3be3e0ad0943":"A workforce, not one assistant","text3bf308e3b077":"one directory per skill","text3bf934acee94":"Answered session question","text3bfc0ea39768":"This file can't be previewed here.","text3bfe60b0c2cc":"Execute commands in a local terminal","text3bfef86a58a9":"Weekdays at 09:00","text3bff939c10f4":"Th","text3c0b45ea3c2d":"+ Add New Application","text3c0cab50c4fa":"Maximum session length","text3c0cf36859ac":"Session deleted","text3c1e606d96e3":"66.7%","text3c236853c693":"Model updated","text3c24d2c0295b":"No groups in this account yet.","text3c2f1e20ab37":"App ID","text3c3a8c864db7":"   file, close it as a partial refund and note the","text3c3b223b35e3":"Whoever can reach an agent also gets the agent's declared secrets and connectors to USE, not to edit.","text3c42e874fe74":"Read the security page before the pitch.","text3c45b1a13f8b":"Use Copy link on a file or app preview to create a public link.","text3c469e9d6c58":"token","text3c481db9e3e6":"Start a session anywhere and pick up where you left off.","text3c482346f375":"back","text3c579d4ff304":"Most tools hand you one layer and rent you the rest. Kortix is all of them, open source, running wherever you put it.","text3c67025c4b3a":"Entity ID → the Identifier (Entity ID) below.","text3c6bd1e4217c":"Renamed to {value0}","text3c86ce6ea087":"A person or a group can be narrowed to named agents and skills inside a project: marketing may use this agent and that skill, and nothing else. Anything you leave unscoped stays project-wide, so narrowing is something you opt into rather than something you have to undo.","text3c93bd037d60":"Change #{value0} proposed for review","text3c9fe204b484":"{value0} ({value1}) updated","text3ca228539c82":"Sent on every call this connector makes. Stored in the manifest in plain text — put credentials in Auth, not here.","text3cafa764c6f9":"Super admin — bypasses every IAM check","text3cb27ae0fbca":"Copy image","text3cbe01436470":"Kortix default","text3cc0540830e1":"Illustration. The excluded domain is a placeholder — Kortix never names a real customer or tenant.","text3ccc48a02ff4":"in the left sidebar.","text3ce8275b54eb":"am_...","text3ced15465375":"Added Git collaborator","text3cffa689f9f4":"It compares what your documentation says is configured against what is actually configured, and reports the difference. Reporting drift is safe and useful. Silently correcting it is neither, and it will not.","text3d03a1dea561":"Toggle","text3d0d8c59beb7":"Hide the API key","text3d2301d732a7":"Failed to load","text3d33bdd92001":"Start an agent session to solve them.","text3d3b295854fe":"Revoke this link?","text3d40244f591d":"The leading open-source alternative to","text3d40a69d3160":"Never run","text3d41d76bb5fb":"Browse skills, agents, and commands from every source. Add them to a Kortix project in one click.","text3d57a1bcb5d9":"Enable the CONNECTION toggle (top of its details panel, turns blue) AND set the provisioning rule to Active — both are required; a saved-but-disabled connection provisions nothing.","text3d586b1705e4":"Most members","text3d5d4f148324":"Group claim is prefilled with groups — it must match the claim name your IdP emits, or group sync silently finds nothing.","text3d68ab225844":"Who released a held call, and when.","text3d6fe3e703f6":"All members","text3d7978401c4c":"Sessions created per day","text3d7db37d08f9":"files","text3d80638bbb32":"A workbook, and a note explaining every line in it.","text3d8d51a4f6f0":"31 tickets · 9 threads","text3d8daa98fdbe":"Account-level administration — members, billing, creating projects — is outside the set an agent can hold at all. There is no value you can write in a file that turns that on.","text3d927b930ba7":"Copy your device code","text3d99a138241e":"It’s all Git under the hood — branch, diff, review, merge","text3da33ac38461":"Who is late, by how long, and what was said last time. It drafts the next message per account in the right register — a first nudge and a fourth are not the same email — and leaves them for you to send.","text3daa39233467":"Created IAM role","text3db1f0d55a5b":"Search change requests...","text3db55a8a36d9":"Choose Kortix if…","text3dc32dfa31f9":"View role","text3dc8d68addcd":"Generate snippet","text3dc8e222f72c":"# Invoicing","text3dc9f569422d":"Experimental","text3dcb8e2cd245":"Ports 80 and 443, with a domain","text3ddcbfe612b2":"Only when","text3de53020a79f":"Run any frontier model and switch between them as they improve. Bring your own API keys, the subscription you already pay for, or your own models running on your hardware. Kortix stays model-agnostic, so every agent uses the best model for the job.","text3de5e2a29bbc":"Connect Email","text3de8d7d7b4ed":"# Where the runtime config lives. Past this: files.","text3df124e48264":"Change reopened","text3df439a7a73b":"Retrying... (attempt {value0})","text3df88e8f7ea6":"Failed to add Email inbox","text3df9726c68ba":"Endpoint","text3e01503c5c75":"Download JSONL","text3e0188e2ccab":"text/markdown","text3e032ee7d1dd":"you review","text3e076e95c0eb":"models model llm gateway providers provider budgets limits anthropic openai openrouter claude gpt gemini reasoning byok","text3e11e93e0f42":"Approve or deny the pending action to continue.","text3e18e2dab6f2":"Negotiation","text3e26769ed36a":"Owners and admins are Manager on every project.","text3e29ac703c2f":"Members must sign in with your identity provider — the password option disappears the moment this is on, and only your identity provider works after that.","text3e2a105fd278":"  \"default_agent\": \"kortix\",","text3e3a2ec6ee78":"Listed featured marketplaces","text3e3d7edf97ee":"Repository access","text3e5039d12acd":"No keys yet","text3e54b3b406ff":"A diff on a branch, with the suite already run.","text3e5546a47f26":"Two gates on every secret","text3e583390b723":"Parameters → groups","text3e6dfbf53d97":"The Monday list, written overnight","text3e6ec9535a11":"Name ID format","text3e71adfa7d54":"Nothing matches \"{value0}\".","text3e729afb3dcc":"SCIM Outbound → Configuration","text3e739b3b4329":"The agent is already answering that prompt","text3e79204a1f60":"Versioned, reviewable, portable — grep your entire company.","text3e7e7aaae723":"The output","text3e820fc2d91f":"Changed member role","text3eaca763d903":"# PR review","text3eb4246eeb6a":"The same Kortix CLI runs inside every sandbox — so running locally and in the cloud is identical","text3eb4b44dde07":"Run everything","text3eb54d5ae20d":"From the starter template. Every new project ships with it, switched off.","text3ecb3ffd4f33":"Checked effective permissions","textae47d51077b4":"Preparing link…","texte9e0b20cf289":"Connected as {value0}","textbb7a240d3660":"Rename {value0}","text64f07c825803":"Only the name changes. The account stays connected, and nobody signs in again.","text499d7f6dfdfc":"Account renamed","text11ef24ea6e15":"Could not rename the account","text0223e507afd3":"To use a different account, add it under this connector's accounts in project settings and make it the default.","text3ed7c1e32705":"Reading a tracker and rewriting it are different actions. Set the write to Ask and the run holds at the call, showing you exactly which issues it wants to merge or close, and resumes from there when you approve.","text3ee7a9bba1b1":"analyst.md","text3efd6742a383":"Credits debited","text3efdcf91931a":"Deploy to see a live preview.","text3efdd4ec1a82":"Image requests","text3efe2d7294ba":"Every Kortix release, straight from the source. New features, fixes, and improvements — versioned and dated.","text3f00927a7193":"Write","text3f095895acf1":"Agents, skills and memory are not rows in a database you cannot see. They are markdown files next to your code, cloned into every session, readable by a person and editable by an agent.","text3f0b69b39e1c":"The shipped default is permissive — an action runs unless you have said otherwise. For a People project, setting every message to a candidate or an employee to Ask is the first change to make. It is not already done for you.","text3f0d72d1b55f":"Third-party credentials stay server-side and are brokered through one scoped token, so the raw key never reaches the sandbox. Delivery is gated by role and by the agent grant.","text3f127c7e8c02":"The bug nobody has reproduced","text3f197cd0d612":"Stripe charges","text3f19fe84a2de":"Variant","text3f1b4740ad34":"A draft in a change request","text3f2c01e07be5":"Sandboxes","text3f2d97c61a7e":"Couldn’t load the catalog","text3f3af1ecebbd":"session","text3f3d54f50e6f":"Failed to update Enterprise entitlement","text3f45cbce573b":"Connector connected","text3f4bc921bd3a":"Waiting for health","text3f4bffb0238c":"Bulk export — draft spec","text3f4f94c9ca11":"Marked sensitive — reads now ask","text3f5377410e64":"Every Kortix session is a real Linux machine, so an analysis agent can install a package, run the query, and commit the notebook. The analysis lands in the repo as a change request, so it can be re-run.","text3f579c386187":"signOutOtherDevicesFailed","text3f5966e76ae1":"and secret","text3f5c55e70abc":"The machine can propose. A person decides. Work reaches main only through a change request someone approved, so the company cannot drift while you are not looking.","text3f5d70944c3f":"Sound off","text3f6029ebc897":"Sign-in URL copied — open it in a private/incognito window","text3f6365f81e08":"LLM Overage","text3f63de86866c":"iteration {current}/{total}","text3f67bcbcecd6":"- Review for bugs, design, standards","text3f69b195c276":"This model exposes no tunable generation parameters.","text3f71d2398daa":"renewal.ts","text3f72f0385768":"Inherit","text3f7374ac08ea":"Delete group","text3f82595d52dc":"A scheduled session reads what has publicly changed, says what is genuinely new, and says plainly when nothing is. A weekly digest that manufactures a finding every week is a weekly digest nobody reads by month three.","text3f86a31c64fc":"ChatGPT subscription connected to this project","text3f8f09c8e09f":"merged","text3f947dea32f7":"Upload the launch banner image","text3f94eb5c04a0":"Secrets vault","text3f9f3e586a10":"Tokens are encrypted in this project’s secrets. Invite the bot to any channel and @mention it to spawn a session.","text3f9ff5e181e9":"DefinitionList","text3fa319e52954":"Interactive — hover previews the target.","text3fa5e03012d7":"Turn details","text3fa61f9b89da":"Committed and pushed session changes","text3fab5c181bd2":"pinned","text3fab7379af90":"Remove rule","text3fb1639201e0":"The weekly cohort cut, the monthly retention curve, the quarterly segment refresh. Same code, new period, run by a trigger, landing as a change request with the chart regenerated.","text3fbe5ed156f1":"Enterprise","text3fc0e5c4c484":"capabilities","text3fc0e7a9c0c5":"I’ve turned the app on for the right users","text3fc47795f1d6":"It reads what the company has published, matches it against your own qualifying criteria, and says whether the account fits and why. When it does not fit, it says that too, which is the more useful half.","text3fcb2c5a6ec8":"Couldn’t load this file.","text3fd2e99f2f12":"−18,600","text3fe63746d1f9":"Web client","text3ff7a764fbff":"Whose account it acts as","text3ffb56c3e7fa":"signedOutOtherDevices","text400364534028":"4 themes · top one fixed in a change request","text40124896532d":"Every session run by this agent uses","text401dc1a55cb9":"Earlier versions","text40223a3c6277":"Prefers async updates. Owner: Dana.","text402284f97890":"Started project migration","text402ce0e016a1":"Reviewed by a person, then merged to main","text40301f59f422":"\"audience\"","text403595dd63ea":"Allow this action for the rest of this session — the agent won't ask again for it","text403764ddcb39":"Search by provider, status, session, account, or external ID…","text404238e6cf20":"Responsible disclosure","text4046f33a6c82":"Enterprise activated","text404bfcea3d30":"No users on this account","text4058739857b7":"Nothing left under this filter. Choose “All tokens” to see the rest.","text405e739d53d2":"SAML SSO","text406e505c00da":"enterpriseAccordionTokenTitle","text4073b723c85b":"I’ve enabled the SAML2 Web App addon","text407951d1c2e0":"Who can open this","text407f9d9c939e":"Any provider, your keys, or the subscription you already pay for.","text4084c89e3d04":"from the live models.dev catalog (e.g.","text4087def59b40":"Fix the billing webhook retry and prove it with a test","text4089e67b1111":"prop.","text40a3454eacbe":"The sandbox carries one project-scoped Kortix token and no third-party keys. The banking or ledger credential is decrypted server-side and attached to the outbound request, then thrown away.","text40b7bbb5b5d6":"the call","text40bb50da160c":"Move down","text40c4210fc53c":"Back to tokens","text40c42e206ab5":"The gateway that resolves the credential is also the thing that writes the record. There is no path to a connected tool that skips it.","text40ca33269747":"Prefer to paste XML? Open the SSO endpoint URL with /saml-metadata appended in a browser and paste the returned EntityDescriptor XML into the Manual option above.","text40ce918675f8":"Viewed audit log","text40d0593ae5fc":"Paste XML","text40d2a24cdc95":"Could not save the key rules","text40d9b64dde44":"Loading session cost details","text40db06073883":"No use cases yet","text40e5d3da0f35":"cta + isIconHidden + long body","text40e953f91129":"318,700","text40f531d6cd85":"Sign in again to continue.","text40f61622c4a4":"connectors connections pipedream mcp openapi postman collections connector","text410083735735":"allow","text41089bf34bc8":"The same connector, readable by one agent and invisible to another.","text41112adcd22c":"Provision","text4118deee6e13":"Upload files","text4118fb4fed0e":"Removed","text41232780dc9c":"when you bind a connector,","text412c9a761b4a":"Your app → SSO → Group Attributes","text412cc9a16edd":"'s source.","text4132201cc99c":"An OpenCode agent: markdown, plus the tools and plugins beside it","text41528be66c4c":"It stops where you told it to stop","text415dcc179975":"Checkout did not start","text416476d59f76":"Session access updated","text416a977cfdba":"Words to match.","text416f3a19f614":"Group deleted","text416fe8bd72df":"Reconciled audit log","text417500e4ecdb":"  name: Northwind","text418665cffdb5":"One place to start it, one gate to land it.","text4190c0c7ec72":"Open file","text41a01f64505d":"strategy requires one encrypted JSON object.","text41a1acbef296":"What you get","text41a4294b3596":"From a manifest","text41a86988751a":"Recents","text41b80ace077e":"The same on a laptop as in the cloud","text41b877e8a1e5":"Connectors · Policies","text41bb63a2e247":"Update the display name, sign-in domain, and group-claim settings for your identity provider.","text41cb2b40561f":"Server-side app — signs in with its client secret","text41cc9e27f99e":"2 files · +7 −1 · 214 tests pass","text41e2441de955":"Nobody joined a sales team to update a CRM. But the pipeline is only as good as the data in it, and the data is only as good as the last hour someone spent on admin.","text41e29416367b":"Runbooks that execute · deny-by-default reach · SAML 2.0 single sign-on","text41ed52921661":"Gateway","text41eeee8dfdba":"incident/SKILL.md","text41fb6b8b43f6":"Point Kortix at an OpenAPI or Postman spec, a GraphQL endpoint, a remote MCP server, or a bare HTTP base URL. It reads the source, works out the authentication, and turns every operation into a tool the agent can call.","text41ffc5e14073":"Set to {value0}","text420962cdca94":"The same project, the same connectors, the same memory — and eight different jobs underneath. Each team writes the skills for its own work, and nobody stands up a second system to do it.","text420aaa63cba7":"Page total","text42113e7bf6fc":"Kortix support","text42117ed2a1f5":"The usual way","text421c4b1fed48":"Product / Control Plane","text4228aeb07c41":"Rules","text422a9c2f3b55":"Client secrets","text422e69e3181f":"Business · $100/mo","text4230011827fe":"Find a file","text42408db46dd9":"1440p","text4243d9cbb711":"Connector keys never enter the machine","text4247cae34d45":"Unmatched lines and uncertain codings arrive as a queue, not as a decision. An agent that resolves ambiguity quietly is worse than no agent at all in this function.","text424a2551d356":"Expired","text424dfcf4d7e8":"An engineering agent that ships fixes.","text425aa668a9e4":"on your box","text426a8655550c":"Writing memory…","text427754ced1a7":"Failed to upload {value0}: {value1}","text427b37b68c71":"Authorization request unavailable","text427e4b79b1f0":"curl","text4288ade73ff9":"Pattern","text428d5da4c17b":"Merge is default-deny","text4292755f3573":"Ask before risky actions","text4295528943df":"Favicon","text429bbfa117e2":"Mobile app","text429be41120e9":"Run the project without leaving the conversation.","text429ffbbaa586":"Easy connect","text42b3d52014ba":"Workspace offline","text42b8d7c5357a":"The sandbox did not confirm the reload","text42bcffb92597":"View as this member","text42bd94c06205":"Status (Dot, Badge, Diff)","text42be5a22d7c8":"A triggered session is visible to the whole project, not private to whoever configured the trigger. It stops itself after 5 minutes idle, so an automation that runs at 3am is not a machine billing until morning.","text42cc4740d3d5":"Prompt copied","text42d0d7ff0656":"Agent loop","text42d8a7ea9caf":"exempt","text42e45c4f8d15":"Failed to update webhook","text42ef2c24bd7a":"Team seats","text42f3ceed281b":"OpenClaw and Hermes are brilliant open-source personal agents — and we genuinely recommend them for individuals. But a personal \"Jarvis\" and a governed company platform are different things. Here is exactly where the line is.","text42fbdd7efa9b":"1px solid rgba(255,80,80,0.4)","text42fcd9dda5f6":"Could not remove that prompt","text42ff58671f28":"Reads it before writing","text430c7db2e9a3":"Priya Raman","text43104a3e8715":"App → Policies → Add a policy","text43127bce57bf":"Could not load the audit trail","text4314a9413ab7":"Edit source","text431a387a9976":"Errors by type","text431e0036cba3":"Token URL","text432020e4f157":"The key above is saved under this name in Secrets. Built from the name if you leave this blank.","text43298f298ad8":"Browse the marketplace without signing in. Kortix ships its own registry — 62 agents, 61 skills and 62 project templates — and you can switch on curated outside registries with one click. None load by default.","text43394cf8283e":"main — synced","text4341be8eb7f0":"Action denied","text434886e6b66b":"Personal data","text437223bfa541":"/^(owner|admin)@example\\.com$/","text437dee26bc75":"Groups pushed via Push Groups are created in Kortix under their Okta names.","text43826188c706":"I’ve connected and activated Identity Management","text438420b155ba":"Reach it where people already work.","text4386df03b212":"Your app → User Groups","text438812ba8432":". Click","text438e8341dabf":"New project repositories are created under this owner with the stored access token.","text438f7a2e19eb":"🎉 Presentation uploaded successfully!","text43a857886565":"Split distribution","text43ae3265b99f":"Themes","text43b4b568012f":"Add Kortix to Slack so mentions and threaded replies route into Kortix agent sessions.","text43b4bc80b7b1":"Group Claims","text43bc0f5fc035":"Override","text43c1eff02d17":"security contact","text43d1a2b807aa":"Default settings for {value0}","text43d8ab235dde":"Scale proportionally","text43daf9c5f6cf":"Reading the changelog since v0.9. Drafting launch-note.md on this session’s branch.","text43ec39943667":"Could not update","text43f898e71741":"show (markdown) — fills the detail, no row","text43f94e8f3c65":"nightly-cron","text43f9b89c0b9d":"Present","text43f9e1786f27":"Extract it to open it.","text4405518d273b":"Rotate secret","text44088993f639":"Project Icon Picker","text440f3314493c":"· Stripe revenue +$3,482","text44160e26b787":"Not connected yet — the agent and your triggers cannot call this connector.","text441ae1beeaa5":"Provisioning tab → tick \"Enable provisioning\" and UNCHECK \"Require admin approval\" for Create/Update/Delete — otherwise every change waits in the pending queue.","text442e47369852":"List Kortix public documentation and marketing pages.","text44332adbd9d2":"A password-protected App has no signed-in Kortix viewer.","text443590eec311":"Non-devs publish skills as markdown; Kortix handles the branch, PR and merge behind the scenes. Versioned, reviewable, auditable.","text44368adad746":"Postgres","text4441b4b45947":"Token not found","text445cf0a2abfa":"Kortix is building the open AGI platform. A company owns all of it — every agent, all of their data, every skill, every connector, the memory, the whole configuration, on their own infrastructure.","text445d14bb67ec":"Entra ID → Enterprise applications","text445d576b5175":"Every agent prompt, every skill, every remembered fact and every grant is text in one repo. No console to click through, no export to request.","text445d71b74731":"It matches the ledger against the statement, groups what did not match by likely cause, and leaves the genuinely ambiguous ones flagged rather than force-matched. The unmatched list is the deliverable; a clean run that hid three problems is not.","text446f4eabf99f":"What this agent is for","text4471a7e4e487":"# Incident response","text44912abd87c3":"Concurrent sessions","text449992e55737":"3,000+ apps in a click","text449a509f5f87":"Advanced RBAC","text44a57b22e03d":"Alert","text44af6d2c691a":"I’ve added the SAML attributes","text44b63a4c6f6b":"Stripe.js failed to load:","text44bbad128435":"Mint a token & connect the SCIM connector","text44c4865ba52b":"ops@northwind.example","text44c8031cb036":"84","text44d5cf8e9451":"Create a service account token","text44db009e7d12":"Delete \"{value0}\"? Any permission policies attached to this group will be removed.","text44dedd0f97fe":"New file","text44df00d3050e":"Migrating to {value0}…","text44dfa6d7ebf7":"Could not revoke","text44ec4dae9b8b":"- Agents are markdown personas in /agents","text44ff9dbcb9c4":"Authentication Method","text4501be681694":"Could not save routing policy","text4501d03a0603":"In this session","text450dada54f72":"Why we did what we did — so we never relitigate.","text450f62fab8c8":"The job description, drafted from the real team","text4518e8b34f66":"Ran, denied, waiting on approval, or errored.","text4519d948c0e6":"by amount. When you cannot, open a change request","text4519df68f5f4":"Token settings that make this work","text451aa51a0fb5":"Toolbar","text45276c8ce829":"Kortix connectors","text4535911857d7":"The invitation to {value0} will be cancelled.","text45380e17ca1a":"Disconnect GitHub?","text4555241852b0":"Proposed change reopened","text45583b07c7c8":"Applied to every request for","text455a95491f40":"Permanent","text455ac40f4185":"get_mem — folded provenance","text455af11c8046":"is how people sign in — with your identity provider's own credentials and MFA, never a Kortix password.","text45609089ee73":"Open sidebar","text456600bc8f21":"Refreshing workspace","text4568e87aaf86":"When off, only users an admin has already invited can sign in via SAML. Group sync still runs for those members.","text456a1fdc1530":"Saved in","text456a5556852f":"Open workbook actions","text456abebb84df":"commit, push & deploy to managed git","text4571b6091ba2":"Ran connector call","text457f4f767fe0":"Checked API liveness","text45808d75bf89":"Webhooks","text45823eaac0c8":"Cookie","text458cde86effb":"Keeps SSO, SCIM, RBAC, and audit entitled for a signed Enterprise account that is also per-seat billed, so the Stripe reconciliation cannot strip them.","text45989de49fb7":"Details","text459a23a5980f":"Comfortable","text459ff8f45278":"Auto-provision groups","text45a12827a72e":"support help faq contact refund bug report issue question","text45afe4152eb7":"Remove mapping?","text45b37f9e9c85":"PageShell","text45b895cb8502":"Exact, case-sensitive match against an entry in the group claim your IdP sends.","text45ba74fd89a9":"A self-hosted instance has no managed model lineup and does not want one. You connect the providers you already pay for, and every model call routes through the gateway running on your own box.","text45bfe4f17af7":"Browse the catalogue","text45c4fc064e52":"Isolation","text45dc1369223b":"What this agent may do to the project itself, through the Kortix CLI.","text45eca4a01ff2":"Queued prompts may still send. Press Stop again to pause them.","text45ecacee6d98":"Not built yet","text45faa0a369e4":"No model lock-in","text46066a3c43cc":"Runs without asking","text4606994a6bbe":"Work reaches main only through a change request a person reviews and approves. The machine can propose. A human decides.","text460806f58b7b":"Its assignments, saved connections, and tool rules are deleted too.","text460a8b327e17":"Kortix terms of service and privacy policy.","text460b3a7da007":"Chat","text460ca92c825a":"Loading repositories…","text4610c1dbee14":"Reached as a connector you define: an OpenAPI or Postman description, a GraphQL endpoint, a raw HTTP base URL, or a remote MCP server. Kortix reads the source, works out the authentication, and turns each operation into a tool with its own Allow, Ask or Block.","text4612828a45f1":"versions","text461487131215":"Writes the SOPs that make the motion repeatable.","text4616b90a6d94":"seconds until","text46342ec1eec9":"Phase","text4634beebd84d":"The agent gets a token. It never gets the key.","text46470f35d5d8":"Your subscription, team seats, and billing for this account.","text464bfda48ca0":"TYPE II","text464c4ffd019e":"Edit","text464cf293fd24":"A {channel} thread bound to one session, ending in a change request offered for approval.","text464de08899db":"Check the fields","text4657cfe82d4e":"A deploy finished while you were away.","text465814995485":"Could not switch plans","text465887292bcb":"Verify provisioning","text4658997f85b5":"Proximity off","text465aec9079d9":"Git source","text465b4981f0e6":"- Book kickoff, share the rollout plan","text465e15da7bba":"Failed to save Computer Tunnel assignments","text465eb6f2fb59":"Add an application → SaaS · SAML → identity providers","text4664827f8e89":"Progress","text467065a16a2e":"Textarea","text467d579386a6":"An agent never exceeds its human","text46800e585f61":"Pass a DOCX URL with the","text4682a7f79721":"High risk","text46866b323e0b":"What an agent means to keep is committed on the session branch and proposed back toward main. Merge is default-deny for agents; an admin can grant project.cr.merge in kortix.yaml, and widening that grant is itself a reviewed change.","text469ad0b25e29":"Still in \"Attributes & Claims\", click \"Add a group claim\".","text469bcc02c9f9":"Every host port, reassigned automatically if one is already taken","text469d09327d17":"On the Configuration tab, ENABLE the application, then copy the \"IdP Metadata URL\" and paste it below.","text46ad72cccceb":"Pooled credits / month","text46ae82eac49f":"Full script","text46aee81d0b69":"Where Product / Eng hardens the platform, R&D pushes what it becomes.","text46c0b3f64f0d":".kortix/opencode/","text46c0ee68c43d":"Create an enterprise application","text46c307963f84":"Could not revoke this link","text46c38eba6711":"3,000+ one-click apps via Pipedream — OAuth handled for you","text46c541363b02":"Running…","text46c67c4b4a86":"Kortix for people and recruiting teams","text46c6aec94116":"From the source. Choose Custom header to change it.","text46c9f3b7520f":"Failed to connect","text46d3a05ddeb2":"A session starts only once the channel owner approves the request.","text46e3bd02feee":"Follows the project default","text46e6297e3f9e":"Declined account invitation","text46e978d0c193":"Shortcuts","text46f49bfb8d8f":"Credential required","text46fae4fb6c57":"feat(api): streaming tool results","text470385859f0e":"Attribute mapping → Group membership","text4703d3bef6c4":"Your own API keys — the ones that sign the CLI in as you — live in your","text472048e0f712":"Team name (optional)","text4724f344c1c0":"Scheduled","text472590ae974d":"Provider","text474721fbcdc7":"Ran yearly billing rotation","text474945c326bd":"A managed cloud for your OpenCode agents. kortix init, kortix ship. Bring the subscription you already pay for; every PR gets a preview you can click through.","text474d4126bce4":"powered by OpenCode","text4755e88f3955":"Your identity provider appends /Users and /Groups to this URL.","text4759498ac2a7":"Create","text4764560a0013":". An explicit per-request provider always wins.","text476b90bdc143":"@Kortix","text4778a1377329":"Could not queue the saved prompt","text477d50f7ddbf":"One-click OAuth 2.1 available","text4787eaf7c938":"Legal","text478e1eb25a04":"Chat assistants answer; a workforce does the work. Why input-output tools — however brilliant — aren’t the same as a fleet of agents that run your company, own the data, and run on any model.","text47931699ba90":"Schedule updated","text4795dc5fb288":"The connection you have now keeps working until a replacement is saved.","text479974eaff88":"{value0}: {value1} succeeded, {value2} failed. {value3}: {value4}{value5}","text479d92cbfaa1":"(kortix_version 2) to edit this agent's instructions, model, tool permissions and access here.","text47a8467a2faa":"Couldn't load changes","text47b31f661d3f":"Failed to update role","text47bd29075f8b":"Content","text47c02de3c2c1":"Expired project member access","text47c3d9d2f5c7":"Loading connectors…","text47ca51ceb36a":"Attribute mapping → Group membership (optional)","text47cb1961551f":"Filter tokens","text47d2a515ef2f":"Loading...","text47d57a730783":"Ensure the claims listed below are configured. Most exist by default — the one you almost always have to CHANGE is \"emailaddress\": edit it and switch its source attribute from user.mail to user.userprincipalname.","text47f276fa1983":"Your PingOne environment needs the Provisioning service enabled (standard on PingOne cloud, no separate SCIM SKU).","text47f3fe537320":"Write one","text47f57c0ab829":"Careers at Kortix – Open positions","text47fb071f9a05":"Recurs","text47ffe39e7556":"Copy Markdown","text48010f4355d7":"Failed to decline request","text48026cbaf423":"Unique within this project. You can change the proposed value.","text4814f62c108d":"Webhook","text4818598bb2d8":"Callback URL and audience","text481859b689b0":"Check your connection and try again.","text4828e60247c1":"Linux","text4840dd3bd303":"revokeFailed","text4850b174b713":"Required","text485c9d77954e":"Scheduling, kits, onboarding, answers","text4869b2a820dd":"Could not retry that prompt","text486a3ab5a7b4":"Revoked account trial","text486b3fe034b6":"Signed up","text486f49f03bf7":"Proposed changes","text4878537ff466":"Sessions do not share a working tree or a filesystem. An extract pulled into one session is not visible to another, and the machine is disposable.","text48845bff334a":"Dismiss","text4891f0add1ec":"Detached group from project","text489314dd2a13":"This link cannot be opened.","text48b2c90ba0f7":"Q1 26","text48b8f318d5d6":"governance: what each agent may touch","text48bb9aa078f3":"This connector manages authentication through its platform connection.","text48bccddd89a9":"End Time","text48c5462917c9":"them with it is the work.","text48ca389a821e":"notFoundHeading","text48cbbdc692b0":"MicrosoftTeams","text48d12c2f0363":"Your provider, your keys","text48d73db2396c":"Connection ID — use it in the backend (connector_bindings) to run as this connection.","text48de6f4846b1":"Kortix for sales teams","text48edc0b5c137":"The agent hit an action a policy gated for a human. Approve to let it proceed on the next attempt, or deny to refuse.","text48ef1ecb3d25":"Test Connection passes, the Mappings list shows userName → user.userprincipalname, at least one user/group is assigned, and the Provisioning overview shows \"On\".","text48f0d3d397d4":"Sign out","text490f4c702830":"The tools, dependencies and runtime the project declares","text492185ef8eea":"Where the line is, and why it is drawn there.","text492d03736dfa":"More from the blog","text492f00cce740":"sessionStarted","text4930821dd07b":"Edit source in a chat","text49395b9594c2":"Signing key","text493bdb7154e4":"Kortix Cloud","text493e963ae62a":"Every session boots its own cloud sandbox on its own Git branch, preloaded with your repo and tools. Thousands run in parallel with zero crossover, none of it on your laptop.","text494ca78f7374":"Custom","text494cb0162c19":"{value0} — action","text495a8a5d24a9":"The agent computer","text49616145514e":"Log out","text496aca80e4d8":"block","text497558230027":"\"","text49849ec55050":"Access reviews, joiners and leavers, the service desk queue, the runbook only one person can run. IT gains the most from this, and has to approve it first. This page covers both.","text49942009b705":"Group attribute statements","text499977bddecf":"% of traffic","text4999c6c6c7ba":"Subscription","text49a0053f3b0d":"Copy code","text49abaf804ab3":"Nothing here yet","text49ad6dbe32fb":"Create a connector. The display name and slug identify it in project configuration.","text49b0393b0546":"This archive is empty.","text49b0ceefa555":"Every feature is a conversation","text49b3a401c749":"Custom MCP connectors","text49c266baaaa7":"Search","text49c336a473eb":"Invoice intake and coding","text49c8061192c7":"Account roles","text49c8975f345b":"Required before session start. The connector authorization strategy selects the valid connection.","text49d180ecf561":"67","text49da60f8a292":"Success rate","text49e1b64b0981":"Leave blank to create the App under your personal GitHub account instead of an organization.","text49e49bb4401e":"Generate","text49e63b9b35ec":"reaches a session only when its agent lists the identifier under","text49e771a70964":"Every session","text49e7b2fd3252":"Disabled MFA requirement","text49e7ba9f095d":"The Kortix team","text49f0ccfc42dc":"Reconciliation, variance, the schedules behind the number. The agent does the assembly on its own machine and records where every figure came from. You get a workbook you can check.","text49f19beeecf4":"Received","text4a01fea7c629":"Issue refunds under $500 on your own.","text4a198896ec9c":"Your application","text4a1be26b9eb7":"Every way to configure this project.","text4a1ca4f91111":"Slack & chat surfaces, one click.","text4a1de0e4a5a8":"Declare Redirect Endpoint","text4a2b33ad2c1f":"Create webhook","text4a33eacd5fa6":"item","text4a371030e3a8":"Commands and tools","text4a44dc153642":"10","text4a5e6b5db2ba":"Something went wrong on our side. Your work is safe.","text4a6562501752":"Could not load analytics","text4a72652fb7e7":"Remove the slot","text4a7346d46cf6":"File preview{value0}","text4a776d3c655d":"the repo, and the company","text4a77be626bd1":"A drawer of keys in the agent’s environment","text4a79cdb7ab5e":"This workspace connects through a Slack app you own. We walk you through creating it — about three minutes.","text4a823118b9ba":"Host","text4a866105af15":"Design system","text4a8f5784f179":"Your brandmark in the header and on every loading screen","text4a920574ea10":"Config reloaded","text4a93cfc32f25":"Client secret (optional)","text4a9458af968f":"This file appears to be empty or invalid.","text4a9938eeeca6":"One git repo is the source of truth for the agents, the skills, the memory and the connector config. Every session gets its own isolated machine and its own branch. Any model, your keys. Work lands through a change request. Self-hosted or managed cloud. The long version of that sentence.","text4a9e8cf39abb":"Ask first","text4ab444f5a66a":"Advanced cron expression","text4ab73ace5642":"Read, categorize, and answer inbound tickets.","text4ac65dfbfd14":"Two types. There is no third.","text4acf3c9c6c5e":"Metadata-only access","text4ad32e5b8e19":"Updated project","text4aded5c6750d":"Copy its address from the panel to finish setup.","text4aded5faf156":"Client secret","text4ae4a15481d2":"Start governing agents in kortix.yaml","text4aea922cfd21":"Kortix inside Slack and Teams","text4aeba9eb1485":"The exploratory pass before you take over","text4aeeea333672":"Security & compliance","text4afa55bf7aec":"Terms of Service","text4b01ba36b85c":"agents in a new project: a generalist and a memory curator","text4b0e0e2050e3":"Where new sandboxes are placed, how that placement performs, and the live fleet it produces.","text4b11e510f62b":"Install a project","text4b1b13a946e5":"one host","text4b1b8aa3608a":"Owner","text4b227777d4dd":"4","text4b25aab8909e":"They also get the agent's secrets and connectors to USE, not edit.","text4b2a7fd0198e":"Agents, skills and memory as git files you own","text4b2e1a2b9cbc":"Deploy a static site, JavaScript bundle, Dockerfile, or OCI image from your project directory. It shows up here the moment it goes live.","text4b2fcfb4b248":"Manage → Users and groups","text4b303ca7f76c":"Started a session to fix the sandbox build","text4b36ce9864db":"Role created","text4b39312e24c1":"Three actions","text4b3a077cc3f0":"No projects on this account","text4b3bf58beb3e":"The Postgres database, as a directory you can back up","text4b4c31294fb5":"Run at","text4b51686b2606":"Nothing waiting for review","text4b5274edd83f":"Inspect and control local desktop apps through CUA Driver","text4b5bf8bae40d":"Outside services this agent can call.","text4b6617d27a7f":"Service provider details","text4b68ab3847fe":"X","text4b7159920f77":"Bedrock","text4b80e74f3fa4":"Unpaid","text4b85caae9864":". Events won't arrive until the URL responds — fix it, then delete and re-create.","text4b87271b6b81":"All projects","text4b8a51b32252":"Rate limits, timeouts, and upstream failures","text4b8aec6e6cd2":"Sample request","text4b8fa0516b54":"Update task","text4b9fba028c95":"Agents edit themselves","text4ba79f911c93":"opencode:","text4ba9e26cc819":"Google sends group NAMES — and only for the groups you explicitly selected in the mapping (up to 75). A group you forgot to select is silently never sent.","text4bb8f5e5d167":"A cluster is not a claim, it is a list. The document carries the tickets behind each group, so a disagreement about the synthesis is a disagreement you can settle by reading rather than by re-doing the work.","text4bba4ad3c2e5":"Cloud infrastructure","text4bbe0b7e8387":"SpotlightCard","text4bc37c88fbcf":"Auth0’s SAML2 Web App addon does NOT send groups by default — you add a groups claim with an Auth0 Action/Rule. Until then, only email + name arrive.","text4bc74b21357c":"Task","text4bc99680df20":"Finishing up…","text4be11575cc7d":"Kortix for engineering teams","text4beeedd0d757":"Across all providers","text4c02a39da36f":"Your app → Assignments","text4c05fac320dc":"This approval cannot be opened","text4c07fb41dc84":"Your project and tools are ready from the start, so the agent can work without using your laptop.","text4c1029697ee3":"owner","text4c1804972646":"Last touch","text4c1f87ad0ffa":"The daemon clones the repo, cuts a fresh branch, and reads kortix.yaml + OpenCode config into a live runtime.","text4c25090df9ea":"Session rewound — sending a new prompt commits this path. Restore keeps the removed messages and file changes.","text4c26cbeec69e":"repeat(auto-fill, minmax(160px, 1fr))","text4c2cf841f117":"The workforce is in the diff.","text4c2dc2d96376":"    session_key: \"{{ body.data.conversation_id }}\"","text4c31974fceb2":"not applied yet","text4c36403a4549":"You will add a new SCIM connector app below; the SAML Custom Connector used for SSO does not push users.","text4c46466854cb":"Customer support","text4c483d4ad1da":"Your CRM, your inbox, your sheets","text4c53d51e3182":"GitHub owner (user or org)","text4c5e843ac136":"Runs any model","text4c646014b529":"Attached to project","text4c65337b5fbf":"Click to preview {value0}","text4c658b4e952e":"Model updated","text4c6882e7da5c":"to ends with @acme.com","text4c8906cf76f5":"Channels","text4c9298ab24b1":"outbound/northwind-01.eml","text4c96c7513f90":"Runbooks","text4c97eef02faf":"Configuration drift, reported not fixed","text4c99583a807e":"No API key was provided — the snippet below omits the apiKey field.","text4c9c57419990":"Client ID (optional)","text4ca57b697d2f":"Refresh tokens","text4ca72552acdf":"A prompt change looks like a code change","text4caa18882dc4":"No members match “","text4cb223b846ac":"Each session is walled off from the others","text4cb23f3c3b90":"Could not copy to the clipboard","text4cb3866aa93e":"Mint the bearer token your identity provider authenticates with — then paste it and the Tenant URL straight into your IdP below. Everything you need stays on this one page; no flipping back to copy a value.","text4cbf9c0d5628":"Session startup progress","text4cc45abce5a0":"The default CardGroup: borderless, one column, hairline dividers between neighbours. Move the cursor down the list — a single magnetic highlight springs to the nearest card and previews where a click lands.","text4cc814e16050":"The follow-up, drafted from what was said","text4cd05d3456c4":"Request a tailored Kortix walkthrough for cloud, VPC, or on-prem deployment.","text4cd112697d33":"Control-plane routing","text4cd1b93918a9":"Your app → Configuration → IdP Metadata URL","text4ce7b95988e3":"Cannot open that preview","text4ceca1d52ced":"Timezone","text4cf9cff6cc72":"In the \"Create a new app integration\" dialog, select \"SAML 2.0\". Click \"Next\".","text4d03ba8a838f":"Issuer URL","text4d1f460178d9":", then add a row to","text4d286e47d580":"This record is discoverable, but its provider has not published a machine-readable endpoint.","text4d327af41f96":"via","text4d37c559e4b7":"Couldn't load GitHub status","text4d67694a7607":"Spawned by session {value0}","text4d6aef31f31e":"Factor removed","text4d737ad2895f":"Keep it in the environment so the code that computes the signature can hold it.","text4d778555583e":"Viewed current account","text4d77a6d5bda3":"Last night’s exceptions, grouped","text4d7b5a2ac064":"Attribute Mapping → groups","text4d8b74d51b13":"Send the launch email to 214 recipients","text4d8f4755ac09":"Verify it’s you","text4d8f5abc42f5":"Start with one agent","text4d91ca15b501":"Bring us your security review.","text4d9ddc44f9b9":"Every claim cites the ticket it came from · drafts, never decisions","text4da10f1fbb17":"Set up","text4da168d59932":"No accounts were active in this window.","text4daace56d920":"Changes discarded","text4dadc0d96004":"Here's how I'd approach **\"{value0}\"**:\n\n1. Gather the relevant context across your tools\n2. Draft a plan and confirm the details\n3. Execute end-to-end and report back\n\nWant me to start?","text4dbd8ae60c63":"runsPoint3Body","text4dbf4a82fcc8":"A skill directory can carry scripts, references and assets beside the markdown. The instruction and the tool that executes it ship together, so a procedure does not rot away from the thing it drives.","text4dc6cc22854d":"Group Claims panel in Attributes & Claims","text4dd230bca68f":"Edits","text4dd4a88d39fe":"Copy a link","text4ddb4de558e2":"Drafted is not sent","text4dde127923ec":"Image pull failed: manifest unknown: registry returned 404 for tag v1.42.0.","text4ddf02a36df5":"Open Slack","text4de44e09f00a":"Org-scale specialists that run in parallel.","text4de8308cca56":"for a human to read","text4debcf7369ac":"parallel sessions, fully isolated","text4ded27f0d48b":"fill={false}","text4df9939944a7":"Placement","text4e08cc0f28f3":"- Score and hand the top 20 to the rep","text4e12058e58c1":"Added the Email inbox to the manifest, but synchronization failed: {value0}. Use Sync to retry.","text4e1407fe77a8":"Self-hosting is not a smaller Kortix with the interesting parts removed. It is the whole control plane — accounts, projects, repos, secrets, connectors, policies, audit — running inside your network, on storage you back up yourself.","text4e195afd7f23":"The recruiting agent reaches the applicant system and the calendar. It does not reach payroll, because you did not list payroll for it — and it cannot discover that the connector exists.","text4e1c9bd64a7d":"This step hit a problem — the details below show what happened.","text4e1f49a9c8ae":"Event","text4e29720c2372":"Nothing was recorded for the selected window.","text4e32fa98498b":"You switch it on","text4e37aaf3f5f2":"One compositional card — media, eyebrow, title, description, action, content, footer — laid out by a sibling CardGroup. Two layout axes (orientation, columns) and two framing switches (border, separated) cover every variant below. Transparent and borderless by default: cards inherit the substrate under them and lean on hairline dividers plus a magnetic proximity highlight instead of a drawn frame.","text4e420a5186f0":"What this agent is, and whether it can run.","text4e445fd409fb":"an unknown amount","text4e454ace879c":"Identity provider connected","text4e4b9ad5e039":"Profile attribute statements","text4e57226ad8a2":"Once enabled, users and groups sync on their own — no manual pushing.","text4e573a969d96":"Requested project access","text4e65e85103ec":"Kortix console","text4e668af9d26d":"Agent server","text4e686cee486f":"replied","text4e6946711ca8":"Address prefix","text4e6c3453b25d":"Owners and admins are Manager on every project — change their account role to limit this.","text4e792beef219":"Read files","text4e7a78e97ff7":"Browser or native app — no secret, PKCE only","text4e7af375050b":"added to","text4e7b0cd1a437":"Stopped session","text4e80abb5b146":"Outcome","text4e8f07bf6cf0":"In Cloudflare Zero Trust: Access → Applications → \"Add an application\".","text4e9c9a2dc8bd":"Own services end to end, and build the engineering team behind it.","text4e9e0de01d8a":"Delete this {value0}?","text4ea9bc9c2acc":"Profiles the warehouse, writes performant SQL and ships a dashboard from a plain question.","text4ea9e9ad1d10":"New sessions and change requests start from this branch.","text4eaca6d61bca":"failedToStartSession","text4eaea5edcdef":"Paid only","text4eb861e5d86e":"Uses the selected agent, project, or platform default.","text4ebe47eb8d93":"IdP Metadata URL","text4ecda5e7a644":"Switch Account","text4ecdccd54ed0":"IdP claim","text4ece196e2346":"@{value0} already has access to this repo","text4ed379d418bb":"groups","text4ed56d67f5de":"Used admin bypass to view project","text4eda8c966e9b":"Design System","text4ee44f08f619":"Scoped reach","text4ee510d053d5":"Your data and config stay yours","text4ee87fdb2f3f":"· Northwind → Proposal ($120k)","text4efca0d10c5f":"About","text4f0fb30e3bee":"An agent declares in kortix.yaml which secrets it may ever be given. A session receives the intersection of that grant and the role of the person who started it — so an agent can never reach past its own declaration, or past the human behind it.","text4f1532e8e1ab":"2 files ·","text4f1601d68eb4":"Webhook triggers","text4f216a751951":"Create every connection before the session starts.","text4f24019e2cad":"Show the panel: project, agent, model, policy, linked identity","text4f35f7ed49ec":"First run","text4f370db531ba":"Nucleus sampling. Leave it alone unless you are tuning the model.","text4f3a9bd00397":"Class","text4f4003ab9539":"Mint token","text4f4c5e40c2e8":"<span className=\"text-","text4f503dc583f3":"File access","text4f507109b2b3":"    skills: [reconcile-invoices]","text4f50bda41e87":"Tree view","text4f660d25cd0f":"hiring/staff-infra-pipeline.xlsx","text4f69158b8669":"the right skill — no one remembers which agent does what.","text4f7838402f37":"Verified","text4f7d64017689":"Coming soon","text4f840cd7cf01":"Read the manifest spec","text4f84cf089254":"kortix cr open --title \"Describe your change\"","text4f8632819544":"Connect for the project","text4f9baa5ecfd7":"Watch out","text4f9f0dabcd26":"Safe","text4fb37eec9d1d":"Assigning this also grants","text4fb78818bd18":"Open in GitHub","text4fb7aff6ff92":"Use arbitrary pixel text sizes","text4fb8319405f3":"Readable inside the sandbox","text4fbe0827517d":"<button className=\"px-3 py-1.5 rounded-lg bg-neutral-100 hover:bg-neutral-200\" onClick={handleClick} > Save </button>","text4fc200eed435":"Combine fields to reconstruct one actor, session, or request path.","text4fc52a3c4c55":"Duration","text4fce550efde4":"Slack connected","text4fd0272a5628":"No value","text4fdf72aeaa23":"permission.bash →","text4fe4db0a0d92":"After Save, Entra pops its own \"Test single sign-on with Kortix?\" dialog — choose \"No, I'll test later\". Kortix isn't connected yet; the guided test comes at the last step.","text4feba398b495":"Enabled Enterprise preview","text4fef65587333":"owed","text4ffd3775619a":"340 profiles searched · 22 shortlisted · 9 approached","text50009ce1da4d":"File","text5004ea5fdc72":"Kortix cuts a branch and boots its own isolated cloud computer, exactly as it would for a session started from the dashboard or the CLI. You get a reaction on your own message, not a bot post saying “on it”.","text500b4d333c4e":"Each call an agent makes through a connector is a row: the action, the actor, the session, the risk class, whether it ran, was denied, or waited for a person, and who resolved it. Arguments are stored as a preview built by subtraction, so a credential cannot end up in the record.","text500f2f9d3956":"New role","text50105c1068fd":"what it asks you","text50137ff5d7e9":"OneLogin admin → Applications → Add App","text5021004691b4":"SOC 2 Type I","text502698660877":"Redirecting to GitHub…","text5038126f96fb":"It stops before anything is published","text503b88a2f820":"All solutions →","text504328ab57c1":"Same steps as your previous visit — check each one is actually done before continuing. The Tenant URL above is unchanged; the secret is the one you pasted last time (or mint a fresh one).","text5048ea70aaa7":"alreadyBody","text504c8b8b46c2":"Black & white with rich green accent","text5051e9e23edf":"Failed to reactivate subscription","text506ff3946215":"Privacy Policy","text507d494d56bf":"Agents run on real computers and return finished deliverables.","text507e19ce6f1b":"The business","text508121aba2d4":"channels channel slack teams discord email agentmail inbox inbound messaging","text5084c9325cd0":"Page Patterns","text509c517ede79":"Zoom","text509f37f956cb":"Every session runs on its own isolated machine, with credentials it never sees, and lands nothing without a person approving it.","text50a412294327":"ChatGPT","text50b33e323ff3":"Agent Runner","text50b5b8b516f3":"A project inbox, so a message to an address starts a session and a reply continues it. Opt in per project under Customize → Feature flags. Real, and not finished.","text50b7777e2015":"{value0} activated","text50c3e706a3c2":"GitHub isn't connected on this server yet","text50c4d9bbbfb2":"A claims file lists what you are allowed to say and what needs a source. An agent that hits an unsupported claim marks it rather than writing a confident sentence — which is the single most useful behaviour you can configure in this function.","text50c519cd51cc":"Tier:","text50c9e2de86db":"Secret deleted","text50ce48b9c623":"Open search","text50d256f3de2b":"Action prefix","text50d5797e87c0":"No workspace open","text50d5fd0a05d4":"Stub file source. Click the","text50f3554f9cca":"On the application settings page, select the \"Assignments\" tab. Click \"Assign\" and select \"Assign to Groups\" (or \"Assign to People\" for individual users).","text511200cf42dc":"Browser notifications for what happens in your sessions.","text511af20e9314":"Deploy the API to staging","text5120ee26cbf5":"Added and connected {value0}","text512241b9824c":"Install this exact setup — agent, connectors, schedule, and guardrails — in a guided flow.","text5122577b6042":"Listed the permission catalog","text5122d0f1db23":"Link an existing App installation or install the App for a GitHub account.","text512618790549":"Scheduled Task","text512a48218ba2":"Last run","text513bc5f876b0":"Provisioning → To App","text5145b39c830f":"3,000+ apps, OAuth handled","text51464281894d":"Your browser does not support notifications.","text514650746440":"Cloudflare Access sits BETWEEN Kortix and your real identity provider: it authenticates users against your IdP, then presents itself to Kortix as a SAML IdP. So set up the upstream connection first — in Zero Trust → Settings → Authentication, add a login method (Okta, Entra, Google, …) per Cloudflare’s docs.","text5150c9d9bb20":"Migrate sandbox","text515ebffde3e4":"Who can open sessions created by this trigger.","text5161cce6217e":"What they can do","text51621a0469f5":"The name is managed by your identity provider — rename the group there. Sign-in group claims match by name, so a local rename would orphan its access.","text5167e9677e1f":"building","text516f7c6c91fd":"You don't have permission to view this.","text517a26051a61":"Failed to load payment system","text517af642fdf4":"312,000","text518fc8ca6ebc":"git github app installation repositories connect clone remote host provider","text519c081464b5":"{value0}: the controls this platform ships, with {value1} shown in full.","text51a4eefaba47":"Saved — \"{value0}\" is always allowed in this project now","text51ae0a7e3783":"No connectors yet","text51aedaa8c251":"How this instance is reachable","text51af751269c2":"Because half of the real inputs to an analysis are a spreadsheet somebody maintains by hand. It reads them as source and writes the output back where the requester will look for it.","text51b143371424":"It keeps itself current","text51b3bfca2e8c":"Slack connection","text51b5970e84eb":"Leave the value blank to leave it unchanged.","text51cbb7873b3d":"Mint a token & connect provisioning in Entra","text51ceddda04ac":"Acme Robotics","text51d7edea32d3":"Subscribe to start sessions","text51df486e7027":"Invite someone by their GitHub username. GitHub emails them an invite to accept.","text51e0d22747d7":"Use a custom Slack app for this deployment.","text51f5cf72f382":"Full account control.","text51fac985e953":"Recipient","text51faea8cf46b":"Fetching account context","text5203cb730f22":"Create a Kortix project, start an isolated session, and review the change your agent brings back. Self-host it or use Kortix Cloud.","text5206481e4a98":"We'll open a chat in your project and an agent will walk you through it — ask for the details it needs, connect your accounts, and turn it on when you're ready. Nothing runs until you say go.","text520d7ca6788e":"Service Manager","text5210c5acc2cd":"Add an agents entry to kortix.yaml in Files.","text52111885153a":"Permissions on a real Google Drive connector — 51 tools, one answer each.","text52141cfb5b12":"Install to Workspace","text522d6e41c020":"Upload XLSX","text5230d9ff907c":"Paste two values back here","text5234fbffc3e9":"Remove provider","text5237227aa130":"skills committed into a new project repo on day one","text523a2c77931b":"Signing key updated","text524a79b18f1b":"Provide App Metadata","text525174cc0d8d":"<Button variant=\"ghost\" onClick={handler} > Click me </Button>","text5255b5685b02":"hiring/scorecards/platform.md","text52594f72e6fc":"Slack signing secret","text5261579cf365":"Provisioning → Mappings → Provision Microsoft Entra ID Users","text5263293fc202":"Small","text526c3dafbee8":"Every Kortix release, straight from the source.","text526e0087cc3f":"Description","text5273e4e9e2bc":"actions are","text52771248cb6a":"kortix.yaml declares the machine image, the connectors and the triggers","text527ee583427a":"Installs","text527ee9c936d3":"Failed to start build","text5280b011dd29":"Change dismissed","text5284184cef68":"Optional. Allow exact emails, domains, or a regex before inbound mail can trigger the agent.","text5294a47839ac":"Project not ready","text529cc39f4f51":"Anything worth keeping comes back as a change request — and merges into main","text52b1035fcd14":"kortix-updater","text52b7ad21e9cb":"Someone mentions the bot","text52c3509531f1":"The last three are usages Kortix assigns —","text52c4b3e90433":"The reply lands","text52c545a60273":"Shipped to main","text52e1c31788e9":"Create the app in Slack","text52e30cc313a7":"/debug/minimap","text52f61ed0009a":"Flexibility","text52f878edb34f":"Esc","text5301d96a21d8":"Off by default. When enabled, a failed session init retries once","text530f84eed1b8":"Have an agent do something on its own, on a schedule you set.","text53121d4517f7":"Unsaved changes. Saving writes to","text531d0e1f0c72":"Free includes 200 credits each month for Agent Computer runtime. Those credits do not pay for managed LLM calls.","text531ed88376cf":"Mondays at 08:00","text53204ec7b342":"codePoint3Body","text532694dbdcc4":"Fix the signup form validation","text53270bef8b4a":"New imports from {value0} will stop working until it is connected again. Existing projects keep their repository link.","text53292febd5cd":"Updated account tier","text5334297c9387":"Failed to create folder: {value0}","text5334e4567e76":"This help","text533ce071055b":"What a skill is","text5342e09f2729":"Enable","text5346918b32c0":"description: Acme’s support agent.","text53481bfcb106":"Set it to Ask and the run pauses","text534e356b9a09":"This workspace asks for a second factor before showing its tokens. The list refreshes on its own once you have verified.","text5363a9cf88d5":"Has pending access requests","text537914cbcd67":"Pull the ticket that started the session, read the acceptance criteria, and post back the change request link when the work lands. The ticket stays the source of truth for scope.","text5387a784de3a":"Managed GitHub","text538b028ecabf":"03 · Agent configuration","text538b07594b07":"Kortix — {value0}","text538f96979be7":"Routing policy saved","text539a563faa17":"Add app → Add custom SAML app","text539cdd0b417f":"Turn scattered feedback into a spec with the evidence attached, keep the tracker honest, and write the release notes from the actual diff. Everything lands as a document a person reviews.","text539de6570111":"Revoke {value0}? Apps calling the gateway with it stop working immediately.","text53a46e4cc509":"On the \"Identity Management\" tab itself (once Test Connection has succeeded), check \"Enable management of User Groups and Group Membership in this application\" so bound groups (and their members) are pushed to Kortix.","text53a4bf4db437":"An agent is a prompt and a set of grants.","text53aade77cd69":"Columns","text53ad6f999b1f":"Save failed","text53b07a3ed98b":"You are also the team that has to approve this. Here are the answers, including the ones that are less flattering than usual.","text53b816218aba":"kortix-api","text53c247b8cf06":"Upload a Word document to preview","text53c7e72de3cf":"Workspace Active","text53f71e08be88":"Stripe subscription","text53f76274b923":"This channel connection is missing its platform setting.","text5405931307e3":"Configuration complete, starting services...","text540afa4c53ff":"{label}: {count, plural, one {# member} other {# members}}","text54266bfe04ff":"Failed to update maintenance config","text5427e0ef4eba":"Permission:","text542d24012988":"person@example.com","text5439ad4a88da":"Listed gateway models","text544792b85010":"switch workspace workspaces project projects change move open all list","text54483ce856e0":"Replace credential","text54529c95dca9":"Start with one job, connect the tools it needs, and reach it from Slack, the web or the CLI. Free to start, free to self-host.","text545403adb9e5":"No fallback models.","text545c02357695":"Audience","text546dc281747b":"I’ve added the identity provider metadata URL","text546ebb8eb993":"Filters","text5471c95037b9":"No such trigger, or it is disabled, or it is not a webhook trigger.","text5474fde32b76":"The run stops at the call and waits. A person approves it once, approves it for the rest of the session, or denies it.","text547602d87c05":"action is","text547a92020d87":"Add the connector first. Each user then stores their own private credential from the connector page.","text548677c5771e":"Listed role assignments","text548d65f76e61":"orientation=\"inline\" turns each card into a horizontal row — leading media, flexible text, trailing footer. The same parts, a table-like rhythm.","text548f4cfc6745":"\"{value0}\" gets a new client secret and the old one stops working right away. Update the app's configuration before its next sign-in.","text5494ba35f722":"Deleted an OAuth app","text5498f487a861":"Deduct","text54a0e8c17ebb":"Error","text54a4e6b3594a":"Removed secret values can remain in the current conversation or existing shells.","text54a57c3147c4":"Privacy","text54b316135c61":"General settings.","text54bf0ebbfb3e":"Sheet","text54c32d3e2cfa":"All agents","text54ce8b59de87":"You'll lose access to","text54d0252c76b0":"Auditable","text54d14f0b67f3":"{value0} actions need your approval","text54dcdc410e46":"Condition {value0} — value","text54e22a5335af":"Move fallback down","text54e65454945b":"Set enterprise entitlement flag","text54f7746278d0":"Default-deny for agents","text55014cace828":"# Decisions","text5502881e0479":"Enable the app first — a disabled PingOne app rejects sign-ins even with correct metadata.","text5535245f3459":"Search features","text553d1ec7c9e6":"You may not have permission to read this file.","text55412336c1c2":"Open CSV actions","text554add02368e":". Pipedream is not involved.","text5557acb8176b":"Write files","text555cd401b3c3":"ChatGPT subscription disconnected","text5562d6d4c826":"Viewer identity","text5569127c2d09":"Automatic provisioning from JumpCloud","text55704e8f6004":"Loading branches…","text55706ffa93eb":"command in Teams.","text5570cd1f7f25":"Single sign-on → section 3 \"SAML Certificates\" → App Federation Metadata Url","text55753f229be3":"Short. One open question does the work.","text55898449eb74":"Health","text558b36e065df":"To give specific people access, assign them (or a group) to an","text558bb9bf0163":"Some fields need attention.","text5593abac2c15":"Dependency bumps, with the build proved","text5594b58d2173":"payout reconciliation","text559b1cc46027":"Read the docs","text559fe9cfeadb":"On the frontier of AI by habit, not by assignment.","text55a733d57ce1":"Open PDF actions","text55a834c80aa9":"Owner only","text55afa51cc456":"Accruals, prepayments, deferred revenue, fixed asset roll-forwards. Mechanical, rule-driven, and re-derived from source every period instead of a workbook that has been copied forward since 2023.","text55c84320074b":"Search Kortix public documentation and product content.","text55e970c35216":"Get device code","text55fa9981994c":"Showing the","text56000ae371ac":". Apps are private by default.","text561257c019e5":"System prompt","text56185876d445":"Revoked SCIM user invitation","text56244b12a992":"App icon","text5630381eeca0":"ChatGPT subscription connected to this project","text563038dc7264":"Require two-factor authentication?","text564e4ace86b3":"More use cases","text56536365c70b":"Trigger agent and project Managers","text5655d173e0a1":"- Pull usage + health from the last 90 days","text565ed637aeae":"Checked API health","text566181254b29":"Yesterday","text56644b72a713":"Enter a valid positive amount","text566648319b0b":"You don't have access to this project's configuration","text5667e2fe3cb5":"plan: Enterprise","text566a18d73a39":"Auto-detect reads authentication metadata from the source. Choose None to opt out.","text568b0ff92720":"SAML","text568b5e60cc5d":"Reloading restarts the runtime, which ends the turn that's running right now. Whatever the agent is part-way through will be lost.","text568db3e36c44":"The managed service. We run the control plane and the compute; you run the company.","text568e9d9ee51e":"Connector action","text569bd25dce87":"translate(-50%, -50%)","text569ca49f4aaf":"Install","text569f2485de82":"Delete local files and directories","text56b0e1edef9a":"Added member to group","text56b46fc5bc85":"Filter use cases by type","text56c63e70bc99":"Settings · Sandbox templates","text56c6c5117e48":"{{ body.data.chat_id }}","text56d4e6956bc3":"About Kortix","text56e264eb39f6":"No project member has connected their own","text56e4e9373b11":"Create and modify local files","text56ee71f3ece0":"Connection ID copied to clipboard.","text56ef8f20955f":"Address","text56f26c55e418":"No accounts match these filters","text56fd83f9dc26":"JumpCloud SSO config with IdP Entity ID, SP Entity ID and ACS URL","text5702cfb27036":"Computer Use","text57047ddc55d7":"Licence and seat reconciliation","text57069bbd0d2e":"Agent's usual model","text5731d8c0fb14":"Allow, ask-first, or block — connector action rules you control","text5738301b7beb":"OAuth 2.0 connection completed","text573c97ef1fcf":"the generalist, in every project","text57404231b355":"I’ve added a SaaS SAML application","text5740535823f9":"Kortix assigned this — it cannot be changed here.","text574e85a71662":"Migration running","text57530d39031c":"Find groups by name","text57575ab4b970":"It ran before you read it","text57579cf783f3":"Replace trial","text5766126e8727":"inset(0 0 0 0)","text5775c8f9216d":"Entra Users and groups panel with Add user/group open and a user selected for assignment","text5776b0d8f73f":"The platform","text577ad00bbf3e":"This item requires","text5782690044e2":"Default label, ambient rotation, locked status, retry, elapsed.","text5784993eec98":"$ kortix channels manifest > slack-app.json","text5796178ec4f5":"What does this change do?","text57a524b52549":"Stopped, but the queue could not be paused","text57b622ff82b1":"The room test","text57ba29c7d550":"Pair Macs, Windows PCs, and Linux machines through the secure Kortix Agent Tunnel. Open a machine to control its permissions and review its audit history.","text57bbed2817ff":"{value0} changed in both places","text57c1ac648f02":"Point this project at any OpenAI-compatible endpoint — self-hosted, on-prem, or a provider that isn't in the catalog. Everything the catalog does carry belongs on the Providers tab.","text57c5a5829f70":"Redacted input","text57c848e1ca75":"Listed policy templates","text57cf25efcab3":"Set who may start a session here","text57d08d24adb8":"Group attribute statements form below the profile attribute statements","text57daca724d75":"Federation metadata","text57dccc5db9b0":"Waiting on you","text57ee14ce1425":"Save policy","text57fd7a0cf33f":"Selected","text58057d6fa81b":"No accounts match","text580e68173156":"Couldn't load SCIM status","text581059f4eb56":"Skills, git-backed and invisible","text581144514350":"Ask a workspace admin to connect Slack.","text58213fd0f931":"characters.","text58265cc01151":"Start a project","text582967534d0f":"in","text582ee45bd6ee":"#1 OneLogin gotcha: the \"ACS (Consumer) URL Validator\" is a regex, not a plain URL. Escape the dots and anchor it so it matches the ACS URL exactly, or login fails with no clear error.","text58432f02cc20":"Kortix {value0} wallpaper, {value1}","text5844ecb027f7":"service manager services orchestration process manager sandbox active restart reload","text584dabe853a5":"opens the spoken script without putting it on screen.","text585473f2a28b":"12 days","text5859e6efd762":"Could not save demo request","text586ce9d865c1":"An agent is","text586e55500de2":"Put it in the thread people already use.","text5871c99664b2":"Total filtered","text5872277e15ce":"OPENAI_…","text588032878324":"Send now","text5885ace14d89":"Session Get","text5887e718dea1":"picked","text58a4ba90dc79":"Take back the week the coordination ate.","text58aede554b21":"Connect a tool once, for the whole company. Agents reach it through one scoped token that Kortix brokers server-side — so the raw credential never lands in the machine the model is driving.","text58bf3410b028":"Set value","text58bf4682555d":"34%","text58c3939c4ce9":"Operate","text58d3ccb0ea54":"A review with a recommendation on every row.","text58dc708c6651":"Membership is synced from your identity provider — add or remove people there.","text58e3e16cc67b":"Scheduling, kits and onboarding — never the decision","text58ec60140867":"Your key is stored as","text58f084456f75":"Its own sandbox, with its own filesystem and its own lifetime","text58f42611a053":"registry.ts","text58f7e09c0d5f":"The sandbox carries one project-scoped Kortix token and no third-party keys. The gateway decrypts the real credential server-side and attaches it to the outbound call. A runtime secret you deliberately grant is different — that one is a real environment value the agent can read, and it is meant to be.","text58f9595c7f1d":"A blocked echo comes back as [REDACTED]","text58fd308928dd":"Add trigger","text59004552be50":"Moved \"{value0}\" here","text590b2d04d8a8":"Open the command center and hand an agent a real task.","text590d36262e11":"Added {value0} — click Connect to authorize","text59136943c199":"Viewed queued session prompts","text5918414053b3":"For Okta, Microsoft Entra ID, Google Workspace, and GitHub, Cloudflare Access sends a \"groups\" SAML attribute automatically — there is nothing to add here, just confirm it is present. For any other upstream IdP, add one SAML attribute statement with Name \"groups\" and pick the IdP claim that carries group membership.","text591935b15b1c":"Public","text591967ee7f66":"approve to merge","text591a018152ce":"It reads every piece of feedback that came in, groups it into themes you can act on, and takes the top one all the way to a change request.","text592dbd5acab8":"workspace access grants who can open repositories per workspace membership","text593451c315cf":"Members are signed out after this many minutes of no activity. Empty means no limit.","text593845e8cbad":"Bring members in from your identity provider.","text593e3823343a":"Assign Group to App","text594bdd4c19b2":"Ask before every use","text59611ccab0af":"Could not rotate that secret","text596c52f1eb65":"Connection failed","text5970362b52d5":"Fallback condition","text59711e8b2cf8":"CLI client","text59845e809cc9":"The analytics request failed.","text5984b7866ce4":"user message · UPLOADING → every tile spins, name still readable","text5985039f106d":"Team","text598efd3e081f":"No sources match “{value0}”.","text5994c8a10999":"privateHeading","text5998ac369aec":"This link is invalid or has expired.","text599f5c523ef2":"Operated","text59a5ff1b6b64":"Setup values","text59af4efa0483":"# Secret NAMES only. The values are encrypted in the","text59af855b5950":"Failed to set managed models","text59be3646326b":"1px solid rgba(255,255,255,0.14)","text59be71333c96":"Optional","text59c2c8f63734":"Try adjusting the status filter or clearing the search.","text59c40e05afe1":"There is no hidden layer to ask about. Every belief, every permission and every instruction is a line in a file, and the tools you already use answer the question.","text59d3b31b8956":"Linear to Slack","text59da2efb2423":"Ask before every use · pattern rules","text59e7c0aa6df1":"Requests with an image follow the chain above.","text59ea9cd2278c":"Sell the FDE and services engagement alongside the platform.","text59edd3fe9cc5":"Expand preview","text59f03d642b41":"Request","text59f4422556e6":"Nothing on the machine is precious. A bad install, a wrong migration, a wiped directory — the machine goes away and takes it with it. Only what the agent commits survives.","text59f65a8a6575":"Open in Google Slides","text59f765f38854":"What it wants","text5a052671ec75":"Unique identifier field for users","text5a0b692095be":"Simple per-seat pricing. Free includes 200 credits each month for sandbox compute; upgrade when you want the latest AI models and 2,500 pooled credits per seat.","text5a0cac0326d5":"Download Kortix","text5a219a418ec7":"This entry couldn't be read from the archive.","text5a23444828db":"Manage","text5a26f4425c82":"OpenCode session","text5a32374d30b4":"Daily platform activity and credit burn. Every bucket is a UTC day.","text5a37d20f1235":"Channel agent updated","text5a41803b2dd1":"Deny all","text5a4c567b2373":"Users with the \"{value0}\" claim will no longer auto-join \"{value1}\".","text5a4db0bfccdc":"This only affects your local workspace.","text5a517d8378f5":"Could not create key","text5a5735e88fae":"— default","text5a5bc0c4ce6e":"Search Files","text5a673d73be7d":"Dynamic configuration","text5a6d9b697f7a":"It has a shell, a filesystem, the network, and whichever connectors and secrets its agent block grants it. The thread is where you watch. The machine is where the work happens.","text5a7b24722fae":"Clone a full, working Kortix project in one click, or add skills from every source into your own.","text5a7fbd0a11c4":"A report tells you what is wrong. A sales session hands you the rows and the drafted action for each one, waiting for a yes. That difference is the whole product.","text5a9622af8882":"errorBody","text5aa2ff9bc46f":"Kortix Marketplace","text5aa40906d187":"No secrets yet","text5aa5d3ced9d2":"Sessions do not share a working tree. Twenty of them can run against the same repo at once, each on its own branch and its own computer, without stepping on each other.","text5aa63868e87e":"Agent Version","text5aaf2a8498fd":"Add an image or document","text5abe9e1fbc5b":"Can edit","text5acfbdbae44a":"Configuration is files. Who changed which agent, which skill and which policy, and who approved it, is git history you already know how to read.","text5aea242c938d":"Manage claim panel showing the namespace and source attribute","text5af558b0356d":"Queued a session prompt","text5b265f545bde":"The web app","text5b2ba171f55f":"Rule {value0} action","text5b318739f32d":"Review the new launch landing page before I publish","text5b31ffa81ee2":"This account has no billing set up yet, so sessions can’t start. Choose a plan to continue.","text5b3a02e57af9":"policies","text5b3da54ff03f":"Its own machine","text5b467a764b9a":"— or enable a curated one below.","text5b496b6a8f8d":"Your app → Users / Rules","text5b4afe177d99":"Reach Kortix support by email or Discord, read the answers to the questions people ask most, and find the account deletion steps.","text5b4cd52a0cf7":"tunnel-42","text5b4d78bf9475":"Run it on Kortix Cloud, in your own VPC, or fully on-prem. Read the code, fork it, audit it. Nobody rents your company back to you.","text5b50b847365e":"Connecting writes a channel connector into kortix.yaml for you. You never hand-write that entry.","text5b50e7a693fe":"Copy failed","text5b529abadacc":"Refresh preview","text5b58e07ead9f":"Custom role","text5b5a81a901e5":"PDF pages","text5b5e9c65b400":"Purchase","text5b643170d839":"Send the questionnaire, the architecture questions, the deployment constraints. We would rather answer them properly than have you guess from a marketing page.","text5b660045c015":"Add a fallback","text5b6a9e140d4b":"Open source, with support for any AI model. Use Kortix Cloud or run it on your own systems.","text5b707c83333c":"— asks before it runs (approve once, or “allow for session”). For email, files, or secrets, where reading is itself risky. A per-tool rule below can still override a specific action.","text5b870e1262d3":"SAML via an Entra enterprise application","text5b8d75f66840":"It will be able to","text5b8e7ef6883e":"support-agent","text5b9616df2058":"No project access","text5ba18b8f3b74":"Removed member from group","text5ba39e7fa782":"Anyone with one of these links can view the resource without signing in. Revoking takes effect immediately.","text5ba3ac9fc8e8":"SSO","text5bad1b115369":"Run this yourself","text5bae674104b6":"Fetching deals updated ≤ 7d","text5bb9aecca021":"Bot token","text5bbaec596a83":"Build failed","text5bc86d6007cc":"Open the focused item","text5bcf311b19d8":"Test connection","text5bd8a81336da":"Sum of balances","text5bdaf14744e5":"#1 OneLogin gotcha: users seem to sync but nothing lands in Kortix — the actions are stuck in the Provisioning \"pending\" queue because \"Require admin approval\" is still checked. Uncheck it for Create/Update/Delete (or approve the queue).","text5be1c74aa0a7":"Email on run failure","text5be4d558ea11":"triage the support backlog","text5bff23ebef16":"4 actions · 2 are safe to approve together, 2 need a closer look","text5c077e378428":"The flaky test everyone reruns","text5c0cb6434704":"Enter your password to continue.","text5c101a14dc57":"Add them to a group to inherit its access.","text5c15cb7b9051":"Dismissible amber banner — upcoming maintenance","text5c192a3e6f23":"Search workspaces...","text5c1fff90cce6":"Terminal connection failed","text5c2a65ed6842":"08:12","text5c37cf8f018b":"Last 24 hours","text5c39123805ff":"Prompt","text5c3a9739ea8f":"how this company does a specific job","text5c48a6568d59":". Add the credential after saving — you can override this anytime.","text5c48b158361a":"Kortix prepares a machine the first time you start a session here. Nothing needs to be set up in advance.","text5c57f2f66998":"The answer, streamed","text5c58b6d31ba9":"Ready for you to look over.","text5c58cd7963ca":"Copy invite link","text5c5dec8246bd":"The honest alternative →","text5c61792162c9":"Give agents access to outside tools — and reach them from Slack, Teams or email.","text5c63c15261bb":"Per-model overrides","text5c65777abb06":"A laptop","text5c65b1b1e2e6":"| * s_3c1d","text5c6660c5d3f6":"People systems hold the most sensitive data in the company, so the mechanism matters most here. Connect each one once for the project. Credentials never enter the machine.","text5c6c8c0157e2":"Group — stacked list","text5c705d15f3ef":"Run this command in your terminal to get a fresh sign-in link.","text5c768dee3757":"profileUpdateFailed","text5c7dd0d43094":"What it can read, and what it can overwrite.","text5c8b5191bd68":"Couldn't load your projects","text5c991b7cc507":"Hang tight while we sync.","text5c9c6608b47d":"Failed to delete session","text5c9c672f4cd3":"Rule pattern","text5ca4f3850ccc":"version","text5ca55f86beaf":"Loading spend chart","text5cb2baf7db08":"This slug is already in use.","text5cb597e2c71c":"Agents rewrite themselves — and get reviewed for it","text5cb975ae5c6b":"Deploy operator","text5cbce28d7c9f":"admin console","text5cbe8e2cb78f":"Give it the admin. Keep the conversations.","text5cc7f54069fc":"credits coins billing usage tokens cost explain explained","text5cd0ee53ceef":"Runtime the pool covers","text5cf9fe0d7430":"Open install session","text5d0874a862f9":"It reads the ticket, classifies it, finds whether your own documentation already answers it, and drafts the reply with the article linked. The ones it cannot answer get routed with the diagnosis already attached.","text5d08a2b527a6":"I’ve configured the SAML settings","text5d1114578896":"Specs, notes and research land on the session branch and reach main through a change request. An agent cannot merge unless an admin has granted project.cr.merge in kortix.yaml, and widening the grant is itself a reviewed change.","text5d24939e8b83":"1 session  =  1 computer  =  1 branch","text5d28a8e6bc88":"I’ve set the callback URL, audience, and NameID","text5d28a90f4498":"failed","text5d2c13d6f9fa":"seat","text5d401fa67ac9":"Comfortable — up to 3 per row","text5d405d8955db":"Ran the billing suite","text5d42766c7eca":"Proposal","text5d4f8dc198f5":"Balance ≤ {value0}","text5d4ff119f3d4":"Failed to delete: {value0}","text5d561a1e3f17":"Restored","text5d58d41913d9":"ml","text5d59a324b7e5":"Could not enable","text5d5b09f6dcb2":"sha256","text5d641ef13f51":"open a change request","text5d711b33a65a":"Q2 26","text5d8e8e30bc4f":"Create token","text5d8f1a868df2":"Okta app Provisioning tab with the Configure API Integration panel","text5d974f9e80c3":"Export conversation","text5d9940f7d30f":"Copy failed","text5dacfb655b9b":"Assertion Consumer Service URL","text5db4167d9f88":"Grant Kortix agents access to","text5dc3d8d9d728":"Google can take up to 24 hours to fully propagate an access change — a user reporting \"not assigned\" right after you flip this on may just need to wait.","text5dc9f6914b94":"Read the trigger docs","text5de37d9dd94a":"Create a SAML integration","text5de95319f174":"resource","text5df0a8e1f30f":"Connect Teams","text5df59d04d374":"You are not handed a template env file to fill in. The CLI asks the handful of things only you can know, generates every port, URL, password, signing key and Compose default itself, and writes the whole instance to one directory.","text5df7068c77d8":"runsPoint4Body","text5dfe877b22ee":"It all starts with a sentence.","text5e06ae1125b5":"project default","text5e2c07a588ca":"It reads the git history and the sessions of the last day, then writes what it learned into .kortix/memory/ as plain markdown.","text5e2c614c23f0":"Model","text5e2ce6656b32":"\"May the agent send email\" is not a guardrail. Conditions match the arguments, so the rule can be \"only to these addresses\". An argument that cannot be evaluated fails closed.","text5e2e76e79516":"Schedule updated","text5e3de76869f3":"Waking up the workspace…","text5e4efd91b927":"Everything resumed","text5e4f6c67b8fe":"Pipedream credentials for the 3,000+ app catalog — optional, skipped by default — then whether to auto-update nightly.","text5e5eba7f41ab":"Open project","text5e74adcd4bfb":"App → Sign On tab → \"Identity Provider metadata\" link","text5e835fd4ee59":"You configure everything in Cloudflare’s single “Add an application” wizard (the Configuration / Authentication / Policies / Overview tabs only appear when you EDIT the app later). First, paste Kortix’s service-provider values into Cloudflare’s fields.","text5e9542b94bd5":"what it generates for you","text5ea44c3961f1":"lines","text5ea7034e5d4a":"# platform and injected when the machine boots.","text5ea98ae8f81c":"Duplicate accounts, opportunities with a close date in the past, contacts with no owner, deals that have not moved in six weeks. It produces the list with a proposed action per row — not a dashboard telling you the list exists.","text5ead7fa05fdd":"Metadata URL","text5eae34fc9718":"The cron surface","text5eb8fc2f6406":"$ grep -n \"STRIPE_API_KEY\" kortix.yaml","text5ebe32e1b916":"Connector credentials never enter a sandbox","text5ec6ae29f4b6":"Also installs:","text5ec9729027c3":"Turns what users say into what ships.","text5ecbbab0d8d8":"Your wallet is empty, so sessions can’t start. Top up to keep compute and the latest AI models running — {value0} unaffected.","text5ecf97e61ad9":"Copy this code. Then open the auth page and enter it to connect ChatGPT.","text5ed9bd98de1b":"Could not update the project default","text5eeb1e6ce9d5":"⌘P","text5eed558badb4":"A session starts","text5eed7e9fc8f3":"Start over","text5ef5b4754d95":"Try a different status, or clear the search.","text5ef80ac814da":"A hash of the arguments, and a redacted result — never a raw secret.","text5efd0bed7735":"Double-click to edit path","text5efdbc5da7d2":"#ff6762","text5f07277a31fa":"{value0} ({value1}) removed","text5f198db25a77":"All owners","text5f1a6dcd508e":"Custom APIs","text5f2e85f50ed3":"Profile picture updated","text5f2ed72dfcbc":"at minute","text5f303c017ed7":"A laptop, a VPS, or your own VPC — the exact same stack as Kortix cloud.","text5f31515299e5":"Principals","text5f3719d952f7":"219,400","text5f448b8c41a4":"e.g. 50","text5f513e5b2937":"Kortix Use Cases","text5f61b63c2c4a":"Channel bindings","text5f69c8b42ef2":"Large language models","text5f6dc605ac36":"Some entries could not be read","text5f6f23bff165":"Everything paused for this project","text5f7a2a7a529c":"Markdown copied","text5f7ba416b298":"company details, how we handle your data, and the terms that govern Kortix.","text5f7c8d97889a":"Switch to Advanced View","text5f8bebf63736":"Own logo, icon, favicon, and product name for every member.","text5f8d6590fdc6":"Show legacy configuration expanded with profile and group attribute statements","text5fa14d9aa523":"Purchased","text5fa7aac5375c":"Ready","text5fac4e8e1d8f":"Connected privately — only you can use this","text5fae82827f98":"Back to Kortix","text5fb0b5e63db5":"Spent for repository access. It never enters the sandbox.","text5fb3b3c8b69d":"The session clones the repo, so the spec can say what already exists. A draft that knows the serialisation is done and the pagination is not is worth an order of magnitude more than one written from tickets alone.","text5fb6a47e368e":"over","text5fbb9e647dca":"one compose project","text5fc781030fd9":"Kortix Automations","text5fc96c2deb9a":"Select members","text5fceeb638441":"Group detached from project","text5fcf2002eb0b":"No longer sensitive","text5fd0f0afed3f":"Recipient (ACS URL)","text5fe5c81da268":"Connect {value0} for your sessions","text5fe8921b712c":"Told to this agent at the start of every session. Markdown. Leave empty to use the default instructions.","text5fe944615217":"The talk becomes a post, the post becomes the thread, the thread becomes the email. Each one written for its surface rather than the same text pasted four times with the line breaks moved.","text5fe96ad52cf0":"Accounts, groups, mailboxes and calendars — the substrate most joiner-mover-leaver work runs against. Read and write are separate actions with separate answers.","text5ffd7f0c0ff0":"Gmail and Outlook","text60049ed7a3f8":"The pinned session keeps its own sharing settings.","text6007acbe30b2":"Approve","text6007b5baf3f3":"Company as Code","text6007db63e18e":"Person","text600d9a2eb772":"Blocked by browser — update in browser site settings","text60163fad94cf":"{value0, plural, one {Committed # file} other {Committed # files}} — live in the next session.","text6024f479d0dc":"always up","text6026c1d8c92e":"App preview","text602ff50f0ec1":"As easy as a chat app","text604abea32b49":"Contact sales","text604dce445e32":"Services","text6051259b6539":"model: auto","text605359397284":"Repeatable workflows your agent reuses.","text6070217168a4":"Easy — completed with deliverables (W2/W3/W11)","text607a80121c65":"Sign in to continue","text607b97fdc5aa":"Each person connects their own account. Start a session that requires it to be walked through the connection.","text60872f0408fe":"Your IdP hasn’t connected — check provisioning is running there.","text608977655d2d":"This deployment needs a project-specific AgentMail key before it can create an inbox.","text608ed1284584":"Redirecting to GitHub","text609079a06653":"# a trigger runs itself, on a schedule","text60a0d83510ea":"Add condition","text60a7b3de1d65":"Anthropic, OpenAI, Google, Groq, xAI, DeepSeek, Mistral, Bedrock and OpenRouter, or the ChatGPT and Copilot subscription you already hold.","text60acc53f13a5":"Dark","text60b5535b6518":"schedules schedule cron scheduled tasks webhooks webhook http endpoint incoming request triggers timed recurring","text60c3907ec269":"Who it's for","text60c72685917f":"This starts a new chat to edit","text60ca7b35a944":"Resend invite","text60cbc40cdfac":"Attach to a project — every member inherits the role.","text60d3eb13fad7":"Auto-allowing all permission requests for this session","text60de472a143f":"No icon — text starts flush at the left padding.","text60e0fe98face":"Search by account, owner email, or account ID…","text60e3fb7a4521":"Same images as the cloud · One command · Any model, your keys","text60f41540d80e":"SSO · RBAC · groups","text60f718418db9":"Resume Trigger","text60f8288e33f9":"Pair a computer","text60f85e57e4a7":"Delete webhook","text610d2e94bef3":"Kortix AI","text61109c370902":"No search output yet.","text611a1f611c9a":"An agent gets the connectors you list for it and nothing else, and it cannot discover that the others exist. The analysis agent reaching the warehouse and the support agent reaching the helpdesk are separate grants in kortix.yaml.","text611b2a4268f5":"Token usage, cost, and what fills the context window","text61314329b32f":"The one live channel. Policy questions get asked where people already are, and the answer comes back in the thread. Microsoft Teams is shipped but stays off until your deployment turns it on.","text613188648d33":"on the left to preview it.","text6131e3365305":"Upgrade, build, run the suite, read the changelog for the breaking notes, patch the call sites that moved. If the suite goes red it opens the change request anyway, with the failures in the description rather than a green claim.","text61480b6a8129":"opencode attach","text614bf48e0bc8":"A trigger is a block of YAML in the repo. Who added the 3am job, when, and what it was told to say are all in the log — the same as any other change.","text614e0119c0fd":"Pro · $20/mo","text6158d619dcb8":"Identity provider metadata XML","text616584d87e37":"density conversation verbosity compact minimal normal quiet activity thinking text detail steps working burst","text61659f74fe37":"is ready","text616efbe96852":"Codex","text617062906764":"Error:","text6170d1002071":"Kortix API health","text61715eaa9236":"List the recent sessions started from this workspace","text6176eec272e8":"Confirm it's you","text617ef6aeaa0d":"Kortix → User access","text6197595503f0":"delete","text619fdd853ca0":"The saml_subject / Name ID defaults to a GUID — set it to Email Address (format urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress) so the subject matches the email Kortix keys on, belt-and-braces with the email attribute.","text61ad990902e7":"Active sessions","text61affed06dc6":"3 passed","text61b19fcf49fe":"Data & analytics","text61c922500051":", for everyone on it. Kortix does not keep a copy — you will need the key again to put it back.","text61d1181a82c3":"enterpriseAccordionIsolationTitle","text61d30d997d13":"Create profile","text61d439ffe0eb":"# git. The credentials never are.","text61dac62928db":"Scheduled:","text61e8d44ad423":"Get started","text61eedf5451c2":"    timezone: UTC","text61f28ba7b5a4":"kortix_version: 2","text61ff61757ef1":"How access works in this account.","text6201111b83a0":"and","text6201f8d3134e":"Ingested monitor events","text62026a42b239":"Granted","text6206bbb231e0":"anything else","text620de3c1ab89":"add yours","text62132c007f48":"Browse: {value0}","text623b0cedf094":"Detach group","text623d982415d0":"Live today","text6250d5725dda":"Unsaved","text6251a79326de":"A record for the domain and for api.<domain>","text6257cc52416f":"Authorized. You can close this tab and return to where you started. Your agent can use this connection now.","text625e6bf05289":"Failed to load project costs","text6261ccf529dc":"Paste these into your identity provider's SAML configuration.","text6264f3bfdd91":"Clone command","text627668cc4bd1":"Notion and Google Drive","text629ab9b15c95":"Brokered server-side, never in the machine","text629c555fb7f8":"Past due","text62a2fed3d6e0":"pending","text62a54cd1513e":"The question in the help channel","text62a822a58309":"Spacing","text62afcc74654d":"Tu","text62c381e56f37":"Email connected","text62cbe80fb119":"GitHub connected","text62d220bbfcc8":"Skills declared in this project appear here for the agent to pick from.","text62d62774a85e":"Users with this claim value in their SAML token will be added to the chosen IAM group on sign-in.","text62d8edaa922d":"Kortix pricing","text62da6a2b1758":"Add Kortix to Slack","text62dc0f9c686a":"Scope updated for {value0}","text62dd34b5892f":"Nobody would retain access. Promote a super-admin or have at least one member enrol MFA before enabling.","text62ddfb05e17d":"One place your agents run and all of your context connects. Six verbs, one system.","text62e2514edc8d":"Merge conflicts in","text62e404cb7e2b":"Insert failed: {value0}","text62f2ccfffcc5":"Secondary","text62f8e1ec095e":"opencode","text62fa5a5b0d3c":"Path","text6300595b1dfd":"Setup command","text6300be841ac6":"Failed to open terminal","text6300ef800bb8":"Never","text630694bd2dec":"Create a separate connection. You choose the AgentMail address when connecting it.","text6312bece1004":"Sessions last 7 days","text631e79c35ef8":"The machine itself","text6323e1a09e14":"Read the campaign recipient list","text63315dd386b3":"Desktop and phone wallpapers, black and white. Every file is generated by","text63336c8a8e83":"Optional at session start","text6335879539ad":"No account ID","text6336bd6d9945":"Stopped process","text633dcfcb4a68":"project:","text63447e2e0e71":"Product & engineering","text6345deaa83cb":"Talk to us about enterprise","text634768dae147":"row","text634cfb4b6bfd":"Routing is up to date","text6351c5098e1c":"Started a social sign-in","text635261ece1f6":"Browse every saved version of this project","text635ccd16e45c":"One honest limit: the card carries the decision and a link back into Kortix. Reading the actual diff of a change request happens in the web app, where a diff belongs — Slack is not a code review tool and we are not going to pretend it is.","text635d73b7566b":"billed through","text635ea5c1ebb7":"Needs your approval","text636453e23d69":"Each agent is what a person gets access to. Configure what it knows, what it can reach, and when it runs.","text636ad4e91c30":"Test Connection passes with a fresh test email, and the app’s Identity Management shows Activated.","text63803e6b696c":"Build the workforce","text638e249f4a15":"Filter","text638e417f4255":"Turtle Shop","text6397aa583ce4":"Particle Mark — Kortix","text639a40e82b9a":"Connection","text639c4f3db6ec":"and fetched on first open, never from a CDN.","text63a86e996212":"No schema yet.","text63a9ae000680":"Your VPC","text63ac97370591":"SSO, RBAC, audit trails and approval gates","text63b17becd812":"Invited","text63c451b14398":"Failed to detach","text63cb7c2ea609":"Untitled change","text63d1df385f87":"Never issue a refund yourself.","text63d2643b059e":"Variants","text63dceb8800b2":"Phone","text63dfd8608fb2":"{value0} already receives {value1}","text63e1a031759a":"every agent, by default","text63e1d5a5403f":"On the Configuration tab, paste Kortix’s values. Note OneLogin uses several fields for the ACS URL.","text63f14c6ce846":"No members in this group","text63f4c369cbec":"codePoint1Body","text64028cdac85e":"Write access to main; a session can only propose","text6404e0b5d78d":"No agent grant","text640afe0ce78c":"Applied {time}","text640b080e1d85":"Replace the previous value","text640cb1c5ea06":". It starts with","text6416e5f37409":"Self-host anywhere","text641c87998713":"Check the cron expression","text644381187e8b":"Require it","text64477e38cfb5":"GitHub username","text644c438ba508":"Back to archive","text645418722dbb":"Failed to schedule downgrade","text645982c52b7c":"Reset all","text6462590b2306":"Or enable a curated source","text647f2baf6191":"An agent can write as much as it likes on its own branch. Landing that work on main is a separate capability it does not have unless you hand it over deliberately — and handing it over is itself a change someone has to approve.","text648b8b9af1fd":"Failed to sign in","text648e418a5d31":"Test event delivered — your endpoint is reachable and events will stream here.","text6497e4b3d7be":"never","text6497fc6f8400":"Search members","text64a2def4f1e8":"Web, Slack, mobile, CLI and API all start the same session","text64c41c6adfa4":"One project-managed connection the team shares, or a personal authorization where each member acts as themselves and an automated principal cannot act at all. For People systems the second is usually the right answer.","text64ca63c51b02":"kortix — terminal","text64cc97c96c03":"Disconnect anytime with","text64cfa6cc8752":"The shipped default is permissive: an action runs unless you have said otherwise. Reads are usually fine that way. Writes to a warehouse are not, and setting them to Ask is a configuration change you make, not one that was made for you.","text64cff1319d2f":"Action","text64db32d83da9":"Your own connection is removed. Sessions bound to it will stop working.","text64e8222cd578":"Where Kortix lives","text64e855d33cce":"Access request declined","text64f160413fef":"Use the provided SVG/PNG files","text64f405e80a8d":"Follows the project default.","text64f4c4bd39c9":"This is still shared with specific members directly (legacy). Switch it to Project-wide or Private — targeted access now flows through agent assignment.","text64fb165d6a22":"It diffs the documented behaviour against the actual behaviour and corrects the document to match the code, or flags the code as the thing that is wrong. Both are the same commit type here — everything is a file.","text6506d9ea4341":"{value0} is not connected","text650e4f3bbda1":"Session error","text6520b66830b2":"Save budget","text6521d666e911":"Recorded platform boot timeline","text652bcc3a4784":"Item","text652df5cbca5d":"Account research that is actually current","text6533f1aa30ab":"Connect your own account for your private sessions.","text65390ee5e47f":"In the OneLogin admin console: Applications → Applications → \"Add App\" (top-right) → search the catalog for \"SAML Custom Connector (Advanced)\" → select it → set the Display Name to \"Kortix\" → Save.","text653bb42ff0a7":"Expired project group access","text65479e3e408a":"Marks","text654f8c9688a8":"Reads run, writes wait","text65511e543224":"Add one more parameter with Field name \"groups\". In its Value dropdown pick \"User Roles\" (that is the entry that emits the user’s role names — OneLogin’s separate \"Groups\" concept is a different attribute). Tick \"Include in SAML assertion\", AND enable the multi-value flag so every role is sent as its own value.","text65562e698ff8":"How a list or management page is assembled: header, search bar, cards, stagger.","text655a03fa2bea":"Upgrade your plan for a higher limit, or contact the Kortix team to raise it for your account.","text655c32fb8455":"surname","text655d15facaf2":"Every project member can open these sessions.","text6562d4f7e6fb":"The floor role for the account. No implicit project access — they see only the projects they've been added to, directly or via a group.","text6568e46c8eb2":"Illustration. Acme is a placeholder, not a customer.","text656db1b39511":"Start free, connect a tool, and watch the first approval gate stop an agent mid-run. Self-host it if you would rather the whole thing lived in your own environment.","text65716e73a7c3":"Set up SAML SSO first","text65837ce7a4be":"Parse error","text6588df7e32c9":"Select at least one access to approve. A connection with no access cannot do anything, and changing it later needs a new request.","text6590dfdb580e":"One machine per session","text659344748c8e":"Use specific transition properties","text65a59547b132":"Set shared credential","text65a8ec4a4a48":"Failed to load Slack manifest","text65abb6edc2c0":"Admins already have access to every project in this account — nothing to grant here.","text65b671062dba":"Scales effortlessly but adds a new vendor and access pattern.","text65b8fb5119ec":"Good businesses don’t need moats (and why that’s fine)","text65c114ca4304":"Markdown is the floor, not the ceiling: the whole OpenCode surface sits beside it in the same repo — your own TypeScript tools, plugins that hook the runtime, the model and provider config. An agent can pin its own model, or inherit the project, account and platform default in that order.","text65c55e442922":"On-prem, in your VPC, or fully isolated if that is what you need. And because it is open source, you do not have to take our word for any of it —","text65c8f24daa54":"Directory sync over /scim/v2, with tokens you mint and revoke. Built against Okta and Microsoft Entra.","text65ca8fb19ba8":"Assign people and push groups","text65d23c2e3efe":"H1 plan","text65da77724d4b":"Leave empty to keep “Kortix”. Up to","text65e31e8628a9":"{value0}{value1} deleted","text6600bcecc950":"Silk","text660767d8bb70":"The evidence, gathered — so the decision is yours to make.","text66189757845d":"Install the Kortix app into your Teams tenant, then bind this project to that tenant.","text661ff40a07e0":"Queued","text6621249514b7":"Welcome back","text663742f42a78":"Budget removed","text663ea1bfffe5":"to","text663fde033460":"unknown id","text6641e2ca3556":"Failed to debit credits","text6643779e9647":"Thousands in parallel","text664528a0a7ad":"Group values arrive exactly as your IdP emits them (names or IDs) — create Kortix mappings from what actually arrives.","text664de33d29c2":"Sources the pipeline, not just the inbox.","text6658eaceba2a":"Failed to create file: {value0}","text665c0285727d":"total)","text6662205070c7":"A mistake in marketing is public and permanent. So the defaults below are stated precisely, not reassuringly.","text6687458beee5":"Applies to","text66880d2d8216":"Authentication","text66896d91724d":"Checked the sandbox CLI","text668cedb7be4b":"What a RUNNING agent itself is allowed to touch is a different question — that comes from the project's","text669350bd2952":"No second factor enrolled","text66962f72a088":"Preferences","text669a52e9230b":"No members yet","text66a0a2db8117":"The one live channel. A mention in a thread starts a session and the answer comes back into the same thread. Microsoft Teams is shipped but stays off until your deployment turns it on.","text66a87e22056f":"Yours down to the metal","text66caa493b364":"Failed to connect the GitHub App","text66d0f523a379":"Skills","text66d1a4edbd90":"A gate that errors out teaches an agent to route around it. A Kortix gate holds the call open, so you answer while the session is still mid-task and it resumes from exactly where it stopped.","text66d6798adfa9":"Failed to move: {value0}","text66dee8fd0152":"2 vCPU / 4 GB floor, 4 vCPU / 16 GB for real use","text66e36043ff7c":"No skills declared in this project yet.","text66e4abf0a3a3":"Redirecting to Google authentication","text66e6ac60ab94":"Your four new platform hires","text66ebce029c63":"Only internal PingOne groups can be pushed; membership scope follows the rule’s User Filter and Populations.","text66ef05aaa906":"An action set to Block is unavailable, and no approval prompt can lift it while a session is running. Voiding a payment stays off the table by configuration rather than by good judgement under time pressure.","text66f4804ee23d":"Archive","text670a8166c825":"Reloading config","text67120e3ae305":"# analyst","text6715b014ffd2":"Invalid authorization request","text6718dff3a548":"Mint a token & connect Identity Management","text6725e7bbcd28":"System","texte7a8aa2df7e5":"Anonymous","text672a76cd238a":"Allowed — won't ask again for anything this session","text672f1efd8b87":"Provider:","text673760b857d0":"View available surfaces.","text67382c89fdde":"Change closed","text6739e3688fbe":"· At risk: Initech, Umbrella — no activity in 14 days","text673a8d7538da":"Add exponential backoff, cap it at five attempts, and skip the retry entirely for 4xx responses — those will never succeed. Worth logging the attempt count too.","text673d6a594efa":"Edit message and rewind session","text6744f8cb9594":"The instruction sent to the agent each time this runs.","text67467eb27011":"Add group mapping","text674db38d5123":"Awaiting Review","text674fe2acd0d5":"Full screen","text6759c496ac63":"SCIM token created","text675b65bbabf7":"codePoint3Title","text67735374cc20":"When an agent needs a decision, an approval, or eyes on something it finished, it shows up here.","text677e3e9ff173":"Facts ({value0})","text678094dc2f3f":"Direct surfaces","text6797c48c0113":"Read, write, list, and delete local files","text67a0d2e0dab4":"Open source","text67a17137d0e8":"Service provider details step with ACS URL and Entity ID fields","text67a35d788f4d":"Sign On → Legacy configuration","text67ae3405bcd4":"Seek","text67b696468610":"Dashboard","text67b8b00d7d81":"security@kortix.com","text67bfa4f1ed65":"The first draft of the spec","text67ccb61d5f27":"Authorization owner set to {value0}","text67d167f67922":"It pulls what ran and what happened, writes the honest version including the parts that did not work, and drafts what it would change. Attribution stays a judgement call — it presents the numbers, it does not decide what caused them.","text67dc3e95dbdc":"Pulled 12 months of usage from HubSpot and Stripe. Renewal drafted at $108,960 for year one. Attached the proposal and the workbook — say the word and I’ll send it.","text67dc5bf338cd":"Giving agents real access","text67dc9c4395f1":"Kortix stores the application configuration, rotates refresh tokens, and revokes the connection when you disconnect it.","text67f10b9f6d71":"Finalized LLM requests and billed compute windows.","text67f2187d81d7":"Every section is hidden. Re-enable one from Show in the view menu.","text67f332ec4359":"audit log logs events history trail compliance","text67fc62497e85":"Sandbox","text680d59689583":"Certificate SHA-256 thumbprint","text681d1d8cf3d9":"Kortix Channels","text68269b6f8874":"Secrets command","text682be64ae780":"Enable notifications","text683259feabbf":"trigger","text68332bc84407":"On the SSO tab, paste Kortix’s ACS URL and Entity ID into the two SP fields.","text68344d566701":"Accordion","text68382ef84e6c":"Set up Slack","text6857b7f48602":"Open your application","text68631de30841":"The file is wiped on shutdown and the machine is destroyed with it.","text686d4d5d8ecd":"Connection name","text68817a89d628":"members are","text68833818d608":"text-muted-foreground/35 select-none","text688e27c94de1":"No provider matches \"{value0}\"","text688ed737c588":"Starting services","text689997c79ba6":"Project config","text68af88a17bcb":"Add one: write","text68b2bcf14728":"Provisioned SCIM group","text68b444f414fa":"Database saved","text68b8f8d47a7a":"Couldn't load this account.","text68bb1b4dfcb0":"In sales, a mistake is customer-visible. So the defaults below are stated precisely, not reassuringly.","text68be2a33c6e0":"Policy questions, answered from your handbook","text68c114ea9c8c":"External","text68c780cd132a":"answered","text68c93b1922a4":"When you finish the \"Add an application\" form, Cloudflare shows the app’s SSO endpoint, Access Entity ID, and public key. Copy the \"SSO endpoint\" value and append /saml-metadata to it — that URL serves the metadata XML. Paste the full URL below to continue.","text68cbe6ae66c8":"No experimental features","text68cde35131cf":"New sessions in this project start with this model","text68d369fd24f2":"The name and description are how people find this group. Neither changes what it grants.","text68d66e06fd0f":"Could not update session access","text68d8e728a8ad":"Back to accounts","text68e0a89a0e91":"connectors: [slack, hubspot, gmail]","text68e8259bdf2a":"We could not open your project","text68f30cf070a1":"- Draft, fact-check, add internal links","text68f7fed7fd4d":"#acme-launch","text68f904811e19":"PingOne sends group NAMES when you map a \"groups\" attribute to \"Group Names\" — groups are OFF by default, add the mapping explicitly.","text68fbe3d94a5c":"Go-to-market","text69020faeaf20":"Inline (never scaled) — the reference","text690dbe9dc099":"Recent","text690ee10ca19e":"On the next screen, click Install to Workspace and approve.","text6926cad8145a":"Failed to update {value0}","text692782334677":"Your company needs two kinds of capital: human and token","text692fef338a3d":"SCIM token revoked","text69318b0c6a92":"Joined","text69396637a410":"Invited project member","text693974c65ab6":"Built 0 to 1 and 1 to n at a startup.","text693dd5a55830":"branch/9f4c","text6940d5a739fd":"Group claim is prefilled with memberOf — it must match the claim name your IdP emits, or group sync silently finds nothing.","text6946efe81c08":"Change request","text69585fb8aa14":"Parallelism","text6959b4159575":"Session","text6960ac83d152":"Use the agent's usual model","text6960b02be25f":"Ran a software, automation or delivery agency at owner level.","text696c6794e048":"Can your code read this value?","text696f36645979":"An approval stops the run. It does not fail it.","text6970a1ced73d":"Loading projects…","text697668368ee0":"This group is already attached to every project you can manage.","text6984a3c945fa":"OAuth 2.0 connection saved","text698ea902f038":"Agent Computer","text69b51517d04b":"Dialog","text69b668998c22":"Every change has a diff","text69be7710c0fb":"When the agent wants something to survive the machine, it commits and opens a change request pointed at main. That is the only door.","text69c063f8947f":"Illustration. The branch name is the session id, because that is what a session branch is.","text69cc67e9008d":"Scheduled sessions — launch note draft","text69cea0daa681":"Load more OAuth apps","text69d6a27a1b6d":"Create a connector connection. The display name and slug identify this connection in project configuration.","text69e03750027e":"principal","text69e36568cd8b":"channel","text69e4bd3a0f79":"Preparing this project’s environment","text69ea5dbbb997":"A newer agent config is available. Reloading restarts the agent runtime and leaves every project file and commit unchanged.","text69f1c713cb98":"- skills: support/triage","text69fcb4fde341":"kortix login","text69fe3e7c4d5a":"Try again in a moment.","text6a00736dae3c":"Approved, rejected and finished items land here.","text6a034c1a3651":"Or bring any MCP, OpenAPI, GraphQL or HTTP endpoint — same interface","text6a05ddf8cca1":"Agents granted this connector cannot call it until a project admin authorizes a connection.","text6a16ef7af323":"Brand accent color for the new dashboard","text6a1c727bfe1b":"Updated audit webhook","text6a1d566e085f":"Three answers to “who may start a session here”","text6a212e980319":"The pages differ because the work differs. What sits under all of them is identical, and it is worth reading once rather than eight times.","text6a40c950b215":"deploy-bot","text6a40edf1fc87":"WhatsApp","text6a47708f4e14":"Review changes","text6a49860e54af":"Created service account","text6a4c0b695fe4":"Failed to create portal session. Please try again.","text6a5058ba5252":"＋ New project","text6a50fe407b62":"Nobody has access yet","text6a51f9d2f64a":"It fires on an event","text6a58a51e04bf":"Type these as /kortix <command> in Slack, or as plain text in a direct message. Most of what you would otherwise open the dashboard for is one line in the channel.","text6a65480c06db":"per teammate, compute included","text6a6bd0ffd373":"Any model, your own keys","text6a876a597b69":"Run the weekly finance report and email the team…","text6a8a032c360c":"cloud computer booted · branch cut · agent running","text6a9084025c4b":"Open folder","text6a9894204cc7":"Never expires","text6a9dc1a2ccf5":"Could not create public link","text6aa179c11c63":"disabled dims the card and drops the stretched overlay entirely, so it cannot be clicked, tabbed to, or activated by keyboard.","text6aa97851d1ce":"Drafts, not sends · every action logged · your CRM, your rules","text6aaa89b8157c":"Copy a link","text6aac94f7019a":"Sandbox growth, 4 of 4 weeks","text6ab434071682":"A terminal running the Kortix CLI: curl installs it, kortix projects use picks a project, kortix connectors show lists the actions an agent can call, and kortix sessions new starts a session on a cloud computer","text6aba13718ff4":"    # it may open a change request. Nothing else.","text6abe782495a0":"Manage claim","text6ac15e9ca232":"Guardrails written into an agent’s instructions are advice. These four sit in the platform underneath it, so they hold whatever the model decides to try.","text6ac8fd822515":"Private key JWT","text6acbef3d00c7":"Create a connector for this app. The name and slug identify it in sessions and project configuration.","text6ada30b23e0e":"stripe.delete_customer","text6adbb84fd784":"Claude Cowork is the best agent on the desktop. But it runs one assistant per person, on Anthropic's models, with your data on their cloud. Here's where you outgrow it — and what an open, company-wide agent platform looks like.","text6ae9b5084741":"≈ {value0} credits (${value1}) per hour","text6af04bb05dd8":"Maintenance notifications cleared","text6af67c48af69":"Session access updated","text6afba7b18fff":"Your app → Assignments / Push Groups","text6b02e0d363a4":"Added","text6b0890227f8f":"Single \"Thinking\" label — live session default.","text6b0bbffdbd6e":"{value0} saved","text6b0c1fdc7e87":"The product job turns into an inbox. Four hundred tickets, three channels, a tracker nobody has groomed since April, and the feeling that the thing you are about to prioritise was already asked for.","text6b0cc904d081":"Users","text6b11523da566":"Search workbook","text6b1d152247c7":"Balance — low","text6b1dfd74a8f5":"What comes back is the work, not a transcript.","text6b234ac2b5d2":"An account with this email already exists. Try signing in instead.","text6b23ec7fdf98":"Your sandbox provider and its key","text6b37bd35081f":"Refund","text6b40213b7726":"waiting for IdP","text6b4d673c26ae":"Failed to connect the token","text6b51d431df5d":"12","text6b5cb4175706":"End to end","text6b6147e8d251":"Anthropic-compatible","text6b847a0ed0b2":"into","text6b84bc014a9f":"<div className=\"transition-colors duration-moderate hover:bg-accent\">","text6b983a81e5e8":"Restart","text6b9b64ea5f64":"- Publish and watch the ranking","text6ba0bdeccb42":"Device","text6badb4f8582d":"Marketing review usually means pasting a document into a comment thread and losing track of which version won. Here every draft is a commit, so review is a diff and the history is real.","text6bae6cd973f1":"Store encrypted values and control where each value can be used.","text6bb4a59f0f9e":"Computer connection","text6bb4c1177681":"Slide","text6bc831a3c619":"Add custom SAML app → App details","text6bcb11c1c5d8":"Enterprise & security","text6be36ca49ee8":"Missing","text6beaaf9b6704":"Pre-configured","text6bf74b3f6d7a":"{value0} · who can access this session","text6bf8684cc2aa":"Runs on its own","text6bf9ada8447c":"Project-wide — every member of this project can use this provider.","text6bfa319e3d20":"Remove from account","text6c03b504d991":"Session view options","text6c07047e9e83":"Could not load this workspace's repository","text6c25e8267039":"The one agent your team asks. It routes the ask to","text6c2f9c83d177":"High-quality video and motion.","text6c47b175b49c":"Disconnect GitHub","text6c47e72cde49":"In JumpCloud a user can only reach an SSO app if a user GROUP they belong to is bound on the app’s \"User Groups\" tab — there is no per-user assignment. Bind a group before testing, or the sign-in is rejected as \"not assigned\".","text6c4db128146d":"Create a SAML 2.0 application in your identity provider and give it these service-provider values.","text6c5b75e51441":"Enhancing","text6c612fd35781":"1 app matches","text6c627fe8f6cf":"A machine you already run","text6c6874dfe7ec":"Per person","text6c779d9f41fa":"Channel model updated","text6c848b936d1d":"Hide cron expression","text6c8a12831e1d":"Brand & content","text6c94c3a6a6fa":"It is the same Compose project everywhere. What changes is where you point the domain and how much you give it.","text6cad1856bada":"Self-host free","text6caf3e311a76":"and the rest of your repo","text6cc00d310273":"Where it runs","text6cd606384bc7":"Loading connector…","text6cdddb492762":"Preparing reload","text6cde19038699":"· Renewal drafted for Northwind — waiting on sign-off","text6ce403f96404":"Who can read and write this workspace’s repository.","text6cf5816a3fba":"Display names and assigning groups to the app require Entra ID P1/P2 (check yours: Entra admin center → Overview → the License row). On the Free tier pick \"Security groups\" + \"Group ID\" instead — groups arrive as Object IDs (GUIDs; copy a group's Object ID from Entra ID → Groups) and you map those GUIDs in Kortix. EITHER WAY, you must still rename the claim to memberOf under \"Advanced options\" → \"Customize the name of the group claim\" — skipping the rename is the #1 cause of groups silently not syncing.","text6cf5b0c4454f":"Create SAML Integration → General Settings","text6d0123a90793":"more characters — copy for the full output","text6d0137714cf5":"Failed to update SSO enforcement","text6d01fe924b3c":"Work reaches main through a change request. An agent cannot merge unless an admin has granted project.cr.merge in kortix.yaml — a text grant in a versioned file, so widening it is itself a reviewed change rather than a setting that quietly moved.","text6d06116595a9":"Sampling and limits","text6d2127dfe60e":"Feedback synthesis that survives a challenge","text6d291878fb81":"Task done","text6d2d6f5347aa":"Offboard someone everywhere by removing one membership","text6d2e0837a1f5":"Draft · Ask set on send","text6d2e757d8700":"No messages matching \"{value0}\"","text6d41a5fa628c":"Set reasoning effort","text6d43eea1425f":"Remove override","text6d47a6d00578":"Your app → SSO","text6d4a85a3ebc1":"notFoundBody","text6d5239dc4fe6":"Everything with an API and no catalogue entry","text6d612a86bee4":"Android","text6d6fb78e4419":"Every change — human or agent — is a commit you can diff and revert","text6d741b0de539":"IT work fits this well. It is procedural, it is already written down somewhere, and nobody notices it was skipped until an audit or an incident.","text6d7720b8e987":"    # one session per conversation, not one per message","text6d84fd8ae086":"# The machine a session boots on.","text6d8788a320dc":"Override for one command instead of switching: pass --host selfhost.","text6d97796afbde":"northwind — main","text6d9a6f97a5fd":"Succeeded","text6da390b94eb6":"Check \"Use this for Recipient URL and Destination URL\". Set \"Name ID format\" to EmailAddress and \"Application username\" to Email — Kortix matches accounts by email.","text6db974c8b732":"{value0} behaves as {value1} for {value2} days.","text6dc4500d8999":"The mainstream helpdesk products are in the Easy connect catalogue behind their own OAuth screens. Read the queue, draft the reply, and update the ticket where you have allowed it to.","text6dcee355767d":"ACS (Consumer) URL Validator","text6dd06b2529d4":"Create a custom role","text6dead34f47ed":"Listed project access","text6defafa2caa6":"Configure","text6df1bb18a59a":"Skill","text6df4611282ac":"Every lab will have an AGI platform. Ours is the one you own.","text6e01738cffed":"History you can prove","text6e0267412c1a":"Account created","text6e0317352d63":"New SCIM token","text6e0a56ef53d8":"groups teams directory scim membership sets","text6e2097e246af":"Any error","text6e293a8c009e":"Waiting","text6e2ebdab3c02":"Oldest first","text6e3032b6895f":"Notification types","text6e3a9a94ccd7":"Kortix Enterprise","text6e3e333d775c":"Prompts, models, tools, plugins and permissions. An agent is a stock OpenCode agent — markdown at baseline, and past that the tools, plugins and model config sitting beside it in the same repo. Read the directory and you know exactly what that agent will do.","text6e3fcca472c5":"Bring your own Slack app","text6e4987bfe9c3":"Sign in to install this automation","text6e4b1d4137f6":"Your repo, tools, dependencies","text6e51f320662f":"No sessions matching \"{value0}\"","text6e5a03445559":"Kortix did not create this repository, so it cannot add collaborators to it. Manage access from the repository settings on GitHub.","text6e60f9c42ef8":"Open Files","text6e68758082bc":"kortix.yaml — triggers","text6e795d4d3cc2":"Period","text6e7d50e84f47":"Result","text6e81eb627df1":": off","text6e8c98a8560e":"Input Needed","text6e96364f437a":"iteration /","text6e9715f4f2a9":"Failed to disconnect GitHub","text6e9f041725ac":"continuing","text6eaf9486edc9":"An SLA, a DPA, and support come with the Enterprise plan.","text6eb409757605":"Viewed billing summary","text6eb71babbac4":"The third-party API sees a normal authenticated request. The response comes back to the agent. The credential stays behind.","text6ec62587abb7":"SCIM-provisioned group","text6ec66e4cf9c5":"Wide brandmark — the header and loading screens. SVG or PNG, up to 1 MB.","text6ecc3df6bffd":"Move","text6ecf05a928e8":"People with access","text6ee2cc105a67":"px","text6ee818aa2de3":"View source","text6ef671b81187":"Approved · {value0}","text6effe77ed662":"Running tests","text6f1de8b7c3e5":"Decision recorded","text6f1ff5bd1a8e":"On a host with the shared Slack app configured, kortix channels connect prints an install link and you are three clicks from done. On a deployment with no shared app, the same command falls back to manual mode by itself and hands you an app manifest to paste.","text6f202f54a7b2":"List","text6f24f840d748":"e.g. acme-inc","text6f2a09157622":"Dark Theme","text6f301991f6d7":"Connectors → Add app → Easy connect. Real screen, real project.","text6f305c4b1874":"Sounds","text6f3297022a6b":"Conway's Game of Life, seeded from the Kortix logo.","text6f37eb69ebc8":"agent.md","text6f3df2a408a8":"2. If the difference matches a refund already on","text6f3f7befce1e":"— up to","text6f4639c90fa3":"Sign in to pick a project and open the install chat — we'll bring you right back here.","text6f486b482ccd":"PingOne → Integrations → Provisioning → Rules","text6f4b602bb529":"Weekdays","text6f4b6612125f":"21","text6f50fb1f4f46":"Put this App to sleep","text6f51d7ca1b48":"New project repositories are created under this account by the GitHub App.","text6f79cf5c144a":"For developers","text6f88f20331ca":"onboarding/SKILL.md","text6f9d6876e511":"No plan","text6f9f03f95e78":"X-API-Key","text6fa3cbf451b2":"Sessions","text6fb2caa0ee1c":"Change Agent","text6fb40527cfc3":"Kortix mobile app","text6fc62e5b11d6":"Run the guided setup — it mints the bearer token and walks your IdP's provisioning config step by step.","text6fdcee27400f":"files repository drive browser explorer","text6ff3502ac059":"Could not update the model","text6ff3bff5952a":"needs permission for:","text6ffb34d0baed":"git push origin HEAD","text700e7474f9a9":"Referral link not available","text702391f5d071":"This creates a personal access token. Revoke it anytime in","text702ef921ed1d":"First name","text7031306d3dd8":"This model's provider isn't connected for this project — requests routed here fail over immediately","text7031edbcf9c4":"Failure","text703390318bd5":"Beta","text7033ce3d1e7a":"Email connection","text7039b3d4be40":"Viewed session turn state","text703a3d810fc0":"Migrate the blog to MDX","text703f49b261e2":"Kortix path from a search result.","text7040ecc689ea":"This preview can’t run commands from the browser.","text704aed35a6fe":"Secret copied","text704e738861ba":"Remove project","text704e75860aa0":"Pos","text7053053ce5eb":"project_open","text705364916412":"Ask for changes","text70541b9b587b":"· Enterprise entitlements active","text7055405b8f29":"The same numbers the charts below encode as colour, as text.","text705783dff0c3":"Your accounting and banking systems","text70589413a3c9":"Base URL","text705edc563dcc":"Add these into a project you already have.","text7067d94fd86f":"The machine is not precious. A bad install or a wiped directory goes away with it. Only what the session commits survives.","text7074515e8fda":"A service account is an identity of its own — it acts with the permissions you grant it, and it keeps working after the person who made it leaves.","text707ce92abf27":"The pre-read for the review","text707eab0c23ec":"Button","text708bb99739ea":"One platform","text70929371c10c":"Primitives","text70bb18e2a653":"Calendars, invitations and the mail thread with the candidate. Reading a calendar, booking on it and sending as you are separate actions with separate answers.","text70bbefde2428":"I’ve assigned people and pushed groups","text70c577ce4471":"Listed audit webhook deliveries","text70db34eb02c8":"Your own APIs, in the same shape","text70ddc8217e8b":"Delete app","text70e72dfa3c17":"session 36cd42b7","text70e7dfb50669":"Set when the connector was created. Remove and re-add the connector to change it — switching now would orphan the connections and permission rules already stored under the current owner.","text70e874a5defd":"The UI is a reference, not a requirement. Anything you can do in a menu, you can do with a message.","text70e8adbbc0b2":"Scanning commits since Monday…","text70ea1983c983":"Core","text70fc45d94c74":"The sandbox holds a handle. Kortix substitutes the real value only on requests to the approved hosts.","text7102842054a4":"Desktop app","text710942f28a0a":"Waking the agent","text710afdcc45d8":"Your logo, icon, favicon, and product name for everyone in this account.","text710e0dbdd422":"Bearer","text7110008d300a":"In the left navigation menu, select \"Users and groups\". Only assigned users can sign in through this application.","text7114f5d2fafa":"Copy the workspace to your computer","text7117f0807129":"Edited","text711cf5ef692d":"Directory Sync provisions accounts, but without SSO those users have no way to sign in. Connect the SAML SSO card above before you configure your IdP here.","text7123e636dd02":"The shipped default is permissive: actions run unless you say otherwise. Set Ask on the ones that should pause and Block on the ones that should never happen, per action or with one pattern rule. We would rather tell you the default than let you assume the safer one.","text712dc14ed8bb":"Build the content baseline, and the system that keeps producing it.","text713166971d73":"Command","text7140f4f19dec":"Verification","text7144535c8be1":"Kortix dashboard","text7147a36979c2":"Note (why, who asked, deal context)","text7149fd6e7d6a":"# from here it is just a repo","text714db3dbb0b7":"Top-p","text714de9c47e62":"An agent rewriting its own instructions arrives the same way a database migration does: a branch, a commit, a diff, a reviewer. The company has one review process, not two.","text71655137ac4e":"Filter sessions by owner","text716f892aa1ad":"center bottom","text717927e1dd40":"selected is persistent state on top of the transient hover: a filled background plus a title that weight-animates normal → semibold. Neighbours drop the hairline that would cut across the fill. Click a row.","text7179ea0035fc":"Clear filters","text717c4a937fe5":"Push Groups","text717ef1d1505c":"Parity","text7188838c37b5":"Currently","text7190acb3b105":"Open change requests","text71971aadbf54":"The manifest names secrets and grants them per agent. The values are encrypted in the platform, injected into the machine at runtime, and never written to the repo or the logs.","text719c3c6a2b2f":"GB disk","text71b53d04ac61":"Zero Trust → Access → Applications → Add an application","text71bf03ad1f6b":"Select a branch","text71c0873a1cc2":"Which secrets reach this session. The default is the agent’s grant — everything its kortix.yaml allows — and narrowing it here only ever takes access away.","text71e68e9c4045":"Quality gates built in","text71ea14bcd4ab":"Could not reset routing","text71f30b5dbccf":"SAML via a PingOne application","text720878394def":"Updated IAM policy","text721353f1b4eb":"Redirect URIs","text721d4177c1ee":"OneLogin sends the user’s Role names on the \"groups\" parameter — map those names in Kortix. The parameter MUST be flagged multi-value, or OneLogin collapses every role into one string.","text722467f3efa2":"Cloudflare Zero Trust → Settings → Authentication → Login methods","text7225a08be0c6":"data plane","text72298eb4f45a":"Finish setting up billing","text722b64806bda":"Product feedback never lives in one system, which is the whole problem. Connect each source once for the project. Credentials are resolved on our side, never in the machine.","text72320149c3c2":"Copy these credentials now","text724e78a3254c":"Copy Link","text7251cfc3ceab":"Private key PEM","text7259d430ed27":"A model on its own","text72638faf0722":"prospecting/SKILL.md","text72662e145fd4":"Generating {value0}… this can take a moment for large decks","text726c8715bf2e":"A user is provisioned only once this SCIM app is assigned to them; group membership is pushed with a Rule.","text726ca2677b52":"SCIM connector base URL","text726d0a8ba362":"easy advanced simple panel session detail mode view","text7277eaf46f84":"IAM only","text728004c3b617":"Token Key","text728545349685":"The member/group counts below tick up as JumpCloud pushes the bound groups and their members.","text7285576bdacf":"Include","text72934bcb9486":"Failed to load capabilities","text72956055d6ff":"Two hires started in month 3","text729bb48d0f86":"Engineering","text72a85d21512f":"Bring your own API key or connect ChatGPT. You pay your model provider directly and keep Kortix credits for Agent Computer runtime.","text72af875c4c3d":"Every layer above brought together in one platform your team owns, deploys and scales end to end — from the model to the finished work. That’s Kortix.","text72b1166237fb":"Within 3 business days","text72b420082a37":"No sandboxes match your search","text72b98e0855c1":"Work the agent means to keep is committed on the session branch and reaches main through a change request. An agent cannot merge unless an admin has granted project.cr.merge in kortix.yaml — and widening that grant is itself a reviewed change.","text72b9fdd468dd":"+7","text72c9ce898bf3":"This link is not valid","text72cbbeda15fa":"Security & Governance","text72d9ee78a15c":"Create inbox","text72db205c0097":"SSO provider updated","text72e3213c16d7":"Rebind this channel to a different project, or unbind it","text72e7cc4c4f1c":"API Type","text72e8173b2408":"What is Kortix","text72eb3689cab9":"Search accounts...","text72eed84ff65c":"agents:","text72f493e2adcc":"Couldn't load these tokens","text72f493ee94fe":"Agent updated","text7301076e877e":"Kortix supports SCIM 2.0 Users + Groups, PATCH, and `attribute eq \"value\"` filters. Bulk operations are not supported.","text73053f6025aa":"replied · 6 min","text730c9f9f651f":"Previous action","text73149a51d652":"llm providers models anthropic openai openrouter google groq xai","text733fee9d77dd":"Could not start enrollment","text7349bf598027":"runsPoint1Title","text7349c7d2f496":"Compute rate multiplier","text7353f52649fe":"seo/SKILL.md","text7359f799508b":"Install, start, and inspect CUA Driver","text73689fa80dc8":"branch/9f4c2b7e","text73741827862b":"Average duration of each provisioning phase, in execution order, for successful provisions.","text737f67f9918f":"Expand message","text738211823996":"Transcript copied to clipboard","text738439725624":"One is live. Three are behind a switch. We will say which.","text7387eb9a3a98":"Recording is never the thing you pay for.","text738897ff75c4":"linear-gradient(180deg, #F7D6FF 0%, #005686 100%), linear-gradient(180deg, #FFFFFF 0%, #060046 100%), linear-gradient(130deg, #00FFA3 0%, #1A003C 100%), linear-gradient(307deg, #FF0000 0%, #3300C6 100%), radial-gradient(50% 72% at 50% 50%, #004584 0%, #00FFB2 100%), radial-gradient(100% 140% at 100% 0%, #5ED500 0%, #2200AA 100%)","text7390830dc0eb":"This page is opened from a Kortix message in Teams. Start the login from Teams to get a fresh link.","text73912999faf4":"Prev","text7396996a6c8f":"CardMedia takes an icon — drawn in a tinted 32×32 tile — or a brand logo. A [logoA, logoB] tuple renders a connected pair for a trigger → target relationship.","text7396f100afdf":"Custom ID","text739dadd6f1f5":"The wallpapers you can set on a Kortix home. Five of the six are live shader compositions, so each one is rendered at full size in a browser and captured as a still. Desktop is 5120×2880 and downsamples cleanly to 4K and 1440p; the phone file is its own portrait render, not a crop.","text73a2f5159338":"support is limited and experimental; convert to DOCX for best fidelity.","text73a37f05730d":"A prompt renders {{ token.dotted.path }} against the payload that fired it. A webhook fire gets {{ body.* }} and the request headers; a cron fire gets {{ cron.schedule }}, {{ cron.timezone }} and {{ cron.scheduled_for }}. A value that is not there renders as nothing — no error, no leftover braces in the message your agent reads.","text73a3f2fca157":"Failed to load audit events","text73a6fc7836b8":"Does not","text73a7da68c3bf":"Continue on Free","text73b407259d54":"Removes the Slack connection from this project.","text73b95849f271":"The agent's usual model","text73bcfe98830b":"Notion","text73c829ffdd54":"Where specs, research and the last six months of decisions live. It reads them as prior art so a new draft does not re-litigate something settled in March.","text73cb3b547170":".kortix/opencode/agents/memory-reflector.md","text73d66adbfd39":"Loading change requests…","text73eeb5083986":"Propose changes","text73f4310d915a":"48:    secrets: [STRIPE_API_KEY]","text740062676a31":"shipping","text74009e6664f5":"Grant mode","text74014555a26d":"Assignments tab → \"Assign\" → \"Assign to People\" (or \"Assign to Groups\") → pick who should be provisioned → \"Done\".","text7403602d273c":"Claimed warm session sandbox","text740493750bb7":"Lowercase, no spaces.","text74156382383b":"Team members","text741f24c3028a":"ACS (Consumer) URL","text741f8fc72c03":"Cloudflare Zero Trust Access Applications page with Add an application","text74234e98afe7":"null","text7423c5dad8fc":"Click \"Add user/group\", click \"None Selected\" under Users and groups, select the users or groups that should sign in to Kortix, click \"Select\", then click \"Assign\".","text742ae8324623":"Flagged refund policy Q2 — resolved.","text74304805dca9":"The claim audit across your own site","text7433280153b9":"No accounts matching \"{value0}\"","text74388bcaa9c6":"- ICP and segments","text743f60d09cb7":"Has built agents, and lives on coding agents — opencode, Codex, Claude Code, Pi, whichever you reach for.","text74414cb4f277":"Paste or generate a key","text744b88e04bcc":"Three ways work runs","text7458d4f300eb":"Reconfigure","text745cdf07045d":"Copy the new secret now","text7469c60783db":"Out of capacity in region. Please try again or select a different server type.","text746c37cf5aba":"include group attribute","text746fb2776102":"Revocation is a write, and writes are where you set a gate. The default configuration for a review session should be read-everything, change-nothing, and propose.","text7477f5a7b656":"Reason / note","text74783b066cae":"In Slack:","text747e9e0e8e92":"Getting a session ready","text7482f09d1b13":"Always points at the newest version of this model","text7484ed6d3897":"The in-depth platform walkthrough — the full Kortix surface, from projects and sessions to connectors, channels and change requests.","text749f923c962d":"What {value0} can do — checked capabilities are granted, everything else is deactivated for anyone assigned it.","text74a1a0f65906":"Inherited route","text74a3978d1004":"Sizes","text74a883a037bc":"Settings","text74ad536dca05":"delete_*","text74b6abdf5969":"Needs you","text74bc11743543":"Detach","text74be9df9fd88":"Connect SAML SSO first","text74c8cd7e9f4a":"Account · Usage","text74c8ee02d2f0":"terminal shell console pty session","text74ccd4330384":"Folder","text74d125ba84d7":"Create required connections","text74d1bd3b3726":"ACS / Reply / Single sign-on URL → the Reply URL (ACS) below.","text74d1f5c328ca":"Opening a change request and merging it are different powers.","text74d751461c37":"Export your IdP’s SAML metadata — paste its metadata URL, or switch to Manual and paste the raw XML. It carries into the connect step automatically.","text74e21680eac7":"approve","text74e492d5d0df":"Before you start","text74eb6d987ed6":"Condition {value0} — field","text74fc2cf3bb54":"Back to all connectors","text75081b593d15":"Disabled","text7511080b05b9":"Provider ID","text75110f412649":"The signature has to cover the request body exactly as it is sent, byte for byte.","text751b691af4b0":"Kortix Agent Computer","text752762fe49bd":"Reading CRM activity…","text7529200232f5":"Branding reset to Kortix defaults","text752edcfbfb98":"No result yet.","text7538e921d62a":"Restarting session…","text75417b282302":"Agent Browser","text7544354edd29":"Invalid callback","text7546560467b7":"Accounts, roles, policies, triggers, channels and the audit record","text75586c42e862":"OAuth 2.0 connection completed","text755c8b2a9fb1":"Status:","text75653f1b94ce":"Dismissible blue banner — announcements, updates","text756a8ba97dce":"Detected","text756d9ae136b6":"A VPS or cloud VM","text75779b882b3d":"What is wrong right now. Zero is the expected value for all three counts.","text757d4af22a81":"The stack","text75857a458999":"from","text758775cef544":"is the easy part. Trusting","text7591d1f3fb17":"No projects match \"{value0}\".","text75a5e3a6d5d3":"Everything the person who started the session can do.","text75aec78d2ee8":"Our team has been notified and is working on a fix.","text75b544946dc2":"A skill is a directory with a SKILL.md at its root. Frontmatter names it and says when to reach for it; the body is the procedure. Every session can load it, so the thing you explained to one agent in March is still true for every agent in November.","text75b62a7daa4c":"Account name is required","text75b86fa11745":"Connect custom Slack app","text75c13d1eb5e5":"Every secret in this project.","text75c341902d77":"Categorizes, prioritizes and routes inbound tickets, drafting an empathetic first reply.","text75c75efe327a":"sync","text75ce00403074":"Google Sheets and Drive","text75d0f1469d16":"Restarting…","text75ddf920195c":"docker compose","text75df4f0c9e91":"3,000+ connectors, 60+ skills, and agents pre-built for your industry.","text75ea39919673":"Overlaps with recent homepage edits — resolve before shipping","text75f33cdfc8e5":"Incomplete","text75f8cf60c514":"Kortix – the open AI command center for your company.","text76020fe09cc6":"Any runtime","text762303303083":"Verified a sign-in code","text762abdafcd6c":"Custom roles and per-resource permissions.","text762ebb70ef0e":"Group name","text763fafcec9c0":"kortix-migrate","text7649df43bb7f":"Thousands run in parallel with no crossover between them","text764a5aa003f8":"Search messages...","text764c11571238":"You get a diff","text764d25f38250":"Account · Members","text765544af41fd":"Create project & install","text765b240c2900":"Deny — nothing granted.","text765f388e2ce6":"Which tools this agent may call. Allow runs it straight away, Ask pauses for your approval, Deny blocks it.","text7673a45d3385":"Could not delete secret","text76768949196e":"SAML Certificates section with the App Federation Metadata Url","text7689a34422be":"Budget exceeded","text768b4b146c74":"Read the Markdown representation of a Kortix public page.","text768d7200b02c":"Provider variant to request, such as thinking.","text76900f1bfd16":"Back","text7697f2d90676":"Grant access ({count})","text769f28b049de":"Scheduling across four calendars, an interview kit built from the real scorecard, onboarding that runs itself, a policy answer from your handbook. The agent does the logistics. A person decides about a person.","text769fe61dab43":"Couldn't load proposed changes","text76a5a9f6ea15":"Agents and skills are not rows in a table you cannot see. They are markdown in the repo the cloud computer clones, so changing your workforce is the same act as changing your code — and it gets the same review.","text76a5e5a39b4a":"Where this agent runs, and what it can change.","text76a986043116":"inherits the person’s reach","text76aee83bb47b":"Live session state","text76afda83081b":"Groups are an Enterprise feature","text76b6a1f12306":"API / SDK","text76bb44782d37":"@phosphor-icons/react only. The app-wide weight is one line in src/lib/icons/icon-config.ts, applied by IconProvider; status/solid icons opt out with an explicit weight=\"fill\". This preview toggle is page-local.","text76bf191d6426":"Could not delete it","text76c02b7eddca":"Search skills","text76c5699eadb4":"- Pause at the approval gate before anything posts","text76cce341b6b9":"Kbd","text76e6f296f208":"The member/group counts below tick up, and your IdP’s provisioning log shows the sync succeeded.","text76eaadc67d03":"exposes :3000","text76ee9b4de20b":"Under \"Admin Credentials\", paste the two values shown above: \"Tenant URL\" and \"Secret Token\". Click \"Test Connection\" — a green \"Testing the connection was successful\" banner is success. Click \"Save\".","text76f10f0af450":"mode: primary","text76f126541788":"owner_approval","text76f2a71948f3":"All repositories — Kortix creates a new repo per project, so a fixed repo list cannot cover future ones.","text76f48924ee10":"The sandbox holds a handle under this key. Kortix swaps the real value in outside the sandbox, and only on a request to one of these hosts.","text76ffbd339224":"The one live channel. Ask for the variant in the thread where the launch is being argued about, and the draft comes back into that thread as a file.","text7707b2aaa3b9":"Audit log access","text77101dffaadc":"  // The session is already an isolated machine on a","text77184595bde3":"Ascending","text77413322bcd5":"A session is not a tab in a shared runtime. It is a machine of its own, and the database will not let two sessions have the same one. Separating two of your own sessions is the same mechanism as separating two different customers.","text77413d074c15":"Signed in with a password","text7743ce348d92":"draft","text775ddc2119ab":"Copy the \"Identifier (Entity ID)\" and the \"Reply URL (Assertion Consumer Service URL)\" below and paste them into the \"Basic SAML Configuration\" panel — mark the Identifier as Default, and set \"Sign on URL\" to your Kortix sign-in page. Leave Relay State and Logout URL empty. Click \"Save\" and close the edit panel.","text775f96fcc9db":"Token revoked","text7760401b25c7":"Clone with plain","text7761b572aba8":"Browser notifications","text77793c7508f1":"setup will be reset.","text7779bc2ac4be":"skills/claims/SKILL.md","text777e112466d3":"Built to survive a security review: one isolated machine per session, real members/groups/roles, per-resource permissions, a secrets manager, audit trail, approval gates.","text778ed69bedf7":"Preparing changes…","text77959150750d":"Saving commits the change to your project repo.","text77a860cbc585":"Send to agent","text77ad70aefdce":"Decide what needs a human before it happens.","text77af3067cc0d":"2,343,200","text77b160ab08a0":"Neither file holds a secret","text77b330358055":"Nothing published, nothing claimed, without a person.","text77d1cb4e55a5":"Cloudflare SaaS SAML app configuration with Entity ID and ACS URL fields","text77d50891d3e8":"Auth0 SAML2 Web App Settings JSON with the audience and NameID values","text77e2bc11f6ab":"Required. This is how other agents decide to call it.","text77f3d2bcb376":"enterpriseCtaPrimary","text77fe4eba38d8":"All repositories","text77ff6343ff46":"Anyone whose project role includes the project.trigger.update permission — Project admin by default — plus account owners and admins. The trigger's own agent always can.","text7804f7a79a9e":"Finished","text7812d84e3512":"Used a connector","text781fbdd4840f":"- Each entry: context, decision, date","text782a07562e97":"Open source and self-hostable","text783487161e9f":"\"Give me the four variants\"","text7847decf864b":"Context & Connections","text7859cc3ee2ae":"self-host","text78648d4d6649":"All sessions","text786d9e105bf3":"Account · Service account tokens","text787a50e3458b":"Failed to remove factor","text787c76603041":"Use colored or tinted backgrounds","text788011833a5a":"Notifications","text7886a1ddd90b":"2. If the amounts differ, flag it for a human.","text7889d06f7235":"Response complete","text78992a9b4a8f":"Updated secret delivery strategy","text78a10fea0bef":". The durable record stays here for investigation.","text78abcbbfb830":"All skills","text78ad3c2f2e3f":"- slug: slack","text78add5e83e0b":"'s Account","text78b7d0379d5e":"Grant","text78ba0d8d5880":"Open this page from the CLI","text78c0df311db5":"A trigger starts a session with no person present. A cron schedule fires it on the clock; a signed webhook fires it on an event. Either way the agent gets its own cloud computer, its own branch, and the same review on the way back.","text78c16a9a433d":"- The metrics we watch and our targets","text78c9d9f6ace0":"Searching...","text78d14cc87b89":"Projects that already have a repo keep working, but Kortix won't be able to create new managed repos until you reconnect.","text78d6f9ee4a1c":"9 mo","text78da267198b7":"keyed","text78dbeb914e19":"One click — approve scopes in Slack and we’ll wire this project to the workspace you choose. Tokens stay encrypted in this project’s secrets.","text78e43414e313":"saml","text78ea37549c37":"Chalk","text78f322ab2971":"Triggers (cron & webhook)","text78f81555e63b":"Sandbox templates","text78facd7b499c":"Always allow \"","text78fc0a25db23":"Every member of this project.","text7902699be42c":"7","text790a9f451a27":"Final checks","text790d883ad11c":"OpenAI-compatible","text79139c621384":"*(select multiple)*","text7918c1b7fe03":"acme-co","text7918f9e61a56":"Reset project routing?","text7924ed958d5b":"Failed to delete group","text7936058bc9ef":"PingOne groups attribute mapped to Group Names","text79403a38ef25":"Prune","text79449a68e98d":"Revoke super-admin","text79479a6c76d8":"Descending","text79489561d9ef":"Top models","text7949be83e927":"It runs as an agent you chose","text79524f26f8e3":"Import from URL → metadata URL (paste this)","text7952f1e29842":"Refresh the pricing page and checkout copy","text7955091baf3b":"Settings → CLI tokens","text7964f184beb2":"Tags ({value0})","text7966b3c1d0c0":"Your app → Addons","text796a79862546":"Payment issue on your plan","text797041ba00c3":"  // Docs: https://opencode.ai/docs/","text797bfed2cccb":"The 1st of the month at 06:30","text797c7f133915":"    --bot-token xoxb-... --signing-secret ...","text7982ad72bd36":"Provisions","text79891e980747":"trial","text79910479b58e":"Failed to load session cost details","text799b25b8c943":"Recent errors","text799c2993b99d":"In finance, reading and writing are different risks. Connect each system once for the project. Credentials are decrypted on our side and never enter the machine.","text79a3c4f34dfd":"Auth0 Addons tab with the SAML2 Web App toggle","text79af590ff652":"Save assignments","text79b8817235ae":"Per agent","text79c6ba1d813d":"#1 JumpCloud gotcha: Test Connection fails because the test-user email already exists in Kortix — it must be a brand-new address. (And click \"Activate\", not \"Save\", during that step.)","text79c8764339a5":"acted by","text79e4d7b87c05":"A burst queues, it does not drop","text79e527fa7dd1":"The instruction sent to the agent each run.","text79ffe7bf8192":"Created project","text7a04f383ef22":"One machine per session · Pre-configured · Nothing runs on your laptop","text7a098b3b9a9d":"Failed to open subscription portal. Please try again.","text7a1bdceb4943":"Item is already in this directory","text7a269e6be11f":"A workforce of AI agents that do real work across your tools — defined as files in a git repo, run in isolated sandboxes, governed by review, and built enterprise-first. Here is the whole thing, A to Z.","text7a274281b669":"Balance — high","text7a33b568e0b2":"Enable provisioning/sync in your IdP’s SCIM client and scope the users/groups to push — it then runs on the IdP’s own schedule.","text7a348a00da4d":"Approve & merge","text7a54cb3d3e9c":"Alert Dialog","text7a5db9469d1a":"The voice is a file · the claims are a file · every draft is a diff","text7a73099df9bd":"Auth lifecycle","text7a7a526cc8d6":"Configure your IdP with","text7a99a7125c7c":"Copy markdown","text7a9ab95cd5a5":"Support workflows for account access, technical issues, and operational recovery.","text7a9d22da3496":"Emoji Picker","text7a9decd79093":"I’ve opened the SAML application","text7a9f6daee641":"your-company/","text7aaec6fe02f0":"No Apps yet","text7abc49dfa87b":"Inputs","text7abf95c1092d":"Remove rule {value0} condition {value1}","text7acb37a3030a":"Approve / ship","text7acd4ac590c6":"Agents granted this connector cannot call it until a project connection is authorized.","text7acdd33eff33":"On the \"Parameters\" tab, set the \"SCIM Username\" parameter’s value to the user’s Email — that makes SCIM userName the email Kortix correlates on. Leave the default externalId mapping as-is.","text7ad1511cc614":"GITHUB_…","text7ae2e4d8b3fe":"saml_subject (Name ID)","text7aea792d4556":"content matches","text7aeab3d2abf5":"Deleted billing account immediately","text7aec2ce05cb8":"What's failing across this window","text7aef9898f8f9":"Nightly pull, migrate, then swap","text7af023c43013":"Docs","text7af0d5b84ba4":"Service account tokens for CI and automations, and the rules they follow.","text7af959bda32d":"SCIM Base URL","text7afb508b93c2":"Checked sandbox runtime-asset versions","text7afd348d0d4b":"Custom cron expression","text7b10a4e55d64":"- Auto-fix the mechanical, comment the rest","text7b1eb4d58456":"AES-256-GCM, key per project","text7b2aba63cf85":"One honest exception","text7b355872be1c":"Search commands, sessions...","text7b390afe6940":"Account · Permissions help","text7b3a98463022":"Re-runnable","text7b3c138b383d":"Kortix API documentation","text7b3ebd41a8c4":"One branch, one machine, no collisions","text7b412527489f":"banned","text7b415e0e7f41":"Two types","text7b4418d894c3":"Other projects","text7b4888049459":"Last name","text7b49132b286b":"Provider split, failover, the live fleet, and provisioning latency.","text7b4b05dee831":"Account · Projects","text7b56bfd47605":"Runs a thermo-nuclear review and stands up a one-click preview on every pull request to kortix-ai/kortix.","text7b6762537105":"An agent has exactly two homes. The markdown file carries how it thinks — its prompt, its mode, its model, its permission tree — and it is a stock OpenCode agent file, because Kortix adds no dialect to it. The manifest block carries what it may touch. Nothing about an agent lives in a database you cannot read.","text7b68fe551085":"After","text7b7e67f5f919":"Failed to disconnect the subscription","text7b8fd4e94dee":"Ask a project manager if you need to change how this project is set up.","text7b988785d863":"I’ve connected and enabled provisioning","text7b9908a3c44a":"Every member of this project","text7b9db77e0178":"Continue with GitHub","text7bb1824d3f4e":"Viewed file content","text7bb2d21db6dc":"Sessions:","text7bb79899f2c5":"Entra Provisioning overview showing a completed cycle with Import, Scope, Match, and Provision all reporting Success","text7bbd0566a549":"Scope a team to specific agents","text7bc05befca96":"Run it where your policy says it has to run.","text7bc57426b2fa":"Created trigger","text7bc709b6d604":"Application → Addons","text7bd1f1dd22d6":"Browse Microsoft Entra Gallery → Create your own application","text7bd31a025d29":"Failures","text7be15cd189a3":"On demand","text7be318295927":"Agent sections","text7be601ef7143":"ACS URL → the Reply URL (ACS) below.","text7bf1b0c50188":"I’ve opened the SSO application","text7bf9d07dcb99":"This project has no agents yet.","text7bffb6b49315":"JumpCloud SSO applications list","text7c0adcef1126":"Enterprise entitlement revoked","text7c1885c365d9":"Daily gateway traffic across the window","text7c2771ec55be":"branch/36cd42b7","text7c2e0b8b96cb":"\"{value0}\" uploaded successfully","text7c30649a46d8":"Pick the capabilities this role grants. Anything left unchecked is deactivated for principals assigned this role.","text7c425d3c0f37":"The repo also holds the connectors. Wire up Slack, docs, tickets, CRM, billing and code once, then scope which agent may touch which one.","text7c4a3e7e2251":"Nothing was recorded about what this call would do, so it cannot be reviewed here — only denied.","text7c4e5224f9d4":"Copy address","text7c545a3837a3":"Your handbook, in your repo","text7c59656bfc86":"Watching for the test sign-in","text7c6d27aed192":"No mappings yet — with auto-provision on, your IdP's groups appear by themselves; add a mapping only to route a claim value into a specific existing group.","text7c8f89daffea":"Last step","text7c968fb71f50":"Member","text7c994b5261dc":"Exported {value0} events","text7ca1bd7d70f8":"   refund id on the invoice.","text7ca3b3fe99bb":"Open localhost:{value0}{value1}","text7cb0ef82159f":"Landing page · built from the Q3 brief · not live yet","text7cb19495b4ab":"What a person can do inside one project. Granted directly, or inherited from a group attached to that project.","text7cb2ebd599ca":"decrypt credential","text7cb6e2c971b3":"The data-plane gateway","text7cb87dcb8d50":"This link has expired","text7cbab07cd223":"Nothing extra — this agent declares no specific secrets or connectors to inherit.","text7cd578cd0f3a":"Map parameters","text7cd6fdbc65e2":"Titles are flat. Everyone on the technical side is Member of Technical Staff.","text7cdb8d6538c7":"Loop Engineering","text7cdd0673dce5":"Every project member.","text7ce01e1f5095":"Item {current} of {total}","text7ce02a51e3dd":"Couldn't load your {value0}s","text7cebac7f22c0":"url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")","text7d06167236bd":"Client secret JWT","text7d0d0e55bc3e":"The database password, the JWT signing secret and the API keys derived from it","text7d1ee3ce7f33":"Failed to upload the {value0}","text7d2580ce3dea":"Searched the web","text7d2e71d27419":"Signing you out…","text7d345569180b":"Anatomy","text7d4e3b0e3543":"SSO endpoint","text7d54b228a9b3":"Easy mode vs. Advanced","text7d5f66c6d997":"Agents, skills, connectors, triggers and memory are text in a git repo. You can read the whole company, diff what changed, and revert it. Open source and self-hostable — Kortix Cloud, your own VPC, or your own on-prem network.","text7d5fcb164f17":"Created SCIM token","text7d68a1835cee":"Voice lives in","text7d7a2199230e":"- Pull the ticket + customer history","text7d870610b59d":"Added the connector, but authorization failed: {value0}","text7d899c8ca569":"Nothing is selected by default. Selected access remains active until you revoke it.","text7d92aa0e75c4":"Operator switch","text7d9eb7acb13e":"Close","text7da07ad47ba0":"Connect your tools and hand a Kortix agent a real task. Free to start, free to self-host.","text7db20897053b":"People","text7db7002fa9e9":"Join Kortix with my referral link","text7dc864ffbdfe":"Group runs by","text7dcc43066a24":"Agents & skills","text7dcfbf6997e9":"Paid accounts only","text7dd093d54417":"    session_mode: keyed","text7dd0d9729331":"App page User access section with the service toggle","text7ddc2f43eb64":"The Configuration / Parameters / SSO tabs only appear AFTER that first Save — save the app once, then reopen it to configure.","text7ddec8480238":"The competitive watch, without the manufactured finding","text7de1a9410fa6":"Every figure has a source","text7de7224be293":"Connect · Configure · Deploy","text7de83ebed3ea":"Previous (↑)","text7decbfdbacee":"Agent · {value0}{value1}","text7def269b78b1":"{value0} min read","text7df8a0fb4684":"Failed to update App access","text7dfd721b4d49":"\"Draft the renewal for Acme\" -> renewals/SKILL.md","text7e19c0ed80e9":"This session's sandbox hasn't started yet. Try again in a moment.","text7e1b0d5641f2":"Account","text7e2372f4115c":"neutral","text7e27fa80abb2":"wrapping the emoji grid above and a 64-glyph grid, both fixed to the same","text7e28e1d334b1":"Source of truth","text7e2d43454354":"Account settings and preferences.","text7e32a729b122":"Secret","text7e38b9391913":"Users Resource","text7e44ff2fd73a":"A channel names its agent and model, and inherits that agent’s deny-by-default reach into connectors, secrets and skills. Change either with one line in the thread.","text7e497182c7ed":"Permission Requested","text7e49c68db30e":"No answer","text7e4f3f8089ab":"Invite email sent","text7e55d6bb3b71":"    cron: \"0 0 3 * * *\"","text7e5b252f0c53":"The close, started before you are in","text7e658675b5ca":"Careers","text7e68dda8f4ed":"The Kortix bot in {value0} will run as you, with your own credentials, secrets, and connected apps instead of the installer's.","text7e6e766e8dff":"See agents run your actual workflows end-to-end — not a generic demo.","text7e7a8ecde34a":"Most of the work happens inside the repo the session cloned. Connectors cover the rest, and their credentials stay on our side, never inside the machine.","text7e814a7424ef":"A fresh fire boots its own isolated machine on its own branch, the same as a session you start by hand. Nothing it installs or breaks touches another session.","text7e8424c7051a":"IT stacks are the least uniform in the company. Connect what is in the catalogue and define the rest yourself. Either way, credentials never enter the machine.","text7e8cd2056da7":"Title","text7e9c22af3df2":"Update failed: {value0}","text7e9fee157731":"Any provider. Your keys. Your bill.","text7ea05ee375a0":"No saved prompt is available.","text7ea27c63aff1":"Manage billing","text7ea4733fb624":"Available on Enterprise, and on a self-hosted instance with an Enterprise licence. The built-in roles above are free on every plan.","text7ead9bf84af8":"Migrate to v2","text7ebef26162b5":"| * s_9a04","text7ec0261b8e8a":"Upgrade","text7eca5e05f915":"Downloaded {value0}","text7ecd596d8c70":"Merge is a capability of its own, refused to every agent unless an admin grants it. That grant lives in kortix.yaml — so an agent cannot widen its own reach without a change request someone else approves.","text7ecec93ed268":"Kortix home","text7ed62f13532a":"Session event","text7ed6733a3900":"Delete {value0} {value1}?","text7ed6e98ab599":"Failed to update policy","text7ed7c4532413":"SAML / OIDC single sign-on for the account.","text7ed96629073e":"Name A–Z","text7ee0ad224441":"Kortix passes the test of sovereignty. Free to start, free to self-host, free to own your AI future.","text7eeb9965afc9":"Start building your learning loop today.","text7eebc3924618":"Marketplace — Clone a ready-made Kortix project","text7eeffb726e71":"Features you can switch on before they are generally available.","text7ef60018d7f5":"I’ve turned on the sync actions","text7efab5c53ff3":"A claim without a source is a bug","text7f09a839ed67":"Thousands of connected apps on one side of a boundary, and the sandbox on the other, carrying a single scoped token and no credential.","text7f0a12c4fdbd":"You don't have permission to read this repository.","text7f33545ae2eb":"works · commits · pushes","text7f3e8bf052d3":"Reads","text7f4d12168371":"A record per call, with the approver on it","text7f56272b701a":"Forwarding the Northwind thread — can you pull their usage and draft the renewal?","text7f5972375548":"SAML brokered through Cloudflare Zero Trust","text7f5e806ff554":"You approve. The same call completes and the run continues.","text7f619d9e30a8":"Project secrets handed to this agent's sessions as environment variables.","text7f619ff13aa8":"Loading providers","text7f63d46d6462":"Prepend your API origin (e.g.","text7f68183cb179":"OAuth 2.0 connection completed","text7f6e1f2662b4":"Overrides","text7f717f55d7c2":"Install App","text7f724c2ad694":"Failed to update default agent","text7f7535cd5c87":"# Governance: what each agent may touch — never what","text7f8252af886d":"3,000+ apps through one scoped token.","text7f85693ab42b":"No transactions found.","text7f8760fd80df":"Failed to revoke token","text7f8b8908c573":"Could not send that prompt","text7f920bb639c9":"7 days","text7fa5deaf333c":"# Prospecting","text7fa8aef486d8":"How teams put a workforce of AI agents to work — the loops they engineer, the deliverables they ship, and the reviewed changes that make the company better every day.","text7fadfca18f08":"Copy model id","text7fc00a40fb11":"Kortix vs Poetic: both turn workflows into code — the difference is who owns the code","text7fcc18556e6e":"Who runs it","text7fda2b723187":"Initech Retail","text7fdf5bcb19a8":"Provisioning Status","text7fe5af1c4cdd":"__git-history-query__","text7fec5f7bc46e":"packages/export/","text7ff697c93230":"This link is missing required parameters. Start the authorization again from the app that sent you here.","text7ff860eb111a":"No custom roles yet","text80037a202e3f":"Scale and spend. Cost figures cover the last 24 hours.","text8012e38cdeb6":"  - slug: memory-reflector","text80146a436b03":"Turn a directory into a company.","text801a345cd406":"for the project","text801ac00a36cb":"Finance work is already scheduled work, which makes it the natural fit for a trigger, and the most important place to say what a trigger may do.","text801c059e1253":"In the Easy connect catalogue: click through the OAuth screen and the connection belongs to the project. Support tickets are where the highest-signal feedback is and the lowest-signal summaries get made.","text80201ebafed7":"Advanced Settings → Endpoints","text802370076d02":"A sandbox boots from one generic snapshot already running the kortix-sandbox-agent-server daemon.","text803ac20b0345":"GDPR","text8041e959f5fd":"Set up Single Sign-On with SAML → Basic SAML Configuration","text804367668473":"Hand over the assembly. Keep the judgement.","text8043aa58ae92":"Live status","text80565873fe1e":"Cut \"{value0}\" to clipboard","text805dad3ea852":"Answer it now, check the writes, refresh it on a schedule.","text8070bf46e184":"What every user is seeing right now.","text80770d26537b":"Kortix obtains, refreshes, and injects a bearer token for this connector.","text807eb0fa47c8":"Pulled **312 rows** from `metrics.q3`. Revenue is up **18% QoQ**, burn down **9%**. Drafting the board narrative and charts now.","text809a8e8f5805":"A scheduled session reads which contracts come up, which accounts have gone quiet, and which have grown — and opens a thread with the shortlist and a first draft per account.","text80a4cf760a0f":"decisions.md","text80b46e399ad1":"Assigning a whole group (rather than individual users) requires Entra ID P1/P2.","text80b64b2966be":"Require two-factor authentication","text80b787a487ea":"cut a branch","text80b9316cb15b":"settings → API keys","text80befc2e0620":"One exact HTTPS host per line. Wildcards, paths, and ports are not accepted. Every other host is denied.","text80c6e7caffee":"Signed out","text80cfa3e7f28d":"waiting","text80d5d48b94be":"Create a new app integration dialog with SAML 2.0 selected","text80dc0f75f4af":"Here’s what changed since Monday:","text80e155d7b8e5":"Put a copy of this workspace on your own computer and edit it in your own editor.","text80f505ac6a81":"Updated PAT policy","text80fc40213320":"Discovery","text810b28e5110c":"Session rewind failed","text8116da8fa64c":"Message → {value0}","text8128f44ac0d3":"LINEAR_…","text812fc8371083":"Admin access required","text8130db25eca7":"Verify with GitHub","text8131497474c7":"What a person can do with the account itself — its name, its billing, and its people.","text81353bbf47b1":"Add an application → app credentials","text8136a613ab56":"It works on the process, not on the person","text8136e0c475c7":"No agent named {value0}","text814d5defa29d":"It is a real machine, not a tool sandbox","text817f3bbaa974":"Grants platform admin, so you can configure GitHub and the rest in the dashboard. Optional, and you can set it later.","text8185c8ac4656":"Super","text818da9a35cdc":"never crosses in","text8190a722b30a":"They were written for the messages this rewind discards.","text8191888dd97c":"Assigned","text8195b47b3fd3":"All decks","text819fb4b97133":"Model ids are","text81aa53ace950":"Production access","text81b35f1b4332":"Previous item","text81b95130940b":"Browser tab — 32×32 PNG or ICO. Uses the icon when none is set.","text81bd2a33309d":"Rotate this secret?","text81c1677c6fc1":"No reply relay. A real channel streams the answer back for you; here the agent has to send the outbound message itself, through a connector you have granted it. Inbound is solved. Outbound is your wiring.","text81c45fd9b904":"Remove key","text81c55672efb4":"Everything is files","text81ce208a4fd7":"## Reach","text81d58a84a2ff":"Duplicates merged, stale items surfaced, issues whose linked change request shipped three weeks ago closed. A backlog that is 40% archaeology is not a backlog.","text81dc075c3d55":"transactions","text81ebc2e68806":"Agentic Harness","text81fbecb138f6":"Install the Kortix command line","text8200ffd60b70":"Managed git isn't set up on this server","text8205e1a3390b":"One decision, all nine assets","text8207d840e935":"MS Teams","text821fc05f30c8":"name: Acme Corp","text82203da566c7":"A workforce they can actually manage — reached from web, Slack, or Teams — on infrastructure where the data, config, and model belong to the company, not a vendor.","text82244417f956":"email","text8228542fed70":"Sales & marketing","text822b33ad87c1":"acme","text8230c68a6158":"Filesystem","text823dc8dae3c0":"The source behind every claim","text82457b59d590":"Select at least one day","text8246f4b356d3":"Searched images","text8268dd9ea939":"Edit presentation","text826c8e46dc22":"Integrity hash","text82750487a958":"Failed to resend invitation","text827f9d2d8e74":"Agencies & consultancies","text8281b9f426fd":"Models tried","text8284592d972c":"Viewed Enterprise preview","text828541c6a933":"Configure login methods","text82860f2aadce":"System Theme","text828846159ae7":"Specs, notes, summaries — as files","text8290912ebade":"How Kortix does it","text8295f8601ed8":"This role is used by {value0} {value1}. Deleting it removes those assignments.","text829ca9d98457":"Delete Computer Tunnel","text829e67c6a623":"Merging is default-deny","text82a01c0069b6":"Unmapped API route","text82a37b8c2266":"No secrets in this project yet.","text82b9ffd3cec8":"Add to","text82bcb52dba1e":"User-managed","text82c543bb1ef9":"Slack threads that start real sessions","text82cc866db8c3":"OAuth 2.0 device connection completed","text82d9af69e1a1":"Who can use it","text82da7a7ad190":"Uses this secret outside the sandbox.","text82dc1628cce6":"No export flow, no support ticket, no proprietary format to unpick. The company is already text on a branch, so it clones, forks, reverts, and walks out the door with you.","text82ddfcce3d98":"agents/kortix.md · permission.bash →","text82e4b64f1673":"No models left","text82f1df9d20a8":"The image registry the stack pulls from, which needs no credentials","text82f78edabb4d":"For self-hosted setups, or to sideload the app into your tenant manually.","text82ff2bbaa7ac":"Denied connector action","text82ff5452a98d":"Enforce at the network","text83055ac70034":"unpacked","text830ec7f812f9":"Last used","text831a9d52a9c3":"Pick","text831d4863e879":"3,000+ apps in a click, plus MCP, OpenAPI, GraphQL and raw HTTP, reached through one scoped token brokered outside the machine.","text8322e87d2458":"stopped","text83288ebdced3":"Bind groups to provision users","text8338ea9fb932":"One button. It starts an agent session that reads the item’s source and merges what fits into your project’s own files, rather than dropping a package in and hoping.","text833d4de66a37":"in the sandbox","text83480f565627":"Files read","text834daa2914fb":"Search in RevenueCat","text83536ce31c42":"gmail.send_email","text8353713597b6":"Problem first","text8353d67bd934":"Expires:","text83622a3d7d8e":"Who the connection acts as","text8368ff24d89c":"On Kortix’s own Platinum compute a sandbox is a Cloud Hypervisor microVM. Daytona and E2B are also supported. The provider is a deployment choice, and we will tell you which one you are on rather than blur them together.","text836cd8e8a791":"Instructions and scripts this agent can load into a session. Click a skill to read it.","text837988d39c32":"Which session a fire lands in.","text838198290fbc":"Assign the app: Users → open a user → \"Applications\" → \"+\" → add \"Kortix\" (or assign the app to a Role so everyone in that Role is provisioned).","text838bb7d9fdc0":"AGI-ready doesn't mean an architecture that produces AGI. It means one that absorbs a 100× capability jump without losing state or granting uncontrolled access. How Kortix is built for it.","text83b12c2216ef":"Clear","text83b3b277abbf":"Read the guide","text83b832d6e1f3":"Checked the sandbox agent","text83c13e7be703":"I’ve added the memberOf group claim","text83ce6bad47b6":"About Git credentials","text83cf3d0fc7c1":"Tell me what you have worked on.","text83d5007187d2":"none stopped","text840911e55942":"Overrides saved","text840d62d0584a":"Automatic provisioning requires Entra ID P1/P2 (a trial works fine).","text841050a9c1e6":"The gateway, service and tunnel signing tokens","text84175b810ac7":"Full Lockdown","text842110ecc49f":"What an agent is","text842bad27af42":"2. Attach to this session","text84459dc0a0ee":"Show compaction summary","text844a263ddf5a":"Client id","text844d1616ac93":"Compounds what it learns over every run","text8459419d4cfe":"builds","text84658b676d2f":"Unable to load the PDF engine.","text84706db3cefd":"- Who we are, how we talk, what we value","text847e3d7b2190":"The test user must be allowed to reach the app — otherwise the IdP rejects the sign-in with a “not assigned” error.","text848b62f95f33":"Black & white with neon yellow accent","text848c28cd6858":"Grant admin consent","text848f54e89660":"Runs","text84908b335467":"Three ways to start the same session. Scheduled runs help IT most, because the work that gets skipped is the work with no deadline attached.","text8493c3761028":"Pinned sessions keep their own sharing settings. This policy applies when the trigger creates a session.","text84a3f6a1d64e":"Asked in a Slack thread, answered from the document in your repo with the section quoted. If your handbook does not answer it, it says that and routes to a person rather than filling the gap with a plausible policy.","text84a4a73df826":"{value0} deleted","text84a7e27178d9":"No accounts yet","text84a8a60f0a66":"sandbox image, triggers, channels, connectors, secrets","text84af5fd8082c":"Session renamed","text84b78c923b6a":"Changed group role on project","text84b96c8b3a6d":"# SEO","text84bb58ef295a":"The hygiene pass nobody runs","text84cbdb460e07":"Name updated","text84e3eb92c7a8":"awaiting approval","text84e857cba73b":"triggers:","text84e98b45ad8b":"Schedule created","text84f6d9b1e85a":"Agents are sandboxes","text84f8c40b31a7":"Always allow everything","text85045ccc0567":"Apply changes","text850bf7a62920":"Attributes & Claims → Add a group claim","text851d4eb625e3":"A connector credential is brokered server-side and never enters the machine. A runtime secret you deliberately grant a session IS a real environment value inside it, readable by any command the agent runs — that is what granting it means, and it is worth knowing before you grant a warehouse password rather than a connector.","text8521333bac45":"An agent cannot merge to main. The permission exists — an admin can grant project.cr.merge — but the grant lives in kortix.yaml, so widening it is itself a change someone reviews. Nothing about that is a hidden default.","text85231c543c71":"Project config, tasks, context","text8525d67b94af":"      .kortix/memory/ and open one change request","text8527a891e224":"14","text8529ff665870":"Grant trial","text8535f458db4b":"Reads the logs, ships the fix.","text853b0ebee12c":"Turn sound off","text854362dd1a76":"Moved \"{value0}\"","text85457bd27cfc":"Save distribution","text8545f075422b":"Every internal URL the services use to find each other","text854a397472d0":"Slide {value0} edited successfully","text854e6dd9d777":"The type is fixed at registration. Register a new app to change it.","text8552ade1b621":"A session's chamber: what is {inside}, and what {outside}.","text8559d8fd97d1":"{count, plural, one {# seat active} other {# seats active}} · ${credit} of usage credit deposited.","text8564edf2cd1f":"Connector credentials, which are resolved server-side","text857be0b1fee8":"Prior art","text8585b95f4600":"Kortix on GitHub","text8591ccff74ef":"Set one action for a whole capability — read, edit, bash, task, websearch, or reaching outside the workspace — or add glob rules underneath it, so git push asks while everything else is allowed.","text85a39ab345d6":"Yes","text85afe431118b":"Active accounts per day","text85bf890776a7":"Loading older messages","text85e233bc1c29":"The close, with the working shown.","text85e7ee9efd75":"Most tools hand you one layer and rent you the rest. Kortix is all six — they read in order, and the sixth commits the work back into the first.","text85f09652bb1d":"Required — not set","text85f3d558db12":"Spend","text85ff570946f6":"enterpriseAccordionIsolationBody","text86103057a0df":"Accounts that started at least one session.","text8613d2392924":"invoicing/SKILL.md","text861edb55ee1d":"How work lands","text862397da3718":"Reconstruct activity across people, agents, sessions, API requests, and connectors.","text862cd97912b2":"The secret is attached to one outbound request and thrown away. It is never written into the sandbox environment.","text8630b4dd33f2":"Could not connect","text86419686092b":"Policies only","text864e2d680b0c":"Apps → Web and mobile apps","text864e61fd1bcd":"Authorize this device","text86522c506bbf":"Get the app for your desktop, your phone, or your terminal.","text8654b486889c":"Reconciles transactions, flags exceptions, holds for sign-off.","text865837414ad3":"One git repo that is the company.","text865e89de78d9":"Upload","text866956901fd1":"All files","text866f4db9c935":"Credit activity will show up here.","text86771dc859f8":"What did this session change?","text86781ce4c5b4":"{value0} follows the default model again","text86889fb8fa90":"wants to access your Kortix account.","text8693768c7e08":"Grant access","text869903a43092":"App access","text869cc2438ce5":"{value0} {value1} individual parameter review.","text86a9a827d7f4":"Each token authenticates a single IdP connection — rotate by minting a new one and revoking the old.","text86c15f03c03a":"Dismissed {time}","text86ca67d2851a":"tool is","text86d74a15857f":"This page is opened from a Kortix message in Slack. Run /kortix login in Slack to get a fresh link.","text86da9c960cf9":"Access level","text86dcb7f9e791":"-- No SQL available (system table or virtual table)","text86de1bf4e1be":"Couldn't confirm this session is idle","text86e3b86877d0":"Connector keys stay server-side","text86e42d5fce17":"1. Pull the invoice by number, never by amount.","text86ecd94bbb17":"Target provider","text86f8a694159b":"Governance","text86fdc0c950d5":"Every secret in this project, including ones added later.","text870770429ab2":"Automatic TLS. Rendered only when you set a domain","text870a8ffd98f4":"Deployment","text870eae14ddfc":"connectors: # 3,000+ apps, one scoped token","text871475cb411c":"Slide {value0}: {value1}","text871b6d3b6b19":"skills abilities","text871c8e507c6f":"Failure reasoning","text871ec26813da":"SCIM URL copied","text871f77182091":"Saved on the change.","text87245fea85d1":"{value0} — not available in this session","text8726db013948":"Client ID","text8728456791ca":"On the \"Provisioning\" tab, tick \"Enable provisioning\". Then UNCHECK \"Require admin approval before this action is performed\" for Create, Update, and Delete — otherwise every change waits in a pending queue and nothing reaches Kortix until you approve it by hand.","text872ebeb07c36":"Sign-in, invites and SAML","text8730d3c2022a":"Latest","text87365b87dda3":"Copy sample request","text873801d305b0":"A message in Slack gets no privileges a session in the dashboard would not get. The surface changes. Nothing underneath it does.","text874113eebba4":"Google Workspace and Outlook","text875636a511da":"p50","text875a418c8e03":"The part that turns a model into an agent.","text875c0e464942":"Internal Browser","text875e31228b81":"Started GitHub App setup","text875eec9882c4":"Move down / up","text8763807de149":"Anyone with the App password","text87674b6b7f70":"Illustration. The role, the scorecard and the paths are fictional.","text876ee3e4596e":"Searching memory...","text876f0ba5bcf9":"Invited member","text877733202b1b":"One project-managed {value0} account is available to allowed sessions and triggers.","text877c39a121a9":"These are the redacted values the connector will receive. Values too long to show are marked in place.","text877c3aec832c":"slack","text877c91ca4226":"No governed actions yet","text878020ed7049":"# push it up, and bring the whole thing live","text878abd024f27":"Type a port, e.g. 3000","text878fecea2993":"Basic SAML Configuration panel with the Identifier and Reply URL filled in","text8795b764ac98":"No OAuth client configured for this App — members can't use \"Continue with GitHub\" to link an existing installation to their account. Add a Client ID and secret via Reconfigure, or set KORTIX_GITHUB_APP_CLIENT_ID/KORTIX_GITHUB_APP_CLIENT_SECRET.","text87a46ec2620a":"Pipedream OAuth","text87b0e5101fd8":"AgentMail API key","text87b42e40c2a2":"Approved","text87b8a3923fbb":"Snapshot build failed after 3 retries.","text87bb59ba2f92":"Workspace","text87bc74425fd5":"$ git revert 8f2a1c4","text87bcc72ce19e":"pty_read — 63 lines, 39 folded","text87be07b553e8":"Only deliver events whose action starts with this prefix. Leave blank to deliver everything.","text87bf2bc08589":"Voice","text87c5912f2cef":"Building","text87d296ec9489":"Caption","text87d2f3386f90":"Searching the web","text87e3eca29ea9":"Canonical path returned by list_public_content, such as /docs or /pricing.","text87e6d00bbf53":"Revoke","text87e8ac388eb1":"Every sender is a known person","text87f29356aaf3":"Prolonged ownership","text87fbe4fb79b1":"Attach file","text88098ef371c2":"Approvals before agents act","text88099e99f545":"Kortix Gateway","text88111b46da7b":"review changes change requests cr diff pull request merge open pending approve waiting","text88134334f4c6":"Scope and resource","text8814f18c10c8":"<div style={{ height: '14px', overflow: 'hidden' }}> Content </div>","text881c0bd6449b":"Couldn’t list the other files here.","text881ebc240369":"Your app → Identity Management (enable the checkbox) + User Groups tab","text8820bd428377":"Collapse message","text88296ab3d666":"Subagents","text8833ce4e6595":"Message agent","text883ec93065bb":"Viewed an OAuth app","text8848db900667":"Failed to create group","text8851aaa7d08c":"Merge","text8866bef0bf42":"Stopped account impersonation","text887c795c54f3":"supabase-kong","text8887e9d916d6":"Build your own","text888f1dba5133":"Sandbox compute currently bills at","text889485d2bdde":"Daily platform and feature explainers.","text88a550e0f44e":"Runs on","text88b1dfafbd5f":"Billed by","text88c2105adecf":"Answer the question above to continue.","text88c45d9e526c":"Colors","text88ccecac6aa5":"Optional content category.","text88d457aa9389":"Kortix for marketing teams","text88dd780cd3a7":"Group — outlined","text88de2bdc69eb":"In the JumpCloud admin console: Access → SSO Applications → \"+ Add New Application\" → \"Custom Application\" (search \"Custom SAML App\") → \"Configure SSO with SAML\" → name it \"Kortix\". This opens the app’s SSO tab.","text88e7ffdfead1":"A connector credential is brokered server-side and never enters the sandbox. A runtime secret you grant a session IS a real environment value inside it and is readable by any command the agent runs. Both are correct designs for their job; do not let anyone tell you the second one is invisible to the model.","text88f3c1c6662e":"Use font-medium (500) for headings","text88f8c1416b7d":"Directory Sync provisions accounts, but without SSO those users have no way to sign in. Connecting SAML first is strongly recommended.","text8918eace1b87":"Add a note describing what to change, then send.","text892fc6b36621":"The Kortix stack","text8932a840affb":"Pauses for a human","text8938f078dd1e":"Settings · Upgrades","text893dc256bfc8":"choose which Kortix you are talking to","text894031366a18":"The same artifact runs on a laptop, a VPS or a cloud VM. A domain is one environment variable, not a different deployment. Everything lives in one instance directory you can back up by copying it.","text894b02c84063":"SectionCard","text894bde8368c8":"Call notes into the CRM, in your fields","text895560302007":"Kortix has a real account, member, group and role model with per-resource permissions for people and for agents. An access review that covers your humans and not your automation is half a review.","text8955719a3a89":"Cell updated","text895615cd8ca9":"Change request to main","text8959f78a7385":"The shipped default is permissive — an action runs unless you have said otherwise. Set Ask on what should pause and Block on what should never happen, per action or with a pattern rule that can read the arguments in the call.","text895b9a4f7450":"has finished.","text896dc9e92487":"#1 Auth0 gotcha: two easy-to-miss values live inside the Settings JSON, not labeled fields — the audience (Entity ID) AND the NameID format. The addon defaults NameID to the Auth0 user_id (auth0|…), so without the emailAddress nameIdentifierFormat above, Kortix correlates on the wrong subject and every sign-in mis-identifies or fails.","text8973818950c2":"The queue, and the runbook only one person can execute.","text8973d46e45c3":"Written against the notes and the account record rather than a template with a merge field. It lands in the CRM or your inbox as a draft. Sending is an action you can require approval on.","text897e0cf78b80":"Exit full screen","text897f2d169693":"A shared machine","text898569356612":"Not connected yet","text8989e0a7f3cb":"Save the secret now","text8993b788afbe":"Sort descending","text89a0623d0982":"Idle timeout","text89a0e2d1b569":"You do not have permission to connect GitHub.","text89cfbcb8984a":"A real permission tree, from a real agent that ships.","text89dd748442c1":"Apps","text89e2ee9d1cd7":"Only the owner. Everyone else gets nothing, predictably.","text89e55797e3bf":"Revoke — granted for a migration","text89ebfb7a88ca":"Auto-detect","text89ed0c271cc2":"Device authorized","text89ff59fd8967":"Single sign-on → Select a single sign-on method","text8a01d0208ec9":"Name it so you can tell your keys apart later.","text8a0b88c0ea43":"Sign on URL","text8a0da33ebd1f":"Your runtime ({value0} days)","text8a0e45f72b69":"Open the app → \"Identity Management\" tab. In its Configuration set \"API Type\" = \"SCIM API\" and \"SCIM Version\" = \"SCIM 2.0\".","text8a280803e026":"Use unapproved color combinations","text8a2819cae213":"File too large","text8a29ed34cf47":"Copy public link","text8a2cc0673b1c":"Demo","text8a345d23f9f6":"Could not remove budget","text8a36cce34f68":"{value0} keeps its saved configuration. Anything you changed here is lost.","text8a40e6aeedf2":"Commerce","text8a46d882ade5":"When your agents save work or propose changes, it shows up here.","text8a5603decf3a":"Win rate by quarter","text8a562f22155c":"Create an IAM group for every group the IdP sends and add users to it — no per-group mapping. You just attach project roles to the auto-created groups.","text8a656173d504":"If your ledger is in the Easy connect catalogue it is a click and an OAuth screen. If it is not — and plenty of accounting systems are not — it is reachable through OpenAPI, a Postman collection, GraphQL, raw HTTP or a remote MCP server.","text8a7c8b67fe8b":"Accounts","text8a85cfbe71eb":"Agent switched to {value0}","text8a88857d117b":"Entra Provisioning Admin Credentials section with Tenant URL, Secret Token, and Test Connection","text8a8dc78e312d":"Iv1.xxxxxxxxxxxxxxxx","text8a8f5feaa28a":"An isolated cloud computer for every session","text8aa6061345d9":"Every tool will ask before it runs","text8aa824e472ff":"The first values","text8aa9210db021":"Take every support ticket from yesterday, draft a reply to each one from our own docs, and leave them unsent for me.","text8ab09c3fe5ed":"After saving the rule, click \"Reapply entitlement mappings\" (app → Users → More Actions) to push groups to users who are ALREADY assigned — otherwise existing members’ groups only sync on their next change.","text8ab0c5b1563c":"You need Manager access on a project to attach a group to it.","text8abbd42123cd":"Provider distribution, failover, sandbox fleet, and migrations.","text8abce8d69fe4":"Agents, skills, memory, connector config and triggers are all text in one repo. Not settings in someone else’s database — files you own.","text8ac2997f797e":"Place on busy or patterned backgrounds","text8ac767353080":"Read only","text8ac99b162663":"Jump to message","text8ad8f6d178fb":"supabase-db","text8add5fd1782e":"Parent:","text8ae419f2b5b1":"Create one, then assign it from Members or Projects.","text8af21acebf14":"Could not restore that prompt","text8af666ebb4c8":"Open source and self-hostable. Any model, your keys. Kortix Cloud, your own VPC, or your own on-prem network.","text8b168cb79501":"{value0} picked","text8b1e946a28f2":"The shipped default is permissive: an action runs unless you have said otherwise. This is the single most important sentence on this page for you. Set Ask and Block explicitly, per action or with a pattern rule, and note that a rule can match on the arguments and not just the tool name.","text8b2085f74dfa":"Manager","text8b21058f3253":".*@customer-[0-9]+\\\\.com$","text8b2e3db6128a":"Open in Audit","text8b3305c40176":"One-click install - authorize Kortix in your workspace, no setup required.","text8b3453d30dd9":"Open Browser","text8b398aa4380a":"enterpriseAccordionSelfhostTitle","text8b46aff86ab6":"PageSearchBar","text8b50c9763ebf":"Both are entries in kortix.yaml, so both have a history and an author.","text8b5b847c92d6":"Current page {value0}. Edit page number","text8b5b9b72f2ec":"Connect the built-in Slack channel. The connection appears automatically after installation.","text8b624587552a":"Failed to mint the token","text8b64afef1a24":"Nothing prepared yet","text8b728638c006":"will lose the bypass. Every action goes through the normal permission checks again.","text8b7d1a3187ab":"OpenAI","text8b898ca34ce7":"Uploading","text8b9965f7aaa5":"Add an access policy","text8b9c643731c9":"Trigger","text8ba30093bb74":"Opened a change request","text8ba3744d6b1d":"Download App","text8ba58b8ca233":"I’ve created a custom SAML app","text8ba5fa59166b":"A fresh branch is cut","text8ba607b13cd0":"Choose a project","text8bb2b50055b6":"A connector belongs to the project, not to a laptop or a login. Add it once and every session that project starts can reach it — with no second setup and no key passed around in a DM.","text8bbecc2acd82":"Set identity provider metadata","text8bc1d53cc57c":"In","text8bcac7908eb9":"-----BEGIN RSA PRIVATE KEY-----","text8bd901c25ba7":"R&D — platform","text8bf73992ff9b":"There is no separate provisioning step and no console to click through. One command brings the stack up. One more decides which Kortix your CLI is talking to.","text8bf926d1ef32":"Set up SSO","text8bf9bebf8b3c":"The company learns one approved commit at a time.","text8bfaeec7acfe":"Updated session","text8c02ce3010aa":"Toggle enterprise demo","text8c03a1555d80":"Why consultancies and AI-transformation teams need one Git-backed workspace for agents, memory, connectors, policy, and auditable work.","text8c061bef8878":"Azure AD","text8c06bb595b3b":"Release notes from the actual diff","text8c1273431a31":"We credit reporters who want it, once a fix has shipped.","text8c32a6e96921":"Open positions.","text8c34dc15d112":"Applied after the switch above, so it can withdraw managed models from an otherwise entitled account.","text8c477e13ad00":"Sound on","text8c4e24be27f2":"Change what can do in .","text8c4eef5ab253":"This week","text8c5430fac0d9":"Ready in 8m 42s.","text8c5fe5f09fc1":"Members see your brand from the moment they sign in","text8c64de57e442":"Choose the \"SaaS\" application type, then select SAML (not OIDC) as the protocol. Give it a name such as \"Kortix\".","text8c67b476d59b":"Leave off to accept every inbound sender. Turn on to allow exact emails, domains, or a regex.","text8c6bc099534a":"Blog","text8c70b25cbbbe":"agents","text8c78cadbcda5":"This authorization request doesn't exist or has already been used.","text8c7bc20d5110":"Any source","text8c85b6639e62":"engineering","text8c92dea1569a":"Take the \"SSO endpoint\" Cloudflare shows for the app and append /saml-metadata to it — that URL serves the SAML metadata XML.","text8ca344247c18":"Motion","text8cae0a15ed1e":"The \"Set up Single Sign-On with SAML\" page opens. Locate the \"Basic SAML Configuration\" section and click the \"Edit\" icon in its top right corner.","text8cb21e2a5846":"Delete token","text8cb3ee3a3f71":"8f2a1c4  invoice-clerk: stop guessing at refunds","text8cb650539ec8":"Search sessions","text8cb710cc3e6b":"#131","text8cc3665e5926":"Start with one department, connect the tools it already uses, and turn the workflow into a Git-backed AI command center the client can own.","text8cc5134a8213":"Uploaded images replace the Kortix marks for every member of this account. The dark variant is optional — without one, the light image is used in both themes.","text8cc5e95eab10":"I’ve created a SAML app integration","text8cceadd3fb48":"review center inbox approvals awaiting waiting needs you outputs queue","text8cd003e6301b":"⌘S","text8cd05146050d":"Runs the full cycle: discovery, scope, build, handoff, expansion.","text8cd1f7bcdc71":"Step 1 of 2 - paste the manifest into Slack and install the app.","text8ce16e33b27d":"You can revoke access at any time in your account settings.","text8ce429d50e7c":"Under \"API Connection\": paste the Tenant URL into \"SCIM Base URL\" and the secret into \"SCIM Bearer Token\", then click the \"Enable\" button (save the app first if prompted). OneLogin validates the endpoint and \"API Status\" then shows a green \"Enabled\" — that field is a read-only indicator, not a control you set.","text8cea8af247c2":"Could not queue your message","text8d0218f233bb":"Preview :{value0}","text8d0a49d459d7":"Failed to rename session","text8d0cef2d3405":"Couldn't load this conversation.","text8d1833ac5f65":"Name a path or command to give it its own answer — everything else keeps the setting above.","text8d199c5ef725":"Emoji and Icon side by side in one popover —","text8d1de2c70516":"Nobody else can open this session.","text8d1f957173ae":"Preferences — {value0}","text8d203fb59621":"The refresh, and the quality sweep","text8d23e28a391d":"Reconciliation, variance analysis and the schedules behind the close, run on a machine that shows its working. Every figure traces to a source, and nothing posts to a system of record without approval.","text8d2be39d6187":"Anti-Patterns","text8d2dd4e8c7ca":"Unset","text8d359019e29f":"It improves itself","text8d3df7003a8d":"This deployment exposes no per-project feature flags.","text8d4800aa530c":"Disabled service account","text8d49ce8a5936":"One per line. Matched byte-for-byte at sign-in; https everywhere except localhost.","text8d525e5f158b":"Copied","text8d56fc37564c":"Use your own Azure bot instead of the managed Kortix bot","text8d59829c1e15":"Usage","text8d5ac88c84ff":"Let another app start an agent by sending a request.","text8d5b051dd6bb":"Easy connect covers 3,000+ apps through their own OAuth screens. If your sales stack includes something that is not in that catalogue — an internal quoting service, a regional CRM — it is still reachable through OpenAPI, GraphQL, raw HTTP or a remote MCP server.","text8d5ee8fe6a2e":"Model switched to {value0}","text8d602d64e902":"Download Kortix for {value0}","text8d63209935bf":"File saved","text8d657f373582":"Delete Trigger","text8d669b2101c9":"The link may have been cut off when it was copied. Open the complete URL, or ask the agent that sent it for a new link.","text8d70026dc329":"// Page header <div className=\"... animate-in fade-in-0 slide-in-from-bottom-4 duration-500 fill-mode-both\"> // Search + action bar <div className=\"... animate-in fade-in-0 slide-in-from-bottom-4 duration-500 fill-mode-both delay-75\"> // Content area <div className=\"... animate-in fade-in-0 slide-in-from-bottom-4 duration-500 fill-mode-both delay-150\">","text8d71559c9817":"From URL","text8d75c18adecc":"Unable to display workbook.","text8d927c4e2875":"Listed SCIM resource types","text8d9bb76e99d5":"180,000","text8db3d1ec199a":"The connector and exact action, the agent, the person or trigger behind the session, the outcome, a hash of the inputs, and who released a held call. The gateway that resolves the credential is the same thing that writes the row.","text8db700617f19":"env:","text8dbf35488c3f":"Edit on GitHub","text8dc2c5ef44fc":"Viewed MFA requirement","text8dc321b9135e":"msgs","text8dc805ff2b6c":"Execute commands","text8dd65d0952ed":"Guide","text8ddaaf20bb7d":"Bring any MCP, OpenAPI, GraphQL, or HTTP tool","text8ddb6af74aaf":"Engineers shipping the platform","text8ddf68018449":"A tool left on Default has no rule of its own and falls through to the project default. Until you set that default to risk — reads run, writes and destructive actions ask — an untouched project runs everything.","text8de470893fb4":"Every layer an AI workforce needs — unified.","text8de4e0ea7370":"Sales","text8de993d52a11":"Encrypted per project","text8dec007c368b":"Paste an existing App","text8dff4458510f":"· Globex → Negotiation ($90k)","text8dff8c0800fd":"Add inbox","text8e077406440b":"Distilled","text8e0e8d4bbd58":"One machine per session · one branch per session · merge is default-deny","text8e1508972fe3":"Used admin bypass to view session","text8e15f0dbfa86":"is registered. Put the client id","text8e16c3574f07":"The repo itself","text8e16e780b661":"Marketplace — Kortix","text8e3784778668":"Give this to the other app. It starts a run whenever it receives a request.","text8e37953d23da":"Value","text8e39fbfbaa8d":"Connector approval","text8e44b0b44ff0":"Open \"Provisioning\" in the left nav and click \"Get started\" (first time) or \"Edit provisioning\" (if already configured). Set \"Provisioning Mode\" to \"Automatic\".","text8e47e838d897":"Ignore requests you don't care about. Leave empty to run on all of them.","text8e4a53297966":"The whole file, including both header lines. Stored encrypted and never shown again.","text8e4a6d907944":"Pick the group this person joins.","text8e4b72ca2511":"Waiting for your answer","text8e5381229b65":"Identifier (Entity ID)","text8e5a984b8a84":"Kortix encrypts credentials and applies the selected authentication strategy to upstream requests.","text8e5d6f03865c":"This change breaks {value0}, so it can't be applied yet","text8e5ea509893e":"Tabs","text8e643cba1dff":"{value0} LLM · {value1} compute · {value2} other.","text8e6a6cca7aae":"Step","text8e6b01cdb99a":"256px 256px","text8e713f9ca03d":"Cloudflare SAML attribute statements showing the groups attribute","text8e76a94ac832":"Summary","text8e838c460986":"Approved by","text8e8a12e4e1f7":"Run an agent automatically — on a schedule, or when another app sends a signal.","text8e8d76bd474e":"Install it to your workspace","text8e9c92c65326":"enterpriseAccordionSoc2Title","text8ea44187f958":"kortix self-host start registers the selfhost host for you and makes it active.","text8eab22952758":"Kortix Security","text8eaf7102931a":"Sign out this session?","text8eb07f243576":"OpenCode, declared in the repo","text8eb1b3140390":"Copy the sign-in URL below and open it in a PRIVATE / incognito window (so your own logged-in session doesn’t auto-complete the test), enter a test user’s work email, and complete the sign-in at your identity provider.","text8eb3ea9bbde6":"Auth","text8eb4917bbe54":"Failed to update","text8ebe73f4611c":"SSO, RBAC, audit logs, secrets manager — and open to audit.","text8ece895c9b32":"Assign","text8ee44827f076":"@markokraemer","text8ee55188dd78":"\"How much carry-over do I have?\"","text8ee57323a6f2":"All statuses","text8eed761b53a9":"Viewed pending connector authorizations","text8ef21fbafcfa":"Show legacy configuration","text8ef7823ca89b":"Guided setup","text8f0059a35e90":"Replacing the current connection","text8f01ef647d1b":"System-wide banners and the full-lockdown switch.","text8f0b0d462a16":"Static credential","text8f0d706fff25":"Connector","text8f169be1ff6f":"Stripe customer","text8f1cc42d7c1c":"Machine","text8f2364e11b8b":"Day","text8f2de600bf94":"Managed","text8f32a6089679":"Your warehouse, however it is actually reachable.","text8f39bed6c5fc":"Resolved approval","text8f43efcd9139":"Session restore failed","text8f5fca25f1a7":"Sessions last 7d","text8f619950b088":"Your IdP pushes on its own schedule — Entra ~every 40 min; most others as changes happen.","text8f624e45d6bf":"Loading preview","text8f6e69f092b0":"Scoped to one project and narrowed again by what that agent is allowed to touch. Turning a connector off takes effect on the next call. Nothing in the sandbox needs rotating, because nothing in the sandbox was ever a secret of yours.","text8f6fa53e2d6b":"Toggle enterprise features demo","text8f6fb4eb7f42":"Security","text8f8f4562abfa":"Markdown in your repo, not in a head","text8f92b613b922":"Files in a repo you own","text8f98d1ea9df6":"In the Okta admin console, open the app → General → App Settings → Edit.","text8fb80e5e42b5":"webhook-retry.ts","text8fb82f06ce29":"The workbook is derived, not typed. Each line carries the query or the document it came from, so the review question is \"is this the right source\" rather than \"where did this number come from\".","text8fbf6e7011a3":"Pick where you want to start.","text8fc09bfec5dd":"Every Kortix deck, built to be presented and screen recorded. Arrow keys drive it,","text8fcebe5ba9b8":"Placed in the session at boot, by name, on tmpfs at mode 0600.","text8fcf8ce07dcf":"Failed to rename","text8fd4602d9483":"Credit burn per day","text8fdced5e1b26":"Autonomy is shifting from humans to agents.","text8fdd2ee8475e":"Basics","text8fe59e9c75b0":"I’ve filled in the configuration","text8ff8f500ce2e":"Trigger managers only","text8ffc09d9f8d7":"Entity ID","text8ffc985736b1":"Files, on a second directory","text9008189d76a3":"We do not hold ISO 27001 or HIPAA, and we do not imply that we do. When a report lands, this line changes that day and not before.","text900fe12faa26":"Solutions","text9010bfd70cbc":"The recurring analysis nobody wants to own","text9014b90b5360":"Steps and thinking stream live while Kortix works","text902baecff4db":"Sparse path","text903237107ab6":"This file has no preview.","text9045e34e96f2":"Nothing is shared, because nothing is shared.","text904cdac178a7":"Write the schedule. Read the change request.","text905a97d81301":"View everything","text906115657390":"Delivered","text9061383b8e22":"Response","text9064fade0bec":"connectors","text907638b5c67c":"The kortix-agent daemon is baked into the snapshot, reachable over /p/<id>.","text907c7115cf85":"Screenshot","text907fe6418f0c":"The controls that matter here are not about the model. They are about which outbound calls are allowed, who approved them, and what you can prove afterwards.","text9084329b6fec":"Bring your own API key from any major provider, or use ours","text9087fdfc49ff":"The same stack inside your network. Isolated and air-gapped topologies need the sandbox tier moved inside with it, which we scope with you.","text908aa27de870":"List models","text90aa768f3864":"Work that starts without anyone asking.","text90b1ad72d8b7":"Couldn't load this item.","text90c889e0b6ff":"An earlier sandbox may retain the previous value. Rotate it at the provider, then save the replacement here.","text90cc8430dca3":"Plain files today — readable, diffable, versioned","text90ccaee30bdc":"Add a custom connector","text90d30b78cf91":"connector.call(\"gmail\", \"send_email\")","text90d42949dc52":"Access → Applications","text90ddf1963abb":"Tab","text90e63d85fa1a":"minutes","text90e8d06c0309":"Collapse preview","text90ee305714d7":"Stable","text910ab2c6e011":"Per provider","text910f24c520e1":"Eligible project members can use this connection.","text9118f944fba6":"Failed to cancel scheduled change","text911a1cde90bc":"OAuth 2.0 device connection failed","text91273d498d36":"These","text912c257cf5b2":"No groups match your search","text9136c4647e36":"Identity Management → \"Test Connection\" → \"Activate\", then bind user groups on the \"User Groups\" tab — bound groups and their members push automatically.","text91399bbb1fbb":"Viewed project audit log","text9145379b9103":"Google custom SAML app dialog with the App name and icon fields","text914be6d9bb89":"Failed to update sandbox provider","text914d43beac26":"Remove access?","text91546e704c9e":"Sign On tab with the Metadata URL and Copy button","text91549baf8cfd":"read once, used every session","text915b64b69378":"Request demo","text9162870710da":"The onboarding run, on the start date","text91711fc538c6":"Before the roadmap meeting: what moved, what slipped and why, which assumptions in the last spec turned out wrong. Assembled from the tracker and the repo rather than from memory.","text91721aa63069":"Service errors","text9173e2705c5b":"You need the manage-keys permission to view gateway keys.","text917ffd97c41a":"Machine Bonus","text918174950933":"A command needs the sandbox running — send it again in a moment.","text9181ff5dca36":"A key is granted to a session, not pasted into a prompt.","text91901080526c":"localhost:","text91917f9b1159":"The test of sovereignty: can you swap the model without losing what you built?","text91919987e58f":"roadmap-review","text9195d5be761a":"Deploy api@a1b2c3 to staging","text919bb4cb2182":"Account ID","text91a5715f7014":"Lands as","text91a6f3f66df4":"Posted to #revenue · top loss reason: price","text91a709a56ffe":"Left account","text91a8ab20e938":"profileUpdated","text91ab4d7e7d3f":"Added people to the group","text91b27757c3fd":"Please enter a valid email address","text91c25d5354de":"A model provider key. The LLM Gateway is off for this project, so it loads into the sandbox environment and OpenCode connects the provider natively.","text91c41abbc611":"Credits granted","text91ce3d37da84":"Within 5 business days","text91ce76a573e5":"The production path. Point a domain and its API subdomain at the box, open 80 and 443, and the bundled proxy takes out a TLS certificate itself.","text91da9626894c":"Stored","text91dba14806eb":"Repo","text91de1d3518d8":"Pending access requests","text91e222e24b7f":"proximityHover={false} keeps the layout and dividers but drops the magnetic highlight — for read-only groups where nothing is clickable.","text91f71c14c8d6":"Export CSV","text91f850fa869b":"Change requests","text920e413c7d41":"Status","text922315177668":"All the launcher can see","text9224d9e82502":"Back in \"Provisioning\" → \"Settings\", set \"Scope\" to \"Sync only assigned users and groups\" — it only appears here after credentials are saved. Then click \"Start provisioning\" at the top of the Provisioning overview page (or \"Provision on demand\" to push one assigned user instantly instead of waiting for the ~40-minute cycle).","text9225e456b795":"Mention your agent in a Teams channel or chat.","text895ce927db2e":"Personal chat","text28c7d3f8b75d":"Group chat","text72b5b0c53de9":"Replied in Microsoft Teams","textfc73e9ad2dae":"Replied in Slack","text8faf56a14a8d":"Replied in Telegram","text8ccfe10f2f2d":"Publish to your Teams catalog","text36f6474748b3":"Publishing the app to your Teams catalog…","text45b9df5730ac":"Waiting for a Teams admin to approve the app","textdf5e72815836":"Catalog publish failed","textbfd886d0029b":"Microsoft Teams connected. The Kortix app is in your org's Teams catalog.","text65228e6e414d":"Microsoft Teams connected. The app is waiting for a Teams admin to approve it.","textf5262c55d1be":"Microsoft Teams connected, but publishing the app to your Teams catalog failed.","text76930360e909":"Microsoft Teams connected. Publishing the app to your Teams catalog…","textb8d155eea2ab":"Microsoft consent was declined.","textd4b32aea5c4a":"Microsoft Teams is turned off for this project.","text57ef9e5e8110":"Teams one-click install isn't configured on this server.","text9233263288f5":"Invite people to work in this account.","text92340695899b":"Active","text9241c5f73c2c":"{value0} apps match","text9250684654f3":"Shares nothing","text9253b4fa8e06":"Paste a key — it saves when you click away. Everyone on this project can use it.","text92548af349d1":"Image must be less than 5MB","text92553541af30":"shared config they all run on","text92578777350a":"Which groups: \"Groups assigned to the application\" (keeps the claim small).","text92600913f25b":"[11px]\">Label</span> <span className=\"text-","text92660bfeed73":"Last used 4 minutes ago","text926859e51f61":"No memories found.","text926cd23cff57":"Connect once","text928228f0f221":"Failed to delete sessions","text92833b623496":"Mint a token & point your IdP at Kortix","text9288485a72e1":"Docs that have drifted from the code","text9293b654b15a":"Ask in the thread. Run onboarding on the start date.","text929e6e7385a0":"A company you can clone","text92a089d9e543":"Your Kortix account is connected{value0}. Kortix is picking up your {value1} message now.","text92a15b76467d":"Emulates a paid tier for a fixed window. Billed tier stays","text92a2b9bf13be":"No other members in this account yet.","text92a4120f7589":"Rebuild started","text92b8d535557e":"Open source and self-hostable. Your data, your models, your infra.","text92bb0a437a39":"Solving the merge conflicts with an agent…","text92bfa8a05e5a":"Hide compaction summary","text92c1cdfdf4cb":"Enabled","text92cd11d7f50e":"Managed models","text92ee0233f013":"Repeats","text92f91971fba0":"The same images","text9304e38e3397":"Selecting users and groups to assign to the application","text930e88b3c9d1":"It writes down what it excluded","text93168435f3ae":"No content received","text931f3ba125af":"The updater checks once a day at a time you set, runs the migration, then starts the new services before it stops the old ones. Track the curated stable channel, ride latest, or pin an exact version and never move.","text9327db7e65c0":"SQLite (per-region)","text933fa0a7927b":"Because the code came with it","text9344780e831e":"02 · Credentials","text934652dce41d":"Instructions","text934819f49e74":"what the session gets","text934b6af41253":"API key saved","text934baec253f2":"How it runs","text935176c7f960":"PowerPoint Presentation","text937174f94275":"Ask before the meeting. Run it every Monday.","text9372c470eead":"model","text93821eb7ce8c":"Authentication failed","text93ae826087ca":"No projects match these filters","text93b4519b9be9":"Entra runs its scheduled provisioning cycle roughly every 40 minutes — changes apply on the next cycle, or instantly with \"Provision on demand\".","text93bc06df8dd8":"This server answered without credentials. It does not need an OAuth connection.","text93bce1d8f18d":"Only the session's creator or a project manager can view and revoke its public links.","text93cf8ed6d1fd":"A service account is a first-class machine identity the account owns, not a human token wearing a hat. Policies attach to it directly, and a request it makes is evaluated purely against its own policies — it never inherits the reach of whoever created it.","text93d6bb239aae":"No policy = a locked door: Cloudflare denies everyone until at least one Allow policy exists. This is the most common \"SSO redirects but access is denied\" cause.","text93d6de7104f0":"Remove icon","text93dcf1d1d25e":"Weekends","text93e404732659":"Start a session to give this project its first task.","text93f4b14c9e2b":"No active notifications","text93f5222a6e5c":"- Escalate only what needs a human","text93fbaf02beca":"01 · Isolation","text93ff375b607b":"\"nameIdentifierFormat\"","text94001501b514":"Owner approval","text9408211c997f":"1 → main","text9414211277f7":"Secrets, approvals, and the way work lands.","text942087cc2d41":"Retry","text94238580b1b0":"github_pat_...","text9428545e3f14":"The most the app may ask for. Each sign-in can request a subset.","text942c6f6ff2aa":"Deleted audit webhook","text942f5601d8d2":"Black & white with golden yellow accent","text9432ea9b7e09":"Never runs","text9436d4696192":"Provisioning → Overview → Current cycle","text9437e4118b7d":"Balance ≤","text943d10d61cf6":"contacted","text9440034dd37f":"Configuration → SAML","text94422a13022e":"My chats","text9443f43e1374":"Test API Credentials","text9443ff69463e":"Advanced options","text944d0d9280a1":". Every group member will lose their inherited","text945491ab1fc3":"Bearer token — Okta HTTP Header mode","text94583b94ead4":"Hand a sales agent the research, the pre-call brief, the CRM write-back and the follow-up draft. Nothing sends until you approve it, and every action it took is written down.","text94590e163d12":"Members will appear here once users are added.","text945ce03ec79f":"Support inbox","text9460f16ac9b5":"Capabilities","text9471197a871a":"Agent · {value0}","text94835ea2fcf7":"Inbox","text9498be620d80":"Opening your project","text949aff7c5b57":"It is not shown again. A lost secret has to be rotated.","text94a1181cd13e":"No repositories found","text94a18ea1d428":"You are…","text94a313f2864b":"plugins/codex","text94b07d6ef68e":"+6,700","text94b99e22ec24":"It reconciles the ledger against the bank, chases the receipts that are missing, attaches them, and closes the month with the variance explained.","text94b9fd8b890c":"It reads the invoice, extracts the fields, proposes the cost-centre and account coding against your own chart, and puts anything it is unsure about in a queue for a person rather than posting a plausible guess.","text94c0f4d10610":"Rolled back to version {value0}","text94c116ee118a":"Analytics","text94c41c2953b9":"Two commands","text94c7226773af":"Only run when","text94c8919486af":"Connect Slack or Microsoft Teams to a Kortix project and a message in a thread starts a session. The agent works on its own cloud computer and replies in the same thread. Email is in preview.","text94d4a7d0d558":"the only way back","text94da52ecd6c5":"Default agent","text94e0d14dbf98":"Describe what is happening and when it ends.","text94e8eeb4d760":"Search curated sources","text94ea9b1d33a0":"Show less","text94f5e55e39ef":"Session expired. Please sign in again.","text94f69e8f103e":"Copy failed — select and copy manually","text94fae5d8ff3f":"marketplace.json","text94fee62e68e2":"Bold","text950302156eb7":"I’ve assigned the test user to the app","text95056731a4ce":"From the thread you are already in","text9505cacb7c71":"commit","text9512e37d4a15":"Open in Claude","text952144fe1418":"Kortix Agent","text952de9b7d9e0":"Or your own models, behind your own URL — anything OpenAI-compatible","text9532a08e3f63":"— it's paused until you decide","text9538346557b5":"Failed to grant credits","text953fd0581239":"Each row carries the record and the thread it drew from. A claim about an account that you cannot trace back to a source is a claim you should not act on, so it does not make one.","text954401fb96d1":". Switch to Pick to change it.","text954bd1fe66b4":"Create a workspace","text954f5f9042e8":"an account owner or admin — they keep Manager access on every project regardless of this group's role.","text954fcf76ac50":"Preview ready","text95577331c37a":"Session id, sandbox id and branch name are one and the same string","text956146906c59":"Delete \"{value0}\"? This cannot be undone — and if your identity provider still pushes this group, the next sync recreates it (without its project roles).","text956d3b01e6ca":"Nothing merges itself","text9574f64a20a6":"Mint a bearer token for an IdP connection. Each connection should get its own token so revocation is targeted.","text9577487fd26d":"Spawn agent","text95779fa23e0c":"/marketplace","text957e1734ae0b":"Streamed session turn","text95819284355b":"Remove SSO provider","text958c8e06d3e7":"Email disconnected","text9590cb5df0a8":"Rides into every session automatically","text95aa6dcb7c78":"Your app → Configuration","text95ba4ed9329f":"Click","text95ddc9c4dfd3":"Git repo","text960b49e3fb03":"Deleted SCIM group","text9615b09969df":"A cron trigger runs the hygiene pass and the gone-quiet sweep before anyone is at a desk, and posts the worklist into the channel. Triggers name the agent they run as, so the overnight session gets no more reach than the daytime one.","text961a6062ba1b":"Stripe","text961c25e7d44b":"On the App's GitHub settings page, under About.","text9627c3d54219":", its assignments, saved connections, and tool rules. This can’t be undone.","text9640e38947da":"Search accounts, owner emails, IDs","text9648d371aee7":"Granted super-admin","text964a40d78cbf":"Couldn't load SCIM tokens","text964e5f88d036":"Loading more…","text965609f12205":"Your data is two directories and a file","text965b516df3ba":"Nothing matches","text965bc32426d7":"Previous result","text9665df5c23d6":"2 of 4 · 60 minutes","text966761671cbc":"Could not update the signing key","text967458798444":"need a look","text967549497036":"Deselect all","text9676bdc9332f":"Connect my account","text96879611650f":"active","text968cf44e4d9c":"A command starts its own turn, so it would interrupt this turn.","text968d0a9d24a6":"Copy snippet","text9696f2b4e020":"my-api","text969a25894852":"Migrate to another provider…","text969a8a299f18":"project · sandbox · trigger","text969ccbd3cf63":"Email","text96af819328e8":"This account has no billing set up yet, so sessions can’t start.","text96b35ed9b0a7":"Add an application → SaaS · SAML → app configuration","text96c86360a9ed":"- Surface upsell signals for the AM","text96cacd66b9d1":"The requests that arrive faster than you can answer them.","text96d7604c9dc8":"Added Email inbox","text96e743d6c46e":"Saving…","text96ea07dfbadc":"The members and groups you pick, in addition to trigger managers.","text96ebf244c101":"- Flag anything legal needs to review","text96ed94a7e3ac":"All clear","text96eee4781551":"Started OAuth authorization","text96ef9c0ac0c9":"Agents, skills, commands","text96efbfd36ce5":"columns={value2} wraps the group into a grid and resolves the nearest card in two dimensions, so the highlight travels across rows as well as columns.","text96f0c06bbcb7":"Developer tools","text96f2482de866":"Load more events","text96f49f149e38":"22 mo","text96f64f836aa3":"Project members","text96f660c6ea36":"renewal: 2026-09-01","text96f78a1908b4":"Choose additional members and groups. Project Managers always have access.","text96fa8ecff679":"Connected directly from its API description rather than through a middleman: Kortix reads the specification, works out the authentication, and turns every operation into a tool with its own answer.","text96feb5be077d":"Members and groups granted this agent. They inherit its connectors and secrets as their own.","text9715b82f0966":"(Azure AD).","text971b61f8cb4d":"No agents yet","text971ed7129524":"Wake this App up","text9720774edbde":"Upload a file or create one — you can also drop files anywhere on this page.","text972edfcb5202":"This file is {value0} in this version","text97388e063370":"Git & Reviews","text9754e2d14f9e":"×1 to stop","text9757b0277bb1":"Low balance","text9757ccd5ef12":"Edit message","text975aa2ab538e":"Inherit platform","text975f39d61b4d":"{value0} can now view this project","text9776aace7938":"Select SAML as the single sign-on method","text977a4b128baa":"Nulls where there should not be, distributions that shifted, joins that started fanning out, a dimension that grew 40% overnight. It reports what moved and what it thinks moved it — and says when it does not know.","text977f3b2676a9":"At least 8 characters","text978fb29c5424":"No models declared.","text979f490e2ae0":"Downloaded {value0} as {value1}","text979f4dd1cea4":"What this role is for","text97a06e9ebebb":"- Draft the thread, blog, and changelog","text97a6a4e757fa":"Use raw <button> for interactions","text97a81dfde630":"Scope updated for","text97adfba5ca4f":"      titled `memory: ...`. Exit without one when","text97b17ccaf172":"Image is too large (max 1 MB)","text97b3f2754a46":"Two ways to run it","text97b7e2db799e":"unverified","text97b8900228c8":"Create App Integration","text97c60c222a1a":"Choose one project-managed connection the whole team shares, or a personal authorization where every member acts as themselves — and an automated principal cannot act at all.","text97c8335e2880":"Spent this period","text97cf9dbf46ed":"edge — only what you chose","text97d0b1171f3e":"No workspaces yet","text97d380a872eb":"The question, in the thread it was asked in","text97df9d6eae8f":"Last sync activity","text97eb27bdb657":"kortix.com","text97eed343805f":"Real work, not chat","text97f1a47d1742":"Illustration. The paths are the real shape of a Kortix project, the copy is fictional.","text97fc3d60fab5":"Open verification page","text9813c7409f4b":"Failed to load roles","text9819d9aeec29":"Add your own {value0}","text982aa9d2037b":"emailCopied","text9839dbb8a3a8":"Your app → Sign On → Metadata details","text983c56bd9433":"160ms var(--ease-out-quad)","text983ebcce2a1d":"The test user must be allowed by your Access policy (Cloudflare has no per-user app assignment) — a denied sign-in almost always means the policy is missing or too narrow.","text98433e61649a":"The agent is still working — restore is available once it finishes or you stop it.","text985959785319":"Project","text9859804cb618":"Compaction summary","text985a580ee200":"Leave blank to keep the current password","text985e129a42ac":"Authorization: Bearer ••••","text985e5d4659aa":"Easy connect covers 3,000+ apps through their own OAuth screens. Where a tool is not in the catalogue, it is reachable through OpenAPI, a Postman collection, GraphQL, raw HTTP or a remote MCP server — the same three-minute setup, one step less magic.","text98873c1215d9":"Previewed gateway routing policy","text9888c8324cb5":"read the code.","text988c3f87ad11":"Any SCIM 2.0-capable identity provider","text988d146cc0be":"Change provider?","text98a66e9745c9":"Trial","text98aa52b34c8f":"Add a secret","text98aae8972102":"API keys","text98abff28a940":"Matches","text98b2093683f0":"Identity provider metadata URL","text98b6c1f78029":"Trial granted","text98ca0d518997":"none yet","text98d254a311d0":"Rename group","text98d27bdc2fa7":"This channel connection has no Slack workspace yet.","text98d2f310af85":"Credits in set","text98d66b217a42":"Account · Groups","text98dd14248eba":"AWS_…","text98e33b0f3104":"Applications","text98ea5e0b6642":"Attributes & Claims section with the Edit button","text98f4a5c18ae8":"Warning Banner","text98f76f3edf39":"This authorization request has expired. Run the connect command again to get a fresh code.","text98fe74b2a48a":"SCIM 2.0","text9902d7ae89e2":"Last 90 days","text990a8502b6f1":"Your IdP offers an XML download only","text9912aeb169fe":"It stops at the send","text9917a73035f8":"Set up GitHub","text991aa74eea34":"Activate Enterprise","text991d5dea595f":"100 MB","text991d9a57288f":"To keep something, it commits and opens a change request toward main. A human decides whether it lands.","text991f5a050362":"In the PingOne admin console: Connections → Applications → open the app for Kortix, or click \"+\" to add one: enter the name \"Kortix\", choose the \"SAML Application\" type (not OIDC/SPA/Worker/Native), then Configure.","text99265c6ef78c":"Open the SSO application","text992854f5b35e":"Viewed session transcript","text9937c618d525":"People with access to this account.","text99452646e34b":"Compact","text9949095feb15":"Every project's access, in one place. Pick one to see who's in and manage it.","text994cfce0cc98":"Debit credits?","text99528001baf3":"Failed to load projects","text9961fdd19fe8":"Confirm the groups attribute","text9965df7c3221":"One line on what this agent is for. Other agents read it when picking a subagent.","text996c32b35f21":"Providers","text996e47371a02":"Checkbox Group","text997173af651f":"This account does not hold admin permissions. Contact a workspace admin if that looks wrong.","text99764404a562":"Sent to the agent — it'll revise the change.","text99770dacc0d9":"App → Provisioning → Configure API Integration","text99775327d988":"Copy connection ID","text998685db4b68":"rewrite the pricing page","text998c22f68978":"Move session","text9993673dd585":"Memory Search","text9994720f645e":"Test connection passes, the connection toggle is enabled (blue), and the Username attribute maps to Email Address with a `userName eq \"%s\"` filter.","text99953938d987":"You'll authorize the account in the next step.","text999d689b4739":"Amount (e.g. 25)","text999f23fcd7be":"Identity","text99a52df3ff3d":"Key","text99a7026172d4":"light","text99ad9cd03506":"Chosen members and groups","text99b7920a96a2":"max(calc(var(--spacing) * 2), env(safe-area-inset-top, 0px))","text99b8d444065d":"96,200","text99c40ab40592":"Date","text99c62879ad37":"Admin consoles","text99ca9eb883cc":"A channel is a chat platform bound to a project — a closed set of four, not an open field. Here is the real state of each one, including the parts a marketing page usually leaves out.","text99d0edf22670":"Own the platform end to end — the agent runtime, the product around it, and the taste that holds both together.","text99db90df9291":"App updated","text99dd86336467":"No tools yet","text99ed40acbd94":"Inline","text99f4941ae829":"Switch off to stop new sign-ins without deleting the app.","text99f521dcb3fa":"This source has no browseable items right now.","text99fbfee11e96":"This key signs requests locally; egress enforcement cannot apply.","text9a01feecae67":"Copy command","text9a076574cb80":"refreshFailed","text9a07bf8b0b5f":"Sandbox Refund","text9a0da87b2e56":"Your last workspace is archived","text9a144533fc45":"Company as code","text9a1647988c99":"files explorer workspace session","text9a1ffabd3658":"Nothing reaches main without a human approving it","text9a243abe871a":"Managed models entitlement","text9a24d7803caa":"actions resolve together — one decision covers all of them.","text9a407c90bef4":"One status line until you expand it.","text9a4a0ce6a928":"Cloud, your VPC, or on-prem","text9a4b273e6216":"Requests are checked against the saved secret {secret}.","text9a59ae9e9030":"It arrives ready","text9a6a77d58095":"Who does the work — each one's instructions, model, and access.","text9a6b697e6d4c":"Drop-in OpenAI- and Anthropic-compatible endpoints. Use a gateway key from the section above.","text9a70da1bb740":"Not in any groups","text9a719be343e8":"{count, plural, one {# result} other {# results}}","text9a72221a2747":"Questions","text9a788c263969":"Which database should the new notifications service use?","text9a7b1baef5f5":"SAML2 Web App → Settings","text9a91c10f08c8":"to reveal it.","text9aa73337127b":"Branching","text9ab7f40ab45f":"03 · The gate","text9ac2a173f2b7":"Saved {value0}, but it is not applied to {value1}","text9acbb9ebea63":"Base branch","text9acf3e31d12e":"No content.","text9ad125fe331f":"Sort by {value0}","text9ad1905ba13a":"Changed account member role","text9ad6baffd025":"Switch Project","text9ada0e627aed":"An agent rewriting its own prompt shows up the same way a code change does: a commit, on a branch, in a change request someone reads.","text9adff6870471":"Copy link","text9ae2faa5b263":"Connect the first one in a minute.","text9aeb1eef4643":"and the ones you installed","text9aef8ba99514":"The agent does the work and pauses for the calls that matter.","text9af211329b2f":"account","text9af5c6042516":"Copy your key","text9af605fcac97":"Scrape","text9b016a0574de":"It reads the failure, reproduces the transformation on its own machine against a sample, finds the row shape that broke it, and opens a change request with the fix and a test that would have caught it.","text9b08dc863a27":"This clears your progress for","text9b10587f84a2":"Identifier","text9b11f6b707d2":"Monthly","text9b1a9ce91460":"Screenshot — {value0}","text9b1f0823459d":"No access","text9b1f46268884":"Kortix is the platform for companies that want to own their AI learning loop. Self-host it, connect your models, and build something that compounds over time.","text9b21dbb9a947":"Switch to Easy View","text9b26149c6be8":"invoice-sweep","text9b26d240abb6":"Scroll Area","text9b28ae2c6f79":"roles permissions access rbac policy custom role","text9b349259b799":"Pro · $50/mo","text9b3e80e7defb":"Generated chat completion","text9b5549456e23":"Copy source attribute {value0}","text9b5de1279837":"The default. Any project member who mentions the bot gets a session.","text9b68117141f2":"<div className=\"text-emerald-500\"> Success </div> <div style={{ color: '#3b82f6' }}> Info </div>","text9b69c39a29da":"Beyond the chat box: why ChatGPT, Claude, and Grok aren't an AI workforce","text9b8a8503b147":"Easy — stopped by you (W7)","text9b91e724f63b":"each person’s own account","text9b99443d24c5":"Default for every tool","text9b9a8d05a7ec":"Read","text9ba9dd084952":"Add project connection","text9bae517c4742":"SCIM token minted — both values stay visible for the rest of this setup","text9bb62f4c5a61":"Failed to add Computer Tunnel","text9bb725005055":"Before","text9bba728a8ca7":"Claude Cowork, ChatGPT Work and the rest are heading for full agent management systems an entire company runs on. That is the direction of the industry. The difference is that you will never own those.","text9bd1c37ed121":"Mention your agent in any channel.","text9bd290d1b0ce":"The newest provisioning failures, with the class the API assigned them.","text9bd88f2485ac":"Desktop","text9bf1993bf5ac":"The same CardImage stacked becomes a 16:9 banner at the top of the tile. The image keeps a fixed 2px radius in every state; the tile's own frame does the clipping.","text9bf8fe539046":"Connectors added to this project appear here for the agent to pick from.","text9bfe30eaa67e":"Enterprise contract entitlements on","text9c05aa57c149":"STRIPE_…","text9c0d133e242c":"The shipped default is permissive — an action runs unless you have said otherwise. For a marketing project, setting every publish and every send to Ask is the first change you make. It is not already done for you, and we would rather say so.","text9c1095072642":"The ledger, the bank feed, the spreadsheet everyone actually uses.","text9c12642067d8":"Installing is not the last step: invite the bot to a channel and mention it. Nothing happens in a channel it has not been invited to.","text9c1307da6d5a":"The document lands as a change request against main, marked as a draft. Product decisions do not get made by an agent here — the point is that the reading is done before you make one.","text9c18cb990345":"It could not start","text9c2b4e67342e":"This session is read-only.","text9c3e31afd941":"\"Sync only assigned users and groups\" makes this app's Users and groups list your allowlist: roll out team-by-team, and unassigning someone removes their Kortix access. \"Sync all users and groups\" gives every person in your Entra tenant a Kortix account — fine for a small or dedicated tenant, rarely what a company tenant wants on day one.","text9c4061948874":"  \"theme\": \"system\",","text9c41daf68e2e":"No provisioning data yet","text9c439825da55":"Groups are off by default — without this mapping PingOne sends none. The attribute name (groups) must match the connect-step claim.","text9c53c074d7ac":"skill","text9c550d2fd742":"The machine is a file in your project.","text9c5c537db3fe":"Pushed groups appear under Groups — grant them project roles to confer access.","text9c605b335c93":"Only the members and groups you choose.","text9c67cc26222a":"Kortix checks the connection every","text9c7d38b81f41":"Preview SSO, SCIM, advanced RBAC, and audit logs before upgrading.","text9c80e8331a86":"unsaved","text9c82b7c3ef8f":"- Flag anything that doesn't reconcile","text9c84074599b5":"Resolve customer tickets end to end.","text9c84c29601d2":"Mint a token & create the SCIM Outbound connection","text9c9582a7f332":"kortix.yaml grants","text9caa5b92ed0c":"Project members can join","text9cb1843add48":"Failed to save global rules","text9cb4d9cdbd81":"Spend by model","text9cb532588c13":"Love agents that do the work? Run a whole fleet — on your own terms.","text9cb6d01d8b29":"Change Model","text9cb8cd4d4354":"Run any model. Keep your keys.","text9cbac18aeb11":"preview built by subtraction","text9cccb4f00efb":"Open DOCX actions","text9cdc6c47aa19":"always","text9cdca2543fde":"Slack can build the whole app from one setup file — you never fill in a form.","text9cf22fd0154c":"firstName","text9cf511ca5657":"Sending now would answer it with this text instead.","text9cff331d6699":"destroyed","text9d03981932cd":"No results yet.","text9d0813f9e116":"This shared session does not exist or has been removed.","text9d1a9c5808a8":"The elevation ladder. In-flow surfaces stay flat; shadows belong to overlays.","text9d1b6cac564e":"One project, one set of connectors, one memory that compounds. Each team writes the skills for its own work; nobody stands up a second system.","text9d323314631a":"Google Identity Provider details step with the Download metadata button","text9d44b6ebf568":"It reads every page and finds where the copy claims something the product does not do, or says it three different ways. This is the job nobody schedules and everybody needs, and it is a diff when it is done.","text9d48410d14d3":"Enterprise feature","text9d4b2eae7c42":"The shipped default is permissive — an action runs unless you have said otherwise. For a sales project the first thing to do is set the outbound actions to Ask and the destructive ones to Block. We are telling you this rather than letting you assume the safer default was chosen for you.","text9d53e28e9e39":"Project-by-project access is listed in the Projects section on this page.","text9d54b2fd9149":"Bring any provider, or the ChatGPT, Claude or Cursor subscription you already pay for. The model is configuration in your repo, not a decision a vendor makes for you.","text9d5adef979f7":"Grandfathered","text9d6304b7f8dc":"Identity Management → Configuration","text9d74727714db":"Dismissed","text9da0bf42ad07":"Collapse Sidebar","text9da9bb2c2859":"I’ve entered the SSO configuration","text9db60344e984":"Reset to project default","text9db6713e88de":"Cost entries","text9dbd2a60139d":"Failed to revoke invitation","text9dbd9adc95ad":"Has Monday’s numbers before Monday.","text9dc6b57eecba":"Rotate image","text9dca2ddf3bf7":"Could not copy to clipboard.","text9dd1bf88862d":"Go to Integrations → Provisioning → \"Rules\" tab → open (or add) the rule for this connection → its \"Directory\" tab. Scope which people are provisioned with a User Filter (\"Add Condition\" on a population or user attribute) and/or by selecting Populations.","text9ddb8fcc7e8b":"Has run their own product or company. The stretch matters more than the outcome.","text9de0b8c8b34b":"Failed to leave team","text9de115cbebbf":"Weighted-random selection for new sandboxes across the available providers. All-zero falls back to the default","text9de1afb68dd7":"No file changes to show.","text9de4149fb971":"Download file","text9dea85290e57":"Total (filtered)","text9ded5a3c7a7d":"Runtime unavailable","text9dedee588b5e":"Kortix requests a token before saving. It encrypts the configuration and refreshes the access token before expiry.","text9dee2a1acfd9":"The model this agent runs on is set in its source file. With the model gateway on, a per-agent pin can override it above.","text9df141eadb06":"Open in Kortix","text9df6b026a8c6":"service","text9df96b5f7d02":"so the agent's own outgoing messages can't set it off again.","text9e0449fd24b6":"{value0} is back on its billed tier.","text9e079c7df9f1":"Search projects","text9e0bb75942fd":"Spend & gateway","text9e1b76d01c46":"App → Authentication → Login methods","text9e1d0bd6290f":"This permanently disconnects","text9e217716c4e0":"Trend","text9e296f576cba":"Trial revoked","text9e2fda379985":"A project-wide rule sets this to \"{value0}\". Project rules are evaluated first and win — anything you set here is ignored for this tool.","text9e37afbe968f":"'s new secret is shown. The old one has already stopped working.","text9e46005ff736":"Scope users and select groups","text9e471951a1b4":"Environment","text9e4c47f88d69":"Download folder","text9e4c8fccd622":"      memory: 4","text9e4e9bf26067":"User Attributes","text9e55b28c22d0":"Could not delete secret","text9e5ea6b4c372":"<div className=\"text-success\"> Success </div> <div className=\"text-info\"> Info </div>","text9e670f8d6e43":"Editing the file, not re-prompting","text9e709348f582":"Create your account","text9e796567bf87":"isolated sandbox","text9e7d85a50dc3":"ms)","text9e94cd6863bc":"Directory-driven user provisioning.","text9e957a44dafa":"The Kortix layer — one file, at the repo root.","text9ea1fed5d2c1":"Copy source","text9eac6691c9ff":"Computer Tunnel deleted","text9eb5ba7f83b0":"Copy failed — select the text and copy it manually","text9ebbc86cb85b":"The server failed to answer ({value0}). Retrying may work; the details are in the server log.","text9eddf573cb50":"Metadata","text9ee1f41d408d":"Failed to save overrides","text9ee1f7947bfb":"Who can open sessions this trigger creates","text9ee90d672fdb":"Deleted SCIM user","text9ef61f308b40":"The agent needs your permission","text9ef8458f5ff0":"own filesystem","text9f0729000e20":"The description is the trigger","text9f088dbebd6c":"Advanced","text9f18644f852a":"Or sign in with the ChatGPT subscription you already pay for","text9f2198f23b84":"Used at the end of the web address. Built from the name if you leave this blank, and it can't be changed later.","text9f23689047d0":"Reading the ledger and writing to it are different actions. Set the write to Ask and the run pauses at the call with the exact entry in front of you; approve and the same call completes.","text9f2c59a113db":"Removing","text9f382d463ed1":"by project","text9f3d1b008e46":"SCIM Bearer Token","text9f46497fbf67":"JumpCloud include group attribute set to groups","text9f487c7a828e":"Open & yours","text9f4f0fa7e685":"Close-lost: no reply to three touches","text9f528e32ee1f":"Every grouping opens up","text9f58ef2bda65":"Use the same Okta app integration you created for SAML SSO.","text9f5eff06b203":"Filter, sort and inspect every account. Grant or debit credits, read the ledger, and see billing state.","text9f65b66d4940":"Attach {value0} to a project — every member inherits the role.","text9f760ab20739":"Waiting for you","text9f875cecd1c5":"resetSuccess","text9f8db97a5d1a":"# support-triage","text9fac860db4d4":"Kortix’s own upstream provider keys, which no sandbox may hold","text9fc6a9fcbab2":"Attached to project","text9fc7f1166869":"Searched","text9fc96058f7cc":"  optional: [LINEAR_API_KEY]","text9fd728c66c9a":"Add","text9fdd73a806a4":"A list must have every value match. A missing field never matches, so an allow-list fails closed.","text9fe4c68ec20d":"Driver","text9fe54d716290":"Occurred at","text9fea890294c8":"Ship a launch the same way every time.","text9ff8cfaf7d94":"Network error. Please try again.","text9ffa865f2bc6":"Human","text9fff0d5d1053":"Organization branding","texta0102232ab2b":"Create the following attribute mapping statements:","texta019a77aa6df":"browser chromium agent viewport automation live stream","texta01e54c04671":"Removed from the Entra group → the mapped Kortix access is gone on next sign-in.","texta025e07fb9e1":"SSO configuration","texta02979216a1f":"POST /start provisions the sandbox and streams readiness over SSE.","texta03062cfdcc9":"    type: webhook","texta039dfb9628b":"Tokens","texta04f0df9baba":"Kortix in the browser, showing a project and its files","texta06dbdcd0f3d":"The terminal service did not respond. Retry the connection.","texta06efd337206":"This workspace asks every key to have an end date.","texta085437ccc11":"Load more connectors","texta086ad00c629":"One repo","texta08beb1fae8b":"Powers repository creation and pushes for every project on this instance.","texta09346870b37":"Nothing differs between {value0} and {value1}.","texta098482113d7":"Cron schedules and signed webhooks start sessions with no one asking","texta0a8a236f471":"Entra enterprise application overview page with the Single sign-on, Provisioning, and Users and groups tabs in the left nav","texta0ab7db662a7":"Could not switch. Try again or contact support.","texta0b47090a19f":"Or with the OpenAI SDK:","texta0c2cc1374d9":"Try again.","texta0d80d6f8177":"      Reflect on the last 24 hours of project","texta0de5719f595":"Look","texta0e12e68c140":"22%","texta0e1c6f7e876":"Downloaded managed skills","texta0e2582b4c3a":"Remove model override","texta10787635794":"j.okafor","texta11894f9c85d":"Work reaches main only through a change request a person reviews and approves. You read the diff over coffee. The machine never had the last word.","texta1202377b257":"List {identifier} under an agent's secrets in kortix.yaml, then run the session with that agent. \"secrets: all\" does not grant this delivery mode — only an explicit list does.","texta1267f989c82":"10px 10px","texta12fc20f38b2":"Contractor cover, weeks 2–3","texta134ed6423fa":"Search repositories","texta14072880c75":"An AI agent template ready to be customized for your needs.","texta148e2b6cb01":"    secrets: [STRIPE_API_KEY]","texta150ce221602":"Components","texta161387fb339":"Your app → SSO → Issuer URL","texta172f7fb3563":"Role updated","texta17faedbf006":"3,000+ apps through one scoped token","texta1827e131521":"The approved host is prefilled with {value0}, so agent code can call {value1} directly without ever holding the key.","texta18603086e5b":"support","texta1982c442ca3":"Approve this call","texta19b856c93ad":"A support agent that closes tickets.","texta1a4d6fc64c3":"We will not list warehouse logos we have not verified. Here is how an analysis session actually reaches data, including the part it does on its own machine.","texta1a5936d3b0f":"Max","texta1d6b2ab7919":"An agent can edit kortix.yaml — it is a file. But the edit only applies to sessions started after a person merges the change request, and even then the ceiling still holds.","texta1da233dd539":"No webhooks configured","texta1e247e8a9f9":"Reads run automatically; writes and destructive actions still ask, per the rules below.","texta1e4e5cf36fd":"Failed to set enterprise entitlements","texta1ec2c7ae89a":"Credits cover LLM usage and AI Computer compute. Top up now or set auto top-up so sessions never stop — {value0} unaffected.","texta1eef2f07cad":"Scoped credentials","texta1eef583a10c":"The coordination. Never the decision about a person.","texta20e85bba3cf":"Installation ID","texta21221a2eef4":"One horizontal platform sold through verticalized partners with their own front ends and starter templates. A franchise for the part of the economy about to be rebuilt.","texta21492a5bd01":"Granted a role","texta21a3edd0a56":"Pick a level to configure and activate it. Higher levels are louder and, at the top, block access entirely.","texta2225f18a62a":"Enterprise demo enabled","texta230d18c2a87":"Fill it from the values above: \"SCIM connector base URL\" = the Tenant URL; \"Unique identifier field for users\" = userName; \"Authentication Mode\" = HTTP Header, and paste the secret as the API Token. Click \"Test API Credentials\", then \"Save\".","texta2323eec0711":"18:  required: [STRIPE_API_KEY]","texta236d1b1454f":"Zipping {value0}…","texta2536dee19c6":"Self-hostable","texta2578b541745":"New audit webhook","texta25830f96c2c":"Sold and delivered custom software. Can state deal sizes, close rate and delivery margin.","texta26175817712":"Address copied","texta269bd2fa5e5":"Describe the situation...","texta26a9d5ddec5":"Download metadata","texta273a74aed9f":"client:","texta27cff51a2e0":"Add rule","texta29e5f4a270e":"Could not reach the target website.","texta2a27b87e998":"Accounts requested, the reading list assembled, the first-week plan drafted from the role, the buddy pinged. It is a checklist that executes instead of a checklist somebody has to remember to open.","texta2ac2ce730c9":"No connectors found","texta2ac7fb0fa46":"Done — 10 slides, grounded in your docs.","texta2ad39633fff":"HMAC-SHA256, no unsigned path","texta2cced726aa6":"Reach is granted per agent, not inherited","texta2cf78785484":"Failed to set the default","texta2d285b35287":"Decline","texta2d414627d6d":"198,600","texta2d64eeafcb9":"Project members' own","texta2daa4911a3f":"This request will fail.","texta2e20a335700":"Delete account","texta2e8754e4899":"Every project connector","texta2f7df9323a1":"No {value0} transactions found.","texta3013c082c75":"invitation","texta30391a29336":"Compute is billed per second, per resource. The default Agent Computer uses","texta31aa14c0634":"One session per conversation. session_key renders from the payload, so a single trigger fans out into a session per chat, per customer, or per repository — separate threads rather than one blended transcript.","texta31f402d0382":"Ran computer operation","texta31fc91f231b":"Switch agent","texta3203965eb9b":"It stops before it touches the tracker","texta33056ec9f12":"Tunnel ID","texta33bc2792173":"Choose which agent answers","texta3456fa052aa":"Select your identity provider","texta3487dfc2132":"Connect an outside tool and your agents can use it in a session.","texta34a2714da91":"Failed to add","texta34c2be0a636":"blocks at limit","texta34c66c128a4":"A skill file in your repo","texta3599aa9f51d":"Requested a password reset","texta35abcd6dac9":"Icon","texta35cc9aee543":"Failed to save: {value0}","texta35f4f3f0587":"Existing inbox ID","texta36cac573efd":"Full control of the account. Can transfer ownership, delete the account, and manage billing — and is Manager on every project.","texta37467ceafaa":"I’ve added the groups attribute","texta379a6f6eeaf":"example.com","texta3868376fa01":"Research, drafts and CRM hygiene, held for approval","texta38846caaa72":"Radio Group","texta38f4ea67a30":"New trigger","texta39b6c664e82":"my-llm","texta39dcc7acc78":"Find your provider","texta3b3522bd552":"  default: python","texta3c3370cc732":"Model name","texta3dd2ebbbe9f":"In the left navigation menu, expand the \"Applications\" section and select the \"Applications\" tab.","texta3dec1ea345e":"Belt and braces: the NameID already carries the email, but an explicit email attribute keeps sign-in working if the NameID format ever changes.","texta3df3f9e4422":"The error is returned immediately — nothing else is tried.","texta3e586be3eff":"Expand all","texta3e83aee8605":"Confidential","texta3fa47e1564e":"Post to the #announcements channel","texta3fc7afcc66e":"Search areas…","texta4007c748290":"Enterprise demo disabled","texta4023b89022f":"Download CSV","texta4074914401a":"Every session boots its own cloud sandbox — session_id == sandbox_id.","texta40dd671edbd":"Started GitHub identity verification","texta4119d094636":"Clickable","texta4154d76815f":"I’ve mapped the parameters","texta422c2e168e4":"Failed to delete template","texta422df8c8b26":"EmptyState","texta4317edba7fd":"supabase-rest","texta43a8d8cfd29":"Change role","texta4427725ce4a":"Set the publish and send actions to Ask. The run pauses at the call with the exact payload in front of you — the list, the subject, the body — and resumes from that point when you approve.","texta442c09ab113":"Two files: {skill} behind, and {agent} in front.","texta442c279fce0":"#1 failure mode: Test Connection fails. Almost always a hand-typed or truncated Tenant URL — re-copy it exactly from above (it is not the regular Kortix API URL and has no /v1 suffix). Assigning a whole GROUP (rather than individual users) needs Entra ID P1/P2; on Free, assign users one at a time.","texta44a159d81b1":"A source that reports both sides of a conversation would otherwise fire the agent on its own reply. filter drops those deliveries with a 200 and no session. Signed with HMAC-SHA256, like every Kortix webhook.","texta45a97cbb780":"Key saved","texta45f266b33b5":"config.","texta467f30ca4f9":"Starting authorization…","texta479b6664a5a":"Every tool follows the runtime default","texta47c08d35337":"The permission rules for this connector could not be read.","texta47e60e424ee":"cubic-bezier(0.31, 0.1, 0.08, 0.96)","texta48097353991":"follows the default model again","texta4848b6f69e4":"Find the slot that works for the panel and the candidate, send the invitations with the right materials attached, and re-run the whole thing when one interviewer drops. The single most reliable source of hiring delay, and pure logistics.","texta489d605af5a":"App Credentials","texta48a3f3dfb45":"The Entity ID and ACS URL your IdP's SAML config asks for.","texta48c89f63885":"Restrict who can start email sessions","texta4a83d949891":"Failed to compact session","texta4b4b51ec474":"translate(-50%, -100%)","texta4b6a3d9d629":"kortix init makes any directory a Kortix. kortix ship brings it live. From then on it is one repo you own — versioned, diffable, and improving itself one reviewed change at a time.","texta4c128e48978":"The host is reachable, but the core workspace runtime is failing requests. Restart the runtime or workload to recover services.","texta4c297b580ad":"- Chase overdue, escalate past 30 days","texta4c7fa51a957":"No branches found","texta4c9215859a8":"Removed project member","texta4cf35d7f3ca":"Provision a few sandboxes — their timing and outcome show up here.","texta4d51f7a060a":"IAM group","texta4de16df5a99":"Who can open sessions created by this trigger. Saving also updates its prior sessions.","texta4e2cf626cd3":"Sandbox template used by new sessions and automations.","texta4e5e14f93c8":"OneLogin Applications list with the SAML connector app","texta4ed3db2e660":"Routing across connected tools","texta4ed5a7709cb":"Add the group attribute","texta4f264c3ab5f":"Admin Grant","texta4f6c318a669":"Delete this app?","texta4fc39798651":"Change request #{number}","texta505da26f529":"Could not remove profile picture","texta514a684676a":"Edit access","texta515cf580dd9":"Updated IAM role permissions","texta51790c814e5":"Slack manifest copied","texta5241f08e49b":"Scale · $800/mo","texta5254e649148":"A workbook, a note, and the trace","texta527dc9be36c":"It sounds like you because your voice is a file it has to read.","texta5285ecc196c":"Pair, inspect, and select one or more machines without leaving this profile.","texta52ace420f21":"All","texta535409d22df":"Web workspace","texta53bcafb67d9":"Dashboards","texta53ec7ac2a7b":"Loading users…","texta54220c82b33":"Optional at session start. Click to require this connector.","texta54235eb1240":"Work waiting on a person before it can continue.","texta5437897f3e7":"Listed member groups","texta548eb412acd":"An agent’s block lists the secrets it may use by name — identifiers, never values. A session receives only the intersection of that grant and the role of whoever started it.","texta5490cf22d33":"Read →","texta54c4c33bc36":"The key was saved, but the connected provider list did not refresh.","texta54ff182c7e8":"AGENTS.md","texta55bc449bcc1":"The full library — 32 components with their variants, sizes, and states.","texta56145270ce6":"id","texta56281e325c1":"A document with its sources in it.","texta563730f828d":"iconUpdateFailed","texta56be319eda4":"Asked the agent to sync the branch","texta57b08a480b8":"Previous","texta57d47538d79":"#releases","texta5949a4c27d3":"— onmicrosoft.com users have no","texta5986e5e04f8":"Loading projects","texta5a909060ba4":"Cloud runtime","texta5a9895b0241":"No models available","texta5b1c9fd89fc":"Both land via","texta5b2d1d78146":"Name Z–A","texta5b50db9091c":"Map the groups attribute","texta5b75959c891":"Create Users","texta5b8713876f9":"In the end, it should look like this. Click \"Save\".","texta5c6fb18c9af":"Accent","texta5d2a0afcd9c":"Users and groups in the Manage section","texta5d3555619a3":"Everything is a file you own","texta5d97cacb6f4":"The secret is only ever shown during this visit; if you leave and come back later only the prefix (","texta5e68dfbff0b":"#d63a37","texta5f5a7bb98a3":"inside one session","texta5f69a181be0":"Custom color","texta5fc918683bf":"Types","texta5fd5cea27ef":"Inside the sandbox","texta60137ff4904":"No cap. This project's gateway spend is unlimited.","texta607b581223a":"Queued work","texta619e901f9c0":"Failed to paste: {value0}","texta62359767c2b":"Agent computer","texta6331929630a":"Session Not Ready","texta63392f42c31":"Match every payment to an invoice by number, never","texta635ca41d611":"The reply streams into the message it started, in the thread the question was asked in. Two people can watch. Neither had to open anything.","texta63db19075d6":"Review is a diff, not a comment thread","texta63fb2eebd02":"Every tool runs without asking. Only the rules below can stop one.","texta64b1e9803b3":"GitHub stars on kortix-ai/suna","texta651830bc408":"Their account role wins, so a per-project grant cannot lower it. To limit what someone reaches project by project, make them a Member on the account first.","texta6621f47f55d":"What you pay for against what is assigned against what was opened this quarter. It writes the reclaim list per tool with the last-used date on every row.","texta66d28de63ae":"Your Kortix account is connected{value0}. Head back to {value1} and mention Kortix with a task.","texta670596d72fd":"No sandboxes yet","texta679a097d834":"Causation ID","texta67b04cd5c49":"Worker","texta680491a9229":"Last activity: {value0}","texta6879661926e":"Downloading {value0}…","texta68c25790cbe":"App access denied","texta68ce8252191":"Write it down as a skill file and a session can execute it. That is the durable version of \"ask Marta\" — it survives Marta being on holiday, and improving it is a change request rather than a corrected memory.","texta68d63e3af6b":"Produces","texta68da174f0b3":"Enterprise Max · $1,200/mo","texta695ac413d60":"I installed it","texta6989680b352":"Back to app","texta69c197df026":"Shredded","texta6a32dbc5618":"Link","texta6a8f4387a75":"Pulling image","texta6b6d1454df0":"Compute rate multiplier override","texta6b86e26c48d":"Overnight","texta6b96f0e7c5c":"Test Notification","texta6b97728ff89":"(line {value0})","texta6c7a84baa67":"Finish","texta6cc6ed3f841":"Revocation URL","texta6cd531093d4":"Existing context is unchanged","texta6d0378ae29e":"Started account impersonation","texta6d9e74b6d8a":"Work lands through a change request","texta6dc82e13869":"workspace agents skills commands tools build create","texta6df11e706c5":"Version history","texta6e5f1bdfb1f":"A person reads the diff","texta6e600a10fed":"Context","texta6e6f5c3b55b":"Open source and self-hostable — Kortix Cloud, your VPC, or on-prem.","texta6ef2483d6fb":"Add connector","texta6ef528ee73a":"This secret still writes a fixed slot","texta6f0c7d1399c":"Daily credits","texta6f1a6f7e502":"the agent’s declared grant","texta6fac795d6d6":"OAuth 2.0 connection failed","texta6fd69e48a48":"v2.1.0","texta703788f8320":"minimal","texta704d8d4a818":"Account name","texta708f749f4ec":"Invite the team — people and agents are principals","texta709fe3769c0":"Billed per resource, per second: $0.0000168/vCPU, $0.0000054/GiB RAM, $0.000000036/GiB storage. The default 2 vCPU / 4 GiB / 20 GiB machine runs about $0.20/hour, and auto-stops when idle so you pay $0 the moment it’s not running.","texta70e90bd4809":"Enable connection (toggle)","texta710c2b90913":"Unsaved changes","texta7248eeb45eb":"Normal","texta725069dbaec":"Rule {value0} condition {value1} pattern","texta72ff134c021":"Your app → Attribute Mapping","texta731e5385a6a":"Why connect both?","texta733285486d5":"Shell","texta737e54996f8":"Undo","texta73cb4563ee2":"Acme Corp","texta743aa4452d3":"Failed to update authorization owner","texta756e5fb5f6b":"What IT needs is not a dashboard. It is a list, with a defensible reason on every line, in a form where approving it does something.","texta757b331fa9a":"statusText","texta757f937ab97":"(kortix_version 2) to edit this agent's availability, model, tool permissions and access here.","texta76a1fd4cef5":"Received Stripe billing webhook","texta76ce82a9749":"Cache","texta76e13b98392":"Restore","texta798d4af6ba5":"center top","texta7aede436a16":"Opening chat…","texta7b52b269a23":"Microsoft Teams","texta7ba7f8526d0":"Completed a social sign-in","texta7c742643c7c":"7d","texta7d1ea80d81f":"Enterprise contract entitlements","texta7d795204fda":"Reserving your computer","texta7d9f625e2f8":"Restart: Config Only","texta7e22100c375":"Kortix is the platform for dynamic software. Deploy on-prem, own your data, and build systems that learn.","texta7e2d26e8d15":"by","texta7f173cdaae4":"Wallpaper","texta7f9ed2fe099":"Isolated compute per session; one runaway agent can’t touch another","texta80791a70348":"Runs freely. No prompt, no pause.","texta808a5ca5a95":"Read, run sessions, and fire triggers — no editing or config. The project floor role.","texta8234500531a":"Could not reach Kortix. Check your connection and try again.","texta8283ade3185":"Undo","texta831f13e8ebf":"  memory-reflector:","texta834fe0854ae":"Google Admin → Apps → Web and mobile apps","texta83b4c24609b":"Three ways to start the same session. The isolation and the review path do not change with the trigger.","texta8415274068a":"Add {value0}'s API host below so agent code can call it directly without ever holding the key.","texta859c6f35e58":"Act as {value0}?","texta867cd732dd7":"Failed to load complete transcript","texta86a6414a2d8":"Q3 25","texta86f1fe9444b":"will no longer be attached to","texta8750f8dbc44":"Kortix’s Entity ID IS the SP metadata endpoint, so importing it fills ACS + Audience for you. Pick \"Manually Enter\" instead and there is no \"SP Metadata URL\" field — you’d have to type the ACS URL and Entity ID by hand.","texta878c15f58b7":"A sales agent is only useful if it reaches the systems the pipeline lives in. Connect each one once for the project. Credentials are decrypted on our side and never enter the machine.","texta8823f1e4fea":"Capability highlights","texta886d1dc4f12":"Reopen","texta8897de42124":"No matches for","texta89a654b8541":"Stop requiring it","texta89c8f1d28bf":"Entra sends group Object IDs (GUIDs) by default — map those GUIDs, or emit display names via \"Groups assigned to the application\" (needs Entra ID P1/P2).","texta89d28175307":"Click Open Slack, choose \"From a manifest\", paste the JSON, confirm.","texta8aa23313d75":"Team & permissions","texta8b4ffedb6a6":"Your app → Parameters","texta8b750b1f323":"Stop agent","texta8c4aee2e2e6":"Production work that sounds like you, because the voice is a file","texta8c9aab244af":"One sandbox per session","texta8d198275aec":"Feedback synthesised into specs, with the evidence","texta8d4a1d5bb6d":"members have MFA enrolled.","texta8df8792996a":"Add custom SAML app → Service provider details","texta8e98b14ad73":"Whole card is a link — opens in a new tab.","texta8f4dc742e8f":"Keep this page open. The session remains available after the runtime swap completes.","texta8f785a8b4ed":"Ran platform at 200+","texta90d2f735a49":"Pre-release","texta90d90f6b829":"Agents, skills, tools, connectors and schedules live in the repo. Edit in your IDE, in the web UI, or let an agent edit them.","texta913ec01bd04":"Custom chain","texta9141e58e179":"Grant as expiring credits","texta9177245615b":"None of them are the prompt.","texta92f66fd3d83":"Use by default","texta931b0c34b16":"{value0} is this project's default model and cannot be turned off","texta93bfa8381ee":"Globex Health","texta94794d69ea1":"No readable text content.","texta94a9c97db84":"Your test user just arrived","texta951c5945635":"Streaming","texta951efc79deb":"Sa","texta9558a530537":"Preparing workspace","texta95952c8b021":"Public links","texta95f7e7aff62":"Left {value0}","texta963ed79b37d":"Deleted “{name}”","texta96b9d862cf9":"Your changes were saved.","texta96e1f43f497":"Failed to delete role","texta975de4f960f":"Merging","texta9772792b3c4":"Migrating to …","texta97afbb23437":"When a draft comes back wrong, you edit the skill file, not the prompt. Every future session in every project that loads that skill inherits the correction — and you can see in the history exactly when the register changed.","texta97d32ddb6ba":"Resumed","texta98b3578d57b":"Default behavior","texta98d70820b62":"Connect 3,000+ apps, MCP servers, OpenAPI, GraphQL and raw HTTP once for the whole company. Agents reach them through one scoped token — credentials stay server-side, every action is allowed, gated, or blocked, and every call is logged.","texta992b3a3033d":"Start a session. Get a computer.","texta992ea2e301d":"A thread is","texta99dfc3d112a":"This project stops being able to use","texta9ab23617be7":"Install a project, or add a skill","texta9ab51e18b56":"@ already has access to this repo","texta9ae0049edf7":"Provisioning workspace","texta9af71008fda":"Account · Identity","texta9b8859fba62":"Promotional","texta9bbb082ce1b":"Full project control — edit, deploy, triggers, members, delete.","texta9c0123d9962":"Attachments are too large","texta9c084ffb5c8":"Referral link copied to clipboard!","texta9ca0174bcc8":"Couldn't load the key rules","texta9d758a7c762":"- Check brand rules, route for review","texta9e82cd23e9d":"Enter a valid positive amount","texta9e830d2e9c7":"Read-only preview of what this member can do. Nothing is changed.","texta9f33d5fc9e6":"+53,900","texta9f4b3d22a52":"response","texta9f78a15820d":"Rule {value0} condition {value1} comparison","textaa000c983975":"Groups Resource","textaa023456aca4":"Connect ChatGPT","textaa042b472947":"Existing AgentMail email","textaa1c8a0b1716":"Clicking save will clear all maintenance notifications and restore normal access.","textaa2025f803e6":"The agent has a shell and a filesystem. It can install a package, pull a sample down, run it, look at the output, and try again — the loop an analyst actually works in, rather than one shot at a fixed set of tools.","textaa2e1a551c0a":"It gathers. You decide.","textaa3ec85f955d":"Still on the attribute mapping step, scroll to \"Group membership (optional)\", click \"Add Google groups\", select the groups to send, and set the \"App attribute\" to groups. Click \"Finish\".","textaa3f91c9a6c3":"$ kortix channels connect --wait","textaa4a0d0b5235":"A project runs 3 triggered sessions provisioning at once by default. A fire past that limit comes back queued and runs when a slot frees, rather than failing.","textaa57cad004f0":"not on your box","textaa5da553f3c6":"Revoke the pending invite for {value0}? They'll need a new invite to join.","textaa608ef85776":"For the intake half: invoices arrive as attachments, and chasers go out as drafts. Reading a mailbox and sending from it are separate actions with separate answers.","textaa622ac1e5e4":"Tests passed","textaa665ddf2727":"Connect Slack","textaa7020ee5fa0":"Email already added","textaa798730f64d":"Choose a surface published by","textaa7e623fc09a":"Failed to resolve approval","textaa821f12cbc6":"If the branch is behind, ask the agent to merge the latest base branch, resolve conflicts, test the result, commit it, and reload safely.","textaa84f33e47a6":"Set account entitlement overrides","textaa8c181ac338":"Instances","textaaa072ad6fc2":"I’ve added the identity provider metadata","textaaae63b7a273":"c7e2 CR #84 merged","textaab31cde23ba":"Collapse sidebar","textaab4e49e9274":"The close, the reconciliation and the variance note","textaab63f85c7f1":"Open link","textaac7e89fcd0e":"Transparent","textaaead4abf5d0":"Transport","textaaf36d769729":"Viewing as","textaaf718fd9354":"default_agent: kortix","textab0081a7e089":"It fires on the clock","textab0171ca0494":"Idle","textab080c35a997":"Your IdP pushes changes on its own schedule — no manual action needed on the Kortix side.","textab09dcc1883e":"set your SAML","textab0c820f8e1b":"File storage, as a second directory next to it","textab0cd0201348":"The editor writes a branch, not a row","textab13643c81b7":"Every skill in this project.","textab1dafc84ca4":"Add an application → SaaS · SAML → SAML attribute statements","textab2b05077241":"Approve, deny, ask for changes","textab2f1e5b956a":"Applied policy template","textab34cd6967c3":"Compiling the weekly numbers…","textab3ac96bf05f":"5 briefs written · 2 rewrites in a change request","textab4962ab35a6":"By default every fire is a clean slate. When the work is a running thread rather than a fresh errand, a trigger can re-prompt a session it already owns. Kortix tries the modes in order and falls through on failure, so a fire never simply disappears.","textab51004e9d71":"days","textab530a13e459":"message","textab54cf5e1d9d":"Kortix","textab576a875f84":"soft-light, overlay, difference, difference, color-burn, normal","textab5bb442853e":"codePoint2Body","textab5f961f00e8":"). The IdP appends","textab66ce448ad0":"One Compose project: its service groups stacked as planes, and the terminal command that brought them up.","textab71f5ef2ed7":"Key rules saved","textab742f4db494":"Open compaction summary","textab76ead329cc":"Failed to load groups","textab80540d98d2":"Large","textab82003261fe":"The parameter name (groups) must match Kortix’s group claim, prefilled at connect.","textab8fcb695b84":"Create a \"SCIM Outbound\" provisioning connection and point it at the two values shown above.","textab93638292af":"Could not load Discover","textab936b802fa6":"SCIM Version","textab95d456c6bb":"Project members","textab986ad2d8e6":"Declared in the repo","textab9a61284668":"Feedback arrives in six places and gets read in none of them. The agent reads all six, groups the requests that are really the same, and writes the spec with every quote cited. You decide what to build.","textaba314822529":"Revoked SCIM token","textaba6d486b5df":"Below is how a claim looks in the Azure claim editor — make sure the \"Namespace\" value ends in /claims.","textabaed96d8526":"Policy answers come from the document in your repo with the section quoted. A question the handbook does not cover gets routed to a person — the gap is reported, not filled.","textabb84be05cfa":"You don't have access","textabb84f9edc9e":"Access removed","textabba11786cee":"Applies to every tool below until you override one.","textabc50e334be4":"Signed in as","textabc7e9892806":"Files","textabc981e16334":"The startup world is obsessed with moats. Every pitch deck has a slide. Every investor asks. But most great businesses do not have a true moat, and they are still great businesses.","textabccc78cc93c":"Permissions","textabd5597038ae":"  kortix:","textabdc14757167":"Built-in and custom roles. Assign them from Members and Projects.","textabf1df16fc52":"Automatic provisioning from Okta","textabf3e80b5b4c":"Sync failed","textabf586cc6ecb":"Choose a future time","textabfde86d7836":"Every morning it sweeps the day’s errors, groups them, reproduces the worst one on its own machine, patches it and opens a change request against main.","textac026d095a4e":"It stops before it changes access","textac0a6f3b5c61":"Check your email to confirm your account","textac121e59d684":"To deactivate from Entra: set the user’s \"Block sign in\" (Account enabled = off), then provision them again — or run \"Provision on demand\" to apply it immediately.","textac18d11a2f26":"Delete role","textac1f3393cb4c":"Failed to upload to Google Slides","textac2a585fa4dd":"The assembly, not the judgement.","textac318011a661":"Load older requests","textac371f652a2d":"This permanently destroys each session's branch and sandbox. It cannot be undone.","textac4059cfd550":"Every change versioned, reviewable, reversible","textac454bda92f9":"Creating project…","textac467df56e2a":"    connectors: [gmail-read]","textac4c418e412f":"All = everything the person launching the session can see. None = fully scoped out.","textac4e05b19878":"Starting your session","textac57cd102037":"An automation gets no privileges a person would not get. The same isolation, the same scoped reach, the same one road back to main.","textac667905c07f":"Renamed to \"{value0}\"","textac6b2a0cfa8e":"Pair, inspect, and select machines here. Agents can list and target only the selected machines.","textac7cbbbb7b16":"Use-case and marketplace-driven content.","textac7f89823c42":"Failed to load App access","textac806359529b":"Authorization Code with PKCE","textac811767e2f7":"Resolved model","textac830bd3c755":"Clone address","textac8991ef0101":"Load more","textac8b96454bb4":"reload restart config","textac910c2802d5":"Pause every trigger in this project","textac95cb8f9027":"It reads the errors the day threw, clusters them by root cause rather than by message, ranks them by how many people hit them, and takes the top one all the way to a patch.","textac9d246b7a96":"It was created before Kortix substituted handles in place. Kortix keeps writing the slot below exactly as it does today. Remove it to serve the secret by substitution instead — the approved hosts stay the same.","textaca091e6408d":"Audit webhooks","textaca2f2064afe":"Every account action and every agent action is captured on every plan. The plan decides who may read, export, or stream that record — not whether it exists.","textaca82dbb8ef0":"No owner email","textacacd9b479c4":"The machine cuts a branch named after the session. Every edit, commit and stray file the session produces lives on that branch and nowhere else.","textacc500a98e73":"It is disposable","textaccd1ec5e88d":"Application type","textaccfa007425f":"You do not have to write cron","textacdd1e734125":"Telegram","textacf0b83e8622":"Consoles","textacfc5be785a9":"Disconnect","textacfd3b07ddc7":"Image must be smaller than 5MB","textad180088be2f":"The workforce that compounds.","textad1fb9ec0cb3":"Automations","textad22c1fa0cdc":"Every action","textad26af1426b3":"LLM gateway","textad3d9699142e":"Save securely","textad42c6b4c691":"opened by invoice-clerk","textad54697fed7c":"Failed to update Enterprise entitlement","textad5c82071432":"Revoked pending project invitation","textad5f8205544d":"- Match payments in Stripe","textad60d663069e":"Set up Directory Sync","textad63817393a7":"Replaces the default instructions for this agent.","textad73038522f6":"#1 PingOne gotcha: everything looks configured but zero users sync — the CONNECTION toggle is still off (it defaults off), or PingOne is sending its internal username instead of the email. Enable the connection toggle, map \"Username\" → \"Email Address\", and set the filter `userName eq \"%s\"`.","textad7959257d8d":"The agent and model used for every run.","textad7fa5eb3e4e":"The question is not what an agent can write. It is what it can land. Here is the exact answer.","textad836185754c":"Drive a production incident to resolved.","textad936fcbed63":"group","textad93bff4003d":"410,000","textada1fca3e7ad":"on day","textada27592c957":"Requests","textada37a724fca":"Unknown error","textadb4acada861":"Mention your agent in Slack and it does the work there — no dashboard, no context switch.","textadbc4608457d":"No files match","textadc01d813da0":"Who has access","textadddcf5efc23":"I’ve bound the groups to provision","textade19f5315c3":"super admin","textade258da36f4":"And what is deliberately not in it","textade43e0f021f":"Last activity:","textade47fe8dce3":"This token doesn't exist or has been revoked.","textadf5fc6a2d24":"Distribution saved","textadf8ef8c6554":"Enable the SAML2 Web App addon","textae030e046fcf":"Group claim","textae067b687107":"Approve all","textae088e141617":"Open Terminal","textae17f9f4dec5":"Runbooks that execute, and a platform that survives your review","textae1a933f025e":"Signing a session out returns 401 on its next request. The member can sign in again.","textae224acb87e2":"Debit","textae47e08e55f1":"Any outcome","textae52c06a79a3":"I’ve opened the application","textae553394b31a":"One principal, one role, one scope — one row. It can carry an expiry date. Change it from any row's Edit access.","textae5b8724e862":"no scopes","textae60c631dd65":"   a human and say what you checked.","textae799eb0e384":"How Kortix is secured","textae79dce0e646":"Pick people or groups, or type an email to invite someone new — everyone selected gets the same role on this project.","textae7d8dfac9ff":"Used","textae8252daa297":"Into","textae8891825c78":"Managed models updated","textae91ce96c73d":"Members sign in again this many minutes after their last sign-in. Empty means no limit.","textaea3a7e97183":"Unlocks SAML SSO, SCIM directory sync, custom roles, groups and audit read on this instance.","textaea4a04a8042":"Rejected","textaea92132c4cb":"38","textaeb72f2ccad6":"scaffold a new Kortix project","textaebabad39063":"OAuth 2.0","textaec25fa72ae2":"left center","textaecb881148ca":"It answers in the thread","textaed3545ea8e4":"Use custom Slack app","textaed522cbb8ad":"You review the change, not a report about it","textaed6b7aa2a05":"macOS","textaed7a1237429":"reqs","textaee408847d35":"success","textaeed20a96ee3":"Just you","textaef3f9db6a2e":"Provider config, just-in-time provisioning, and group-claim mapping. One identity provider per account today.","textaef78db89933":"Queued prompts, held","textaeff4386f94e":"# check it, or take it away","textaf05b1172141":"11 m","textaf15a4d02eb0":"Failed to update group","textaf1ccb31304d":"Emerald","textaf29fb46ae90":"Open in Cursor","textaf3e3987675f":"Past due","textaf3f674726f0":"- Shared by every agent, in every session","textaf4350fd72f4":"The machine comes up","textaf5dbe54aa9c":"Turn on the sync actions","textaf69effdd900":"Without the multi-value flag OneLogin collapses all roles into one delimited string — group sync then sees a single junk \"group\". Always enable it.","textaf6b8a4894f0":"Saved {value0}","textaf6d91f7d902":"Checkout failed to start","textaf7d4859deb9":"Every tool your company already runs on.","textaf7dbdd174f2":"Settings · General","textaf82ae6a8d73":"{value0} versus the prior period","textaf82e7e6c590":"Illustration. The principals are fictional. Note that one of them is an agent — both kinds of principal appear in the same review.","textaf87e03f3626":"This removes the project default, fallback chain, and per-model overrides. The project will inherit account and platform routing.","textafa2d8b63568":"Back to identity","textafae4c0e1106":"Submitted OAuth consent","textafb32719ca9e":"Bot client secret","textafb5023c3c05":"Changes applied","textafb837ec251a":"Okta pushes changes as they happen (assignments, profile updates, group pushes) — a quiet period just means nothing changed.","textafb9890f7c72":"Where a request goes when the project default can't take it.","textafc19f1734c1":"Principal","textafc8e3a5d5db":"It clusters requests by what people actually want rather than by the words they used, counts how many distinct accounts raised each one, and attaches the quotes. When someone asks \"who asked for this\", the answer is in the document.","textafdc7d79dccb":"Automatic provisioning from OneLogin","textafe03725909a":"behaves as for days.","textafe8ed437ba3":"The frontier ecosystem needs builders","textafe9444782eb":"Managed Email is not configured","textafee7aaea8e6":"Could not update name","textaff0766a5290":"Review","textaff66989659f":"Service account tokens","textaffaf0c2671a":"usage credits ledger transactions history purchases receipts spend consumption","textaffe5438ae14":"Remove the {value0} key","textaffe78aded99":"Find it","textafff11a43d8f":"OAuth apps","textb009c6c5299f":"sk-… (saved as a project secret)","textb00f7e3ae5e8":"Please enter a valid email address","textb01ef4ada7a6":"What comes back is a diff on a branch, with the tests already run on the machine that wrote it. There is nothing new to learn how to read.","textb025091356a5":"Three ways to start the same session. What changes is when it runs, not what it is allowed to do.","textb02bf1168f8c":"For a single tester: Users → open the test user → Applications tab → \"+\" → add \"Kortix\". For a team: Users → Roles → create or edit a Role that includes the Kortix app, then add members to that Role.","textb03a0041ce33":"Couldn't load older messages.","textb03ab4bd39f7":"The pipeline that failed at 03:00","textb0615966b833":"Your warehouse and BI stack","textb065a9c3b29b":"A repository's history: one open change request against main, and the merged commits beneath it.","textb06f1662da4a":"Request access","textb073f6c68ef8":"Scope","textb078c98966e2":"What is not a channel","textb080141d6840":"Only these…","textb091005190d7":"What this account has left to spend, and what it spent this period.","textb093a8be33b1":"reports/win-rate-weekly.md","textb0b9fe24ffa9":"Manual","textb0cdf63b8387":"Granted {value0} of {value1} — some failed.","textb0eabce39690":"You asked for changes","textb0eafdef30da":"Acknowledgement","textb0ed26337336":"Protected","textb0f2f6dd1e38":"One branch per session","textb0fb3804b44c":"Close presenter notes","textb0fbe9dc1fcc":"OpenAPI, Postman, GraphQL, MCP or HTTP.","textb10fb966d720":"Volume","textb11a223ff4eb":"@kortix draft the Q3 launch note from the changelog and put it in the repo","textb11e0f2cb028":"Branch sync queued after the current turn","textb12138e47064":"A clone of the project repo on a branch named after the session","textb12c7d46c0e8":"Sandbox Providers","textb12da9202e8c":"No models","textb131d7f95b08":"Nothing goes to a customer without a yes.","textb13524d6225f":"Your own keys","textb139c4cffca9":"Info Banner","textb13bbdebd165":"No SCIM tokens yet","textb13c564cdf28":"{value0} is stopped","textb14f19afe19f":"· Skipped","textb16288742d59":"- Draft the renewal summary in the account's voice","textb169cfa6f00f":"Delete \"{value0}\"? This cannot be undone. Members keep their account access.","textb16ecefb1aec":"A new machine is being prepared. Sessions started now wait for it to finish — they don’t fail.","textb170e6a477b8":"Accounts failed to load.","textb1719512f8ed":"Access reviews, joiner-mover-leaver runs and service-desk triage, run as sessions on isolated machines. Plus the honest answers IT needs before approving an agent platform at all.","textb17e65e14323":"00000000-0000-0000-0000-000000000000 or contoso.onmicrosoft.com","textb18320256e28":"{value0} {value1} SSO, SCIM, RBAC and audit entitlements.","textb1871012f227":"Every AI product is the same: the convergence nobody is talking about","textb1895f6ddd9d":"Create in chat","textb18b93a52cd2":"Everything is paused","textb18cf0d798a5":"/guides/payouts","textb18f581a06eb":"support@kortix.ai","textb192017da47f":"arguments","textb1a36d25d963":"select","textb1a390ad4e70":"skills — 2 calls, closed","textb1bfc65c3e1a":"A provisioning Rule decides which users and groups this connection pushes.","textb1c42b3ce118":"Credential","textb1c52ee3677d":"Start session","textb1c8cf984a2b":"invoice chasing","textb1ca871c6696":"Join policy","textb1ccf8b4bf1f":"Start with one workflow, grant only the connectors it needs, gate risky actions, and run the work from a repo your company owns.","textb1cd8bf2581b":"Nothing to show.","textb1d5cb9f70a7":"Data quality sweeps, on a schedule","textb1d5e8ac8bb4":"localhost:{value0}","textb1d805e9f2e3":"Create Trigger","textb1d8298ef0c9":"Change authorization ownership to Project before binding a project secret.","textb1d877ab2f51":"Configure manually","textb1f18214b68b":"Identity, audit and where it runs","textb1f192196534":"Emailing finance@acme.ai","textb1fa39a2b442":"Fridays at 17:00","textb1fb183269ba":"Restrict who can start sessions","textb205bb47f81a":"Open session","textb205c515d0be":"No hosted URL handy? Switch to \"Manual configuration\" and paste the XML from SSO → More Actions → SAML Metadata instead — it is the same metadata.","textb205e3c57a77":"Open source · Any model, your keys · Self-host, VPC, or on-prem","textb20e428d9c27":"Push groups: on the app’s \"Provisioning\" tab, under \"Entitlements\", click \"Refresh\" so Kortix’s groups load. Then on the \"Rules\" tab add a Rule — a condition (e.g. member of a OneLogin Role) with the action \"Set Groups in Kortix\" → the group.","textb21276f9e4bb":"Every tool your company runs on, connected once and shared across agents and people, so everyone works from the same picture. 3,000+ apps in a click, plus MCP, OpenAPI, GraphQL and raw HTTP.","textb216cf259699":"Run it yourself, or let us run it.","textb217e0cd9d14":"- Flag risk; route discounts > 15% for approval","textb21fad12493d":"What we will not claim.","textb224b94fdce0":"Work reaches main through a change request. Merging is a separate power, refused by default.","textb22562e17d16":"Downloaded the sandbox CLI","textb2279807303a":"Your own, on-prem","textb22c4907adbb":"Auto Top-up","textb22e4d6719d8":"Project-wide","textb235bbe13b97":"the person’s role","textb23625948eee":"Whatever the project default is, now and after it changes.","textb2439bcb8dee":"Output","textb24d6d33736e":"ready","textb254c6e02e1a":"Nothing starts this agent automatically yet.","textb25db58fe1dc":"Max · $1,000/mo","textb269dc4e81a5":"Commands","textb274aca9dee1":"Success looks like","textb2797ffabc55":"kortix env pull","textb27e54100c96":"Instructions and scripts this agent can load into a session.","textb27fb38ba323":"Slack","textb2932a4b2ce3":"PingOne derives the ACS URL and Entity ID from Kortix’s SP metadata — you don’t type them separately. On the app’s SAML Configuration page, choose \"Import from URL\" (NOT the default \"Manually Enter\"), paste Kortix’s Identifier (Entity ID) into the metadata URL field, and click Import — PingOne auto-fills the ACS URLs and Entity ID.","textb2a0575f2c15":"Rotate, skew, or stretch the logo","textb2a0a09c5ca4":"no actions an agent can call.","textb2a1a9b22a36":"Your IdP’s SAML metadata export (URL or XML)","textb2a34791ddd7":"Updated SCIM group","textb2a81951f5ec":"Deactivate Users","textb2a8625a332e":"Three scheduled triggers on a time axis with a present-moment marker, and the next run called out.","textb2ac0da7c543":"Whole team","textb2c0cab20dc3":"JSON-RPC batches are not supported","textb2c293b68745":".kortix/connectors/routes.toml","textb2c5bc52374a":"Secret deleted","textb2d544129223":"It is not done if","textb2e30caf44ee":"Use hardcoded hex colors in components","textb2ec3bd97bbc":"Love a great open-source agent? Get one built for your whole company.","textb2ecce8c582e":"Draft it now. Never let it send by itself.","textb2efab3da232":"SaaS app → Overview → SAML Metadata endpoint","textb2f5ee0079b0":"Rotated an OAuth app secret","textb30183ea54ee":"Name ID","textb301cac49225":"Ask agent to sync","textb3170ca6cfd0":"Triggers live in kortix.yaml next to your agents and sandbox images. Each one names its agent, its schedule or its secret, and the prompt template that becomes the session’s first message.","textb3278e5f53cc":"Copy file contents","textb32e10370ffe":"Granted {value0} to {value1}","textb331347922bb":"Deep multi-source research with structured synthesis, inline citations and charts.","textb332c3492d5e":"Configuration","textb33435f3c4d0":"Compute by the second","textb33f07246f99":"- Enrich from the CRM + LinkedIn","textb3432a9b2814":"Build the client workspace as files, then run it with agents.","textb34cf5ffb75b":"Walled off by default.","textb34f1e3c1569":"Permission for {value0}","textb353663cbfbc":".kortix/opencode/opencode.jsonc","textb35b814c0d1f":"Valid, and deliberately skipped — the project is paused, or the payload did not match the trigger’s filter.","textb35d7c2e59b8":"Reach is granted, not inherited. An agent gets the connectors you list for it and nothing else, and effective access is always the intersection of what the person can do and what the agent was granted.","textb36591f91a8c":"Requested model","textb36c2611dcdf":"Daily","textb36d622566f6":"Slack not connected","textb36e9cd141c6":"Created connection request","textb3742c18c364":"Source attribute: \"Cloud-only group display names\" for readable names.","textb3839e7c0b51":"No longer active","textb389c97b8141":"No managed Kortix Teams bot is configured on this server. Register a multi-tenant Azure Bot and connect its credentials below; after connecting, point its messaging endpoint at this project's Teams webhook.","textb3960c7e6888":"microVM where you ask for it","textb39845ffaebd":"Export times out over 10k rows","textb39d263f67ad":"Deleted project","textb3a60e61a523":"Tasks","textb3c2db8d96e6":"Session busy indicator","textb3cbcf46a05e":"Client secret copied","textb3e53ad64339":"Sandbox capacity is full","textb3fb8f492462":"Add a source","textb3fd52fda8e3":"Removes \"{value0}\" from this list for good, along with anything it was allowed to do.","textb3feb3946ecf":"Where each kind of support request gets resolved.","textb3ffc83852a3":"Contact support if you believe this is an error.","textb400f4160d8e":"Loading cost summary","textb40f3be54b3e":"Choose a session","textb4214ac48923":"Read-only access","textb427c3dec904":"per","textb439f94567ff":"Subscription activated","textb4415e2f9e92":"Retry the session audit request.","textb4518309c8a3":"and every other session you start, each on its own machine","textb4568bcc15f8":"Use the defined type scale tokens","textb45707d2a2d1":"Created SSO provider","textb4598b56508f":"will be able to do anything in this account.","textb460ebf34ddb":"Paste the Tenant URL into \"Base URL\" and the secret into \"Token Key\" (auth is HTTP Header → Authorization: Bearer). Enter a FRESH test-user email that does NOT already exist in Kortix, click \"Test Connection\", then click \"Activate\" — do NOT click Save during the test-user step or you lose the configuration.","textb46788a7c320":"The gate","textb468121bc1d9":"The logistics that eat a hiring week.","textb46bfa373869":"# Support triage","textb475669b9d30":"Nothing matches \"{value0}\"","textb48301ea5f6d":"Configure attributes and claims","textb486892ff5b2":"Improves by","textb48c0322c628":"Select all visible","textb48f5aea165f":"Project costs appear here once a session starts running.","textb48ff39c2e0f":"Deleted","textb4a68ca59392":"The app’s Configuration tab → IdP Metadata URL (a hosted link).","textb4b21a20cc58":"Reload config","textb4b262ae0516":"Select {value0}","textb4c085e57f14":"Connector credentials are brokered server-side and never enter the machine","textb4c137e300c0":"Not tested yet","textb4c65ea8ef96":"Trial replaced","textb4d40882ef59":"A model on its own answers. The harness gives it planning, tool use and multi-step runs it actually finishes — powered by OpenCode, configured by a file in the repo.","textb4e437b00de3":"Remove fallback","textb5037fbea489":"Token authentication","textb5068d24eb4f":"Edit secret","textb509788b5f62":"The tunnel. Rendered only in tunnel mode","textb512d97e7cbf":"User","textb513228272b4":"The agent commits on the session branch and opens a change request against main. What arrives in review is a diff with a description — the same object a colleague would have opened.","textb519f8fe9496":"The conventions, the taxonomy, the way your team words a release note — all of it lives in the repo as markdown. You can read it, edit it, and diff what changed the day the output changed.","textb51b682ea335":"$ kortix ship","textb51caac9816a":"addPaymentFirst","textb5307a649d34":"Connect to Kortix","textb5353c3c6be9":"Replayed audit webhook delivery","textb538bf414362":"Boot sequence","textb549d2890d4b":"Say allow, ask or deny per tool — down to a single shell command","textb560dc33f1db":"You can drop details from the incoming message straight into the instruction:","textb5658fc8edda":"On this page","textb5687cf04af3":"Requester","textb57f2c70525f":"Every Kortix session gets its own computer: an isolated Linux machine that clones your repo, cuts a branch named after the session, and runs OpenCode. Work lands through a change request a person approves.","textb5814f05b923":"Search secrets","textb581fd88ea24":": {value0}","textb5845e7eea2b":"Use transition-colors on elements","textb58723266197":"Primary domain","textb597cb0305b9":"browser preview app port localhost session","textb5a7e2126214":"Set the rule to Active/enabled — PingOne then runs an initial full sync and incremental syncs on directory changes.","textb5aad44ae08f":"Self-host on your cloud, VPC, or on-prem — no lock-in","textb5af740a6585":"Rule {value0} tool","textb5b66f95fd41":"Allow, ask, or block","textb5b83b18d54b":"Failed to copy to clipboard","textb5c120b316c2":"Saved","textb5ca3585c03b":"Scoped permissions per agent — people and agents are principals","textb5cec06a6ef5":"side-panel activations:","textb5e0b14b924e":"Removed SSO group mapping","textb5ed3ee11645":"last used","textb5ede7fb45df":"Show hidden files","textb5fc7fe188d3":"Its own policies","textb61483615d2a":"Parameters → Include in SAML assertion","textb615ea53d360":"now has","textb6183be53a89":"A change request against main","textb61c8415b2b6":"Set project secret","textb627f853304f":"Use Kortix Cloud","textb631cd34d717":"Ask on the fifteenth. Run it on the first.","textb6343d314d8e":"When a token expires or a service blips, Kortix refreshes it or asks you to reconnect in plain language — never a cryptic error.","textb63bc1453631":"Automate it","textb641eac15b51":"Failed to load role permissions","textb64ac05f17e6":"Live","textb64e5a98df62":"Uses the light image","textb65a63353da6":"Search by title, owner, source, branch, agent, or ID","textb65b97575287":"No connectors.","textb6689bbc4fc5":"Stored securely, but delivered to no session and no Kortix service.","textb6697d79674d":"Cron schedules and signed webhooks","textb66d289c5384":"New requests are blocked once the limit is reached.","textb67115bd8489":"Timezones are real","textb6741b4ccf6d":"Authorize","textb67535ab165d":"The repo clones","textb675e9b4cde0":"This message is deliberately long so the row has to wrap its text without pushing the call to action out of the row or clipping the leading icon against the first line of copy.","textb67d444ba208":"No accounts match your filters","textb6890bc23a9c":"Choose an agent","textb68f7b640d93":"Scoped per person, per agent, per team — and audited","textb696d75511dc":"Finance","textb697dd6a71d9":"Use Cases","textb69c0515beff":"Project-wide rules are evaluated first and cannot be overridden by whoever adds a connector later.","textb6a712c43af9":"Follow global rules & risk","textb6a85bd3fbfe":"Agent harness","textb6b0e4b6a3fe":"The handbook, the scorecards, the onboarding plans. Increasingly these belong in the repo instead, where a change to a policy is a diff with an author and a date on it.","textb6b6f5c32995":"that doesn't already set the parameter — a session's own value always wins. Only the controls this model supports are shown.","textb6b7a0065808":"Repeat","textb6bb289a7a2c":"accounts teams organizations switch manage","textb6bcbb175d23":"Regular · 400","textb6c70926c1aa":"Admins only","textb6cde9030cef":"Create key","textb6d85433a7ee":"Sessions could not be loaded","textb6daf93376cc":"Loading finance.weekly","textb6de6f87c92d":"Kortix Cloud, your own VPC, or your own on-prem network. It is open source, so you can read every line of what you are trusting.","textb6e3ca291ec2":"change request","textb6eb7c48522c":"Icon tile","textb6eb82cd3300":"Passwords do not match","textb6f7df17e0a2":"Failed to create session","textb6f9714861b3":"3 mo","textb7000d431e91":"- Check activation daily, nudge where stuck","textb70354a1faae":"Foo 7B","textb711e0ff2f4f":"Every session gets its own computer.","textb71608b2cdaf":"Approval gates are off until you set them","textb7232e83ca9a":"One cron trigger writes the weekly synthesis. A signed webhook off your release process starts a session that drafts the notes from the diff. Both land as documents someone reviews.","textb728bd912cde":"Could not load the routing policy.","textb7297226fd1f":"Save name","textb7396994492d":"Add custom SAML app → Attribute mapping","textb73ce9104ddb":"Copy failed - select and copy manually","textb74106e21108":"does not.","textb7416a669c6b":"Recalled","textb74399647bf0":"Name it after the job it does, so an audit line reads as itself.","textb743a712efa8":"A thread is a session. One, and only one.","textb745a3efe7f1":"chore: bump opencode to 0.4.2","textb7595e2a8639":"steps","textb762cc8a7284":"Reflects on recent activity and curates .kortix/memory, opening a memory CR each run.","textb764cdc0eab7":"Unknown","textb7668a581f59":"Failed to disconnect","textb76700893c7c":"<EntityDescriptor …>…</EntityDescriptor>","textb769a269132c":"Auto-provision members from your IdP. Group claims sync to IAM groups.","textb77349bf1fa9":"env","textb78b4d8cdf7e":"Your stack, your models, your keys","textb79cac926e0b":"Help","textb7a2eb97cb86":"Start a session","textb7a322bb1c77":"Somebody asks what happened to conversion in week 27. It writes the query, runs it, checks the result against a second cut, and answers with both the number and the SQL. The next person to ask does not need you either.","textb7ad567477c8":"sandbox","textb7af4994e91d":"The company files patches against itself.","textb7b45ed9444f":"It cannot vote itself a raise","textb7b62fb8ba41":"Expand \"Mappings\" → \"Provision Microsoft Entra ID Users\". The one row that matters: \"userName\" must map to source attribute \"user.userprincipalname\" — that is how Kortix matches the SCIM user to a Kortix account. Leave the default \"objectId → externalId\" mapping as-is (that's how Entra recognizes a record it already pushed on later syncs) and leave the rest at their defaults.","textb7ce84ad7e7d":"SSO provider removed","textb7d225614f26":"  templates:","textb7d2844482b4":"Open the full approval page","textb7ddab3f7df8":"Delete {value0} and every runtime? This action cannot be undone.","textb7de71558bf4":"Selected connectors resolve this secret on the server. The sandbox receives no value.","textb7e29198fc4e":"{value0} key removed","textb7ef1459725d":"Failed to delete account immediately","textb7fdaed41e1a":"Failed to copy","textb80a37564fbb":"Query","textb81b729b4538":"to a channel, then mention it. Each mention starts a fresh run and the agent answers in that thread.","textb81bc1d32189":"Paste this into your project repo's","textb81c6e280de1":"Reset to Kortix","textb82336ed4012":"runsPoint3Title","textb82db800b29f":"OpenCode-native · Versioned · Deny by default · Human-merged","textb835b4d2630c":"You approved this 4 minutes ago — deploy in progress","textb83b8a3e405c":"Most of the queue is not modelling. It is the fourth version of a question already asked, a pipeline that broke overnight, and three teams disagreeing on what \"active\" means.","textb84177fa1580":"Failed to load project","textb84655f012ef":"Members in","textb85c24628050":"the Kortix layer","textb85e0ede430b":"Connect from your machine","textb86777c5ad5c":"\"{value0}\" stopped","textb86941027ad4":"Every time your agents save work, that version appears here.","textb86ad17151eb":"Environment variable","textb8773d75259e":"New account","textb8841dde8af8":"Denied · {value0}","textb885c730262c":"Default (tier)","textb88c90511203":"Connected by a hairline — source to target.","textb88cae951498":"The audit trail isn’t bolted on; it’s the repo itself","textb88fc5fc4765":"Costs","textb89092d6036a":"On the Parameters tab, add a SAML parameter for each attribute and map it to its OneLogin value from the dropdown. Tick \"Include in SAML assertion\" on every one, or the value is never sent.","textb899f9301499":". Every request made with one is logged and billed to this project.","textb89e92d0b992":"Failed to remove the key","textb89ec7e4cd95":"Force Kortix-credential models on, restrict the account to its own BYOK keys, or leave the decision to the effective tier.","textb8abec2b94c9":"The effective tier decides again.","textb8b311b0f273":"Solid","textb8ba4fddecaf":"Free credits are for sandboxes","textb8babd5bba24":"every day at 03:00","textb8bad1ee3036":"Maintain minimum clear space on all sides","textb8c209cdead6":"Ask","textb8c6c60542bc":"no longer has","textb8ce566177f1":"Credential JSON","textb8e1f80bd70a":"event","textb90afbc5b70e":"(my-app)","textb90eab55d0d5":"Baseline account membership.","textb91015bed915":"Couldn't load SSO status","textb931b468ad1a":"Can't reach this instance. It may be starting up or temporarily offline. Retrying automatically…","textb93900bded31":"Working...","textb94207703902":"immediately.","textb948f8d45e30":"If the sign-in fails: “access denied” by Cloudflare → widen or add an Access policy (the policy step). Bounced at the IdP → check the upstream login method (the first step). Signed in but no groups → confirm the “groups” attribute is present (group step) and its NAME matches the connect step.","textb949c922b6ef":"Git","textb94b96f978cd":"Sandbox template","textb9539997cfbd":"dismissible adds a ✕ that sits above the stretched overlay, so it stays independently clickable even when the whole card is a link.","textb958ce8b871a":"Temperature","textb963bfc5b85d":"Google only sends groups you EXPLICITLY select here (max 75). Add every group you plan to map in Kortix — an unselected group is silently omitted from the claim.","textb96d63115850":"deploy_operator","textb977b950c1ae":"Cloud","textb978cac03a79":"IdP groups map to roles on your projects","textb97d0d8acd14":"SSO enforcement turned off","textb97d1327b7b6":"Managed models forced on.","textb9819d569c9a":"Provision a few sandboxes and their timing + outcome will show up here.","textb99e0e68a55a":"Computer Tunnels","textb99e1742613b":"- slug: morning-brief","textb99fa6c06150":"Preview unavailable","textb9acc1017895":"Create a Kortix group for every group your IdP sends — no per-group mapping.","textb9ad2f00fba7":"changes need","textb9addc023078":"marko@kortix.com","textb9b2cc46e71e":"Per-resource permissions for every person and agent","textb9c1352c8c67":"An agent that can install anything, call anything and write anywhere is only safe if the walls are real. In Kortix they sit below the agent, in the platform, where a prompt cannot talk its way past them.","textb9d8cf383235":"Recorded gateway trace","textb9da7e34f203":"No subscription","textb9dc64b38ee1":"Session overrides could not be saved","textb9e8c0ab350c":"Attach a group to any project with a role","textb9e9f26c6ab1":"All dismissed.","textb9edcf16a2bc":"Choose an icon","textb9ee7dd33701":"240,000","textb9ef397631ca":"×2 to stop","textba001c7cb599":"Illustration. Northwind, Acme, Globex and Initech are placeholders — Kortix never names a customer.","textba021a1745ad":"Never enter the machine","textba05a1dd202f":"Push what open AGI means: fully autonomous cognitive beings as digital coworkers.","textba0e4962bc0f":"size-3.5 shrink-0","textba0e4afa9340":"Symbol","textba13e1e74457":"Low risk","textba1eac1c3fa4":"Accounts that started at least one session","textba24f124cec0":"Learn more.","textba34a96f2969":"Last updated:","textba3bbbe10d8b":"Loading…","textba3db8221d88":"fix(web): hydration noise on demo","textba3f27dd11a9":"Kortix is open source and self-hostable: Kortix Cloud, your own VPC, or your own on-prem network. If personal data may not leave your infrastructure, run the whole platform inside it. For deployment and compliance questions, talk to us rather than trusting a claim on a marketing page.","textba3f81aff6a6":"Context & connections","textba49fa284746":"Keep — scoped, read only","textba5caa4285a8":"Header","textba601cdb484b":"Couldn't load {value0}","textba66db5df698":"AI transformation needs a company OS","textba6a7b88050c":"{value0} queued messages removed","textba79c7ed3401":"Real understanding of agent architecture: harness, loops, context handling, tool boundaries, sandboxing, evals.","textba8071b5f41a":"  bash: ask","textba8085324c75":"Started authenticated session","textba819ccda692":"Full control","textba81a9896972":"Failed to load group","textba829a98b799":"Included","textba88c968e1e5":"Refreshes automatically every few seconds.","textba97f8006840":"OneLogin admin → Users","textba9b3136ea65":"From the thread","textbaaddf70fb5d":"Type","textbaaf53622a51":"shown","textbab76032fb5d":"Real deliverables","textbabe9dda8503":"Start time","textbacd3c9c5def":"SystemMessage — variants","textbad2768c4d92":"Turn sound on","textbad347716ab2":"I’ve scoped users, selected groups, and activated the rule","textbad42e1e2c1c":"# turn any directory into a Kortix","textbad912670722":"1,182,400","textbae205d999cb":"Production work that sounds like you","textbaf049ac2b9e":"Gateway keys","textbaf0b7ee73d4":"inside the agent computer","textbb03465bfcd0":"Two kinds of credential, and they behave differently","textbb08e04092a7":"Request not found","textbb2ab0401c3c":"Cold starts can take a little longer.","textbb3457786e8d":"Okta admin console with the Applications section expanded","textbb349bfe6750":"Remove access","textbb39b2467568":"Failed to initiate Google authentication","textbb39dca99b35":"Permissions stop an agent doing something. A claims skill stops it saying something. Both live in the repo, and the second one is what actually keeps an unverifiable number off your homepage.","textbb45167cfb4d":"Copied \"{value0}\" here","textbb4db6a8ee1a":"Deleted IAM policy","textbb53fb4d70fa":"Failed to load cost summary","textbb54068aea85":"init","textbb5635b0e8d3":"Set the read actions to Allow and anything that writes to a warehouse or overwrites a table to Ask. The run pauses at the call with the statement in front of you and resumes from that exact point when you approve.","textbb59775ca8ea":"Open in the panel","textbb5b88b1e5a1":"The company stays on your side of the wall.","textbb5c4fa6a785":"Listed active impersonation grants","textbb5f8be51296":"curates the project brain on a cron","textbb60080faee9":"It gets its own computer","textbb650fd852da":"Excerpt of the default agent in every new Kortix project.","textbb68ff20e011":"Retry on","textbb6aea287396":"Audit","textbb742be18fc7":"Scaffold & ship","textbb74cc7dce98":"Project secrets handed to this agent's sessions as environment variables. Click one to edit it.","textbb87df16a4e3":"Secrets are injected at boot; nothing is baked into the snapshot.","textbb884e446b21":"Reading everything, so you can think about something.","textbba1343dfb5a":"project_secrets","textbba9af131107":"Hosts","textbbbc664ba1ca":"Runs each step in a sandbox, pausing at the approval gates you switch on.","textbbbf43b8819c":"Built-in channel","textbbc3c635e57a":"gmail.list_messages","textbbc5a3f2ca48":"Your changes to {value0} are not saved. Leave now and they are lost.","textbbd4b6a86bc6":"Changes","textbbd67a03b342":"launch-note.md · +64 −0","textbbdce4215935":"when you connect a model provider,","textbbe5fc3b9ef3":"Starting…","textbbeaa7427c41":"Four answers.","textbbeb1185a5ff":"Cites","textbc06bb3d377c":"The same platform, the other teams","textbc18f7068971":"markdown","textbc25c1f595c9":"The device is now connecting. You can close this tab.","textbc298b920f14":"Multi-value parameter","textbc29a1f71de0":"Daily sessions, active accounts and credit burn.","textbc346bfb5269":"An agent is a principal, not a loophole.","textbc3528a9d83c":"Opening your workspace","textbc43ab815937":"Remove {value0}?","textbc44e1fccb68":"Pin sidebar","textbc51e9e65d79":"rows","textbc55e2d2f3ed":"Copy failed","textbc5748dad170":"People and service accounts","textbc575e0055ab":"Per-account values that beat the plan. Blank or Inherit means the plan decides. Saving a row writes it permanently — a grant that should end belongs in a trial.","textbc5b45ae7b60":"Reset to default","textbc61b449571f":"Two drafts of the same page are two commits. What changed between them is a diff you can read in ten seconds, instead of a document with eleven suggestion bubbles and no clear current version.","textbc62a3c14fec":"accounts","textbc6d10ad4ebd":"The review nobody schedules, scheduled","textbc71a3042158":"Drafted action","textbc79cdffbaa8":"More options","textbc7b631a689b":"Zoom out","textbc8686cf8d63":"{value0} key saved","textbc86ed0acea7":"Failover saved","textbc92e0e35c9a":"Recommendation","textbc9424d3f527":"Session access","textbca888f9f9fd":"support@agentmail.to","textbcace0f3244e":"Search {value0} providers…","textbcb319d1458f":"triage/SKILL.md","textbcb9069a33fc":"Longest a key can last","textbcba696f3eb1":"Routing","textbcc3be342ea1":"Poetic compiles your procedures into a purpose-built language it runs for you. Kortix keeps the workflow as ordinary code in a repo you own, and gates the boundary where it touches the world. A technical comparison of two answers to the same problem.","textbcc54a5fd95e":"Switch lists","textbcd03103c8c1":"On a card, in the thread","textbcd80dd21f3c":"Custom trial duration in days","textbcd8cc53f40e":"No description","textbcdbec03e086":"Required MFA for the account","textbce22443b335":"No conditions — every request starts a run.","textbce8671d3706":"Anyone who signs in via SSO from your domain becomes a member automatically.","textbd02b9a7d71d":"Todos","textbd0b7be215ce":"Close editor","textbd19c57b5482":"Waiting on agent","textbd2b129daf78":"Times above are read in this timezone. Daylight saving is handled for you.","textbd333807715b":"Sandbox session","textbd3b56d2b2da":"Balance new sandboxes across providers by weight.","textbd49211479cd":"kortix.yaml is the Kortix layer: the machine sessions boot on, the connectors, the triggers, the secret names, and what each agent is allowed to touch. The OpenCode config is the runtime the agents think in. Everything past those two is files in the repo.","textbd570c66902c":"How much thinking the model does before answering","textbd59cb991302":"Grant super-admin","textbd5a646673af":"→ connected: slack workspace acme-hq","textbd5edd378cd3":"Requests keep flowing; the bar just turns over-budget.","textbd769dab6c4d":"Invite link copied","textbd82a26d7bf4":"The JumpCloud user groups you bind to the app are created in Kortix under their JumpCloud names.","textbd87832c4f68":"the right way, every time.","textbd91f21810f1":"The gateway that resolves the credential is the same thing that writes the record: the action, the agent, the person or trigger behind the session, the outcome, and who released a held call.","textbd938c688f49":"action","textbd966864b912":"API Status","textbda9de7688c0":"Couldn’t load connections","textbdb0a086980a":"owner/repo or https://…","textbdb86505f806":"Archived","textbdbd7706de64":"How this works","textbdbdc3e6773d":"What everyone sees while the {value0} is active.","textbdc0857b99a9":"Only me","textbdc090ec61e3":"Reload","textbdc7d54433e6":"Failed to add connector","textbdc837a7b2e4":"Provisioning latency (p50)","textbdc8e80f18fe":"Add custom SAML app → Google Identity Provider details","textbde05a7b8929":"Checking session","textbde131e31c9e":"Force on","textbde68b612323":"Generate a new client secret on the same page","textbdeb4b447636":"Set the matching attribute so \"userName\" is the user’s email — that is how Kortix correlates a SCIM user to an account.","textbdec5adcbac2":"Signed, or it does not fire.","textbded910328ad":"Runs end to end.","textbdee13d828b2":"JumpCloud admin → Access → SSO Applications → your app → Identity Management","textbe03b81f11cb":"Already connected","textbe0fce7637ce":"A Slack message can turn into a shipped change request","textbe139a3e28c2":"The access review that actually gets done","textbe20f8439a89":"No sessions were created in this window.","textbe229f0684bc":"How Kortix is built to survive a security review: an isolated machine per session, connector credentials brokered server-side that never enter that machine, permissions for people and agents, human approval gates, and a change request between an agent and main.","textbe237eda7fff":"Separator","textbe27a86a69e5":"No workspaces match \"{value0}\"","textbe27d22c9bdf":"fix-checkout-expiry.diff","textbe2dc4d42749":"3,000+ apps · MCP · OpenAPI · GraphQL · raw HTTP","textbe2fe9fb8f0d":"Set up Single Sign-On with SAML → Attributes & Claims","textbe326ab70883":"Session cost records appear after sessions are created.","textbe3544030278":"An analysis you can re-run, not a number in a chat window.","textbe35cc8c61f6":"Internal route — same stretched-link pattern.","textbe3702e3f1af":"Card","textbe379a30f1aa":"credits","textbe3f588110fe":"Ask kortix to do anything across your company…","textbe433708b2dd":"Can recruit.","textbe53d21f807a":"Thread to session","textbe60f64bd270":"Projects will appear here once the user creates one.","textbe70d00c8928":"Any agent can edit its own config and propose the change","textbe8fb61fbc84":"SCIM base URL","textbe90a56d29da":"Turn off to stop this agent starting any new session.","textbe90d607b9d7":"Connect {value0} for the project","textbe91940b79f4":"Support","textbe9276fcd0e3":"connectors:","textbe99d500e83c":"Revoke Enterprise entitlement","textbe9a4d2a34e1":"{label} needs permission for: {toolName}","textbeafec79ffdd":"Self-hosted","textbeb1d90456ab":"Every webhook trigger names a project secret that signs it. A trigger without one is rejected at validation — there is no unauthenticated webhook to forget to lock down later.","textbebd0ee2eb17":"Everything the CLI generates is rotatable later with kortix self-host env rotate, and every value is visible with kortix self-host env ls, masked unless you ask for --show.","textbec01940880b":"Set the agent and the model this channel uses","textbec69036aa27":"Sort","textbecbaf073355":"One session, one machine, one branch. A bad run costs you a box you were throwing away.","textbed03adbb73f":"Turn this off to create it paused and look it over first.","textbed65ccdcd2f":"OneLogin mapping a parameter to its value with Include in SAML assertion","textbeda94e911d3":"This is taking longer than usual.","textbef51dd5402b":"Pure black & white, zero accent — Swiss minimalism","textbef5c2e7cce8":"Groups: if you left “Auto-provision groups” ON at the connect step (the default), your IdP groups appear automatically under Groups — just grant each one a project role. If you turned it off, map them yourself on the Identity page → SAML SSO card → “Group mappings” (IdP group name/ID → Kortix group).","textbef9d0c36db1":"The agent calls a tool. It names the connector and the action — it has no URL, no host, no key.","textbefd6c156056":"Both types name the agent they run as, and inherit that agent’s deny-by-default reach.","textbeff1e4ca7a0":"Reusable know-how that rides into every session.","textbeffd2472832":"Link revoked","textbf05bba3082b":"One platform. Eight teams with completely different work.","textbf1652052c65":"Create in","textbf16dc964c99":"I created the app","textbf1d5331564b":"Kortix is built on the feedback loop. Deploy it, use it, and watch it compound. Start building yours.","textbf1ebcb141c8":"Cloudflare SaaS app credentials with the SSO endpoint, Access Entity ID and public key","textbf20a711b1b5":"Single sign-on → Attributes & Claims","textbf2ddf28deeb":"Paste the Tenant URL into \"SCIM Base URL\", set \"Users Resource\" = /Users, \"Groups Resource\" = /Groups, \"SCIM Version\" = 2.0. Set \"Authentication Method\" = \"OAuth 2 Bearer Token\" and paste the secret into \"OAuth Access Token\". Click \"Test connection\", then Save.","textbf2ffcbdcaaf":"Assignments is the allow-list: only assigned people/groups get provisioned. Push Groups is separate — it syncs group membership for groups you explicitly push.","textbf30cc3b0697":"Remove connector","textbf374f3c41a2":"Basic SAML Configuration","textbf38f30d64e1":"Only the secrets that session is granted, placed there at boot","textbf405915a297":"The mechanical migration across two hundred files","textbf4d20c9ba67":"Compute draw","textbf56a193cb9f":"Next result","textbf5d8eb5292b":"No active machine subscription to move to seat-based pricing.","textbf5f39ac2192":"    app: gmail","textbf692d2cef5a":"The federation metadata you captured earlier is prefilled below. Kortix registers your IdP and routes sign-ins for your email domain through it.","textbf6c07f87075":"Connect an app","textbf7e9458c251":"Disconnect anytime with the","textbf7ff92baea3":"Most tool calls this agent may make in one run.","textbf84e3349ac2":"Disabled Enterprise preview","textbf8a9eab9e7e":"Reconnect","textbf8d3ae91a75":"Pushed groups are created in Kortix under their displayName.","textbf9a0f6614bb":"Cap what this project can spend through the gateway","textbfa93eb4d4fe":"Product name","textbfca5e70d80a":"01 · Primary agent interface","textbfd25bae866f":"Admin overview","textbfd271fe6ead":"Enter code {value0}","textbfdab44d056f":"Every morning at 07:00, build the revenue report from the warehouse and post it to the team channel.","textbfe272f94fb0":"Inverse","textbff3c2a3f88a":"member is","textbff69807309f":"(function() { window.dataLayer = window.dataLayer || []; var pathname = window.location.pathname; var pathParts = pathname.split('/'); if (pathParts.length >= 3 && pathParts[1] === 'instances') { pathname = '/' + pathParts.slice(3).join('/'); if (pathname === '/') { pathname = '/'; } else if (!pathname.startsWith('/')) { pathname = '/' + pathname; } } // Default analytics language to English. UI language changes only // after an explicit profile settings update; browser storage and // cookies must not infer language. var lang = 'en'; var context = { master_group: 'General', content_group: 'Other', page_type: 'other', language: lang }; if (pathname === '/' || pathname === '') { context = { master_group: 'General', content_group: 'Other', page_type: 'home', language: lang }; } else if (pathname.indexOf('/auth') === 0) { context = { master_group: 'General', content_group: 'User', page_type: 'auth', language: lang }; } else if (pathname.indexOf('/workspace') === 0 || pathname.indexOf('/projects') === 0 || pathname.indexOf('/thread') === 0) { context = { master_group: 'Platform', content_group: 'Projects', page_type: 'thread', language: lang }; } else if (pathname.indexOf('/settings') === 0) { context = { master_group: 'Platform', content_group: 'User', page_type: 'settings', language: lang }; } window.dataLayer.push(context); })();","textc00080b272bc":"Failed to update sensitivity","textc009fe87348b":"Unable to load the PDF preview.","textc011d6097bfb":"License","textc01240eae6d5":"This is not a stripped build with the good parts held back for the paid tier. Self-hosted instances run the same images the managed cloud runs, produced by the same pipeline, on the same release train.","textc023d120dd17":"Listed connectors","textc02977b07ec9":"Test Connection","textc02ba0f7bece":"463,900","textc0472b8d5a10":"PingOne runs an initial full sync when the rule goes Active, then pushes incremental changes as your directory changes.","textc04730f12fa8":"Billed at","textc061da196eae":"Machines","textc064fbca9d9d":"memory","textc066965ff30e":"Every change","textc068cf296b8d":"A full, working Kortix project — spun up as its own project and set up for you in one session.","textc06bf9670174":"Enter your password","textc071cf5f5ed6":"running","textc07905a5f0b7":"The skills grant on an agent controls which skills it may load. A finance agent does not get handed the deployment runbook because it happened to be in the repo.","textc080649df657":"Only you","textc09407a43df3":"Your values — keep this open while you configure your identity provider","textc09bd5ffeba2":"Tinted tile, blends over the substrate.","textc09f632874c2":"Current:","textc0abac43e0de":"DOCX pages","textc0b1a62c484f":"The interview kit, built from the scorecard","textc0b9d9e9ac1d":"Remove from queue","textc0bf75bd78bf":"Change","textc0ce2c4fe34a":"Listed linkable GitHub installations","textc0d482146c7d":"2 claims, unverified","textc0d5cbb786f3":"Ran session command","textc0de5a24d752":"p99","textc0e1f163ffe0":"Because it is all text in one repo, you can branch your whole workforce, try a different set of grants, roll it back, or hand the lot to a new project. The configuration travels with the clone.","textc0efaad66248":"Scanning recent repo activity","textc0f06f876fa1":"Not signed","textc0fb0845a0c3":"Control system-wide maintenance banners and access restrictions","textc116f723c599":"This session is mid-turn","textc11ead9d95f2":"Every gated call is approved on its own, with its arguments in front of you. There is no session-wide grant a later call with different arguments can hide behind — that shortcut was removed at the enforcement point, not just from the UI.","textc12b32f6ae34":"Stream events out via audit webhooks","textc12d3214f808":"The half of the job that is not selling.","textc15301c0e647":"Extract","textc1624b35348b":"In the same thread","textc1682b5136e2":"JumpCloud sends only the groups BOUND to this application, on the \"groups\" attribute — bind (and map) the groups you want before they appear.","textc174fc077197":"Outside services this agent can call. Click one to connect it or manage its accounts; mark one Required and a session will not start until it resolves.","textc18101edc3ea":"startingSession","textc181324d303e":"Found something? Tell us privately.","textc187d313e143":"Copy the token now — it will not be shown again. Then configure it in your IdP.","textc18ce3e6b5e0":"enterpriseAccordionSelfhostBody","textc18dc13ca821":"Sessions can still start, but the agent will be missing these values.","textc19b5dc4376a":"\"What has anyone said about export?\"","textc19c3fc65916":"in your terminal is waiting for you to approve this sign-in.","textc1a5d4982c10":"not slip past one.","textc1abcf2a909a":"≈ {value0} credits","textc1ada08ce138":"Audit trail","textc1b1dc22e207":"The sandbox is starting. Files will appear automatically.","textc1b54655a83a":"Turn on the preview","textc1bd8f2b8d0e":"Influencer and UGC motion on X and LinkedIn.","textc1c1009d3f37":"Update","textc1c224b03cd9":"Admin","textc1c45b663d17":"In a channel it has been invited to, or in a direct message. A bare mention with no task gets a reminder to add one, rather than a session nobody asked for.","textc1c80b037867":"Session history","textc1cfd92ee4c6":"transform 0.1s ease-out","textc1dc1081d53b":"SAML2 Web App","textc1dcc8fb31f6":"Header name","textc1e4a1169ac8":"Any model or provider error","textc1f0ae357feb":"On the \"Service provider details\" step, paste these two values.","textc1f88e9d6c41":"In progress","textc1fec07f0f86":"Compact — up to 4 per row","textc204c52417cd":"and say exactly what you could not reconcile.","textc205924de0fe":"Documentation","textc219d96549eb":"No files","textc21ead0614e7":"Closed","textc21f6265f30c":"Use bold (700) for headings","textc229fa075816":"CardButton","textc22bea667103":"Fork it for a second business unit. Branch it to try a different set of agents. Hand the whole thing to a new team and they get the skills, the memory and the grants with it.","textc22e35419e83":"Failed to update the demo","textc22e9b2269f5":"We save this as a project secret and give you the web address once the webhook exists.","textc233da98c824":"Every tool set to {action}","textc236204dab7f":"      requests and session digests. Update","textc23cc1f72afe":"Email connected","textc23e4af50ca4":"codePoint4Title","textc24d4a79738f":"Could not copy to clipboard.","textc24df1950343":"Concrete status locks; ambient stays off.","textc25337055464":"Roles","textc253f451bdd5":"Reply","textc25bdcabc47d":"Failed to update repository","textc25c44464d12":"Finalizing","textc267c186e80d":"Correlation ID","textc26857e5267c":"Every AI product is converging on the same architecture. The only defensible advantage is a data flywheel — a learning loop where every interaction makes your system better. Here is what that means, and why Kortix is built for it.","textc26ca4369200":"Supports Collection v2 JSON, Postman-managed Git repositories, and configured public workspaces.","textc2718d67695f":"Manage roles →","textc27a47a5c24f":"Open in ChatGPT","textc27cafdc51f8":"Your app → Settings → Advanced Settings → Endpoints","textc27d8467e76a":"kortix channels","textc28d0504b164":"Failed to connect the provider","textc28e1cbeedd6":"One Docker Compose project","textc2909469419c":"What we will not claim","textc296b293902b":"Project Managers can always open trigger-created sessions.","textc297a4c9177d":"Slack bot token","textc2989475638c":"The sandbox carries one project-scoped Kortix token and no third-party keys. The real credential is decrypted server-side and attached to the outbound call. A runtime secret you deliberately grant is different: it is a real environment value the agent can read.","textc2a08c85f9d8":"OAuth 2.0 client credentials","textc2a5f8398f12":"OAuth 2.0 device connection completed","textc2a8ec8a019a":"    secrets: all","textc2b1b8e2e039":"Provisioning","textc2b5c5598bb9":"The research, the pre-call brief, the notes typed back into the CRM, the follow-up written from what was actually said. The agent takes the work either side of a call. Nothing sends without your approval.","textc2c989a90482":"Updated account settings","textc2c9d78784a8":"Strong, wrong stack","textc2cd30387c73":"The surfaces","textc2d30e82e60f":"is the mark alone,","textc2d5fe56d856":"Ask Agent: Sync Branch & Reload","textc2dfb2c0eb28":"An agent is both. It is a resource you assign to people — narrow someone to a subset in Edit access under Agents — and it is a principal in its own right: every agent has a service-account identity that can hold roles like a person does.","textc2e1dd25902a":"## Matching a payment to an invoice","textc2ec18f03397":"Checking files","textc2ef82e31689":"Enterprise features","textc2fd713fbf8f":"Tints this agent's badge in session lists.","textc31723ab3302":"Searching…","textc31c97ca7758":"    connectors: all","textc320da0e8ab9":"I’ve configured the SAML attributes","textc3238b71962f":"Save overrides","textc325d1658f70":"Clear & Save","textc32c6c7ee51b":"Some invites were created without email delivery — share links manually.","textc32fad631f59":"Every key sits in the environment the model reads from. Revoking one means rotating it everywhere it was copied, and any of them can end up in a log line.","textc33319c687a0":"codePoint1Title","textc333cb48148a":"Built-in roles are managed by Kortix and can't be edited or deleted. Duplicate one to start a custom role.","textc3613b1704f5":"Rotate","textc36d819e7bc6":"Use","textc3812fc4acb8":"Remove","textc386cb852691":"Search all connectors","textc389ec160165":"Batteries included","textc38b63d1311d":"bg-kortix-yellow","textc39018a68e1f":"Will request browser permission when enabled","textc3963aedaac6":"Memory","textc3b312278ee5":"Make this a default","textc3bb47ef2fd9":"{value0} They keep the access they get via {value1}.","textc3bf78fdd3b9":"Could not send your application","textc3c25857485f":"Does","textc3c709a999c1":"Reading memory…","textc3d1545dd522":"Converts the v1 kortix.toml into the governance-first kortix.yaml, refreshes platform-managed skills to the latest marketplace baseline, and opens a change request for review.","textc3d2e79ebdd0":"Connectors","textc3e3a6edeaa5":"Terms and conditions","textc3e58a73609d":"Destructive","textc3ecd3cd791b":"Tried in order after the project default.","textc3f282c05f3f":"policies approval block require_approval rules tools connector guardrails","textc3f348ffaf7a":"Attach to project","textc3f7bdf537c4":"req","textc3f9db93886b":"Create an account to start working with a team.","textc3fb1b602d28":"An agent can read its own configuration, edit it, and propose the change. Put that on a schedule and the repo gets better at being your company while everyone is asleep.","textc3fc54aa5390":"Installation","textc406421c2b35":"Actual","textc4101eb6af2f":"Then evals and reinforcement learning, scored on your own sessions rather than a public benchmark.","textc4141f554a0c":"Loading sessions…","textc41427dae9e4":"…) was only shown at mint time. If it's already pasted into your IdP and every IdP-side step below is done, you can continue without minting. If anything is unfinished, mint a fresh token, update the IdP with it, then revoke the old one from the SCIM card in account settings.","textc4151430c9f0":"Add it","textc416069b7f61":"Adjustment","textc41720e33d45":"Part of a project","textc417a3753a0b":"Open source. Self-host the exact same stack, bring your own runtime and model keys. No black box, no lock-in.","textc430cba8b89f":"Join policy updated","textc4320ecdd111":"Per-resource permissions for people and agents. Secrets encrypted at rest; connector credentials brokered server-side, never entering the machine.","textc432b8aea2f9":"Decides","textc436c2a32b85":"The \"Google Identity Provider details\" step → Download metadata (GoogleIDPMetadata.xml). Google does not host a metadata URL.","textc44722e44ce4":"Branding is an Enterprise feature","textc45599294aec":"Giving agents real access is the easy part.","textc46a054cc5d2":"SVG copied to clipboard","textc4736485c745":"kortix-ai/kortix · since Mon","textc480160e33b8":"(no message)","textc490cce12748":"Astro","textc4926d7d3934":"General Settings step with the app name field","textc493ebf742bd":"Coordinated disclosure","textc49c15ddba4b":"Failed to create role","textc49ce59d0871":"{value0} actions need your permission","textc49de3d265fb":"employees","textc4a32a06810b":"The company is clonable","textc4aef3a23778":"    kortix_cli: [project.cr.open]","textc4b167af6ca0":"Failed logins","textc4b488c86e1d":"Run the test on your AI platform","textc4be9515eb1a":"Service provider values","textc4cb548dad6d":"Search: \" \"","textc4cbbc62b684":"Trace ID","textc4cc4493f520":"54.2%","textc4cf2b2ccb5d":"Loading preview…","textc4d6bb200f4c":"Folders","textc4e4294c6777":"Create an agent to customize how sessions run.","textc4e42b974c33":"Every day","textc4e46df5702b":"Disconnect ChatGPT","textc4e4e7abda20":"Namespace","textc4f66b77033b":"Open Audit","textc4f714005c5b":"Northwind Logistics","textc4f7c4c468d5":"Entra → Provisioning → Admin Credentials","textc4f980147c40":"The smaller composition pieces — shells, rows, avatars, status, empty states.","textc50cb66abf6b":"44 days","textc50e115d1908":"Before a meeting it assembles what you would have skimmed anyway: the account history in the CRM, the open threads in the inbox, what the company has said publicly since you last spoke, and the two things that changed. One page, in your inbox, before the call.","textc50fbc7b7acc":"Your credential is private to your account. Only your private sessions can use this connection.","textc511674d8be4":"Fix the bug that broke checkout, run the tests, and open a change request I can read before it lands.","textc51bc96484b9":"Select a notification level to configure","textc51e455b41df":"tokens","textc5276e27afba":"Customize","textc52ddf65534b":"/workspace","textc533cafab69e":"Featured","textc541692912c4":"The output here is about the process, not the person. It makes the loop consistent and the bar explicit, which is the part a tool can genuinely improve.","textc562664bad32":"Link or unlink your chat identity to your Kortix account","textc56833290910":"Account · Roles","textc56fc40bb882":"MFA enrolled","textc5752aabf604":"Waits for your approval","textc57681bc999b":"It gets its own cloud computer and its own branch, holding exactly the one grant the manifest gave it: permission to open a change request.","textc5876793b9bd":"Any SAML 2.0 identity provider","textc58e371231b7":"DynamoDB","textc5990132d694":"It runs as an agent","textc59dc4e44ff9":"+1","textc5a4b3f3a022":"{value0} {value1} set by a project-wide rule","textc5a93b3848b7":"Models and tools Kortix works with","textc5a9e0731890":"These are the redacted values the connector will receive.","textc5bb9fda9711":"Every agent in this project today ({value0}). Agents added later need a new grant — agents are closed until someone is granted them.","textc5c7cdb85034":"reviewed change at a time","textc5cd6589dcd7":"its own branch","textc5d595a751bb":"The last path segment of the App's installation URL:","textc5dd0a7eb74d":"cron: \"0 8 * * 1-5\"","textc5fe821106fd":"  - slug: gmail-read","textc60816cbaae1":"Push users & groups; deactivation deprovisions","textc608981d8d68":"Marketplace","textc6092ea6beec":"Sample request copied","textc60e849ef6a9":"Set every write against an identity or an entitlement to Ask. The run holds at the call with the exact change in front of you, and resumes from that point when you approve. Set the irreversible ones to Block instead.","textc611981fab98":"Policy","textc614ae8886f0":"Path to folder","textc616e8ff6ba3":"Session · {value0}","textc617ab4ba83d":"Could not update the agent","textc618a193ffe9":"third party","textc618c6bd416a":"Authorize through Pipedream.","textc61d3d5725a1":"Account · Settings","textc6208e337ba1":"Two files define the company.","textc62da8a2d904":"Try adjusting filters or clearing the search.","textc634dcb25574":"Posting","textc63adab9bd56":"Track tools and referenced files used in this task.","textc63eb6720c6e":"Private","textc6414eb01d9a":"Changes an agent makes to this workspace. Every run opens a change request for you to review — nothing merges on its own.","textc6479e2f4970":"Refresh changes","textc65feb0006ea":"Worker · {value0}{value1}","textc661a1039aa0":"max out","textc66b771332f5":"Read the SDK docs","textc66feb5eb8f2":"Move up","textc681d401ded0":"The OpenCode config decides","textc684e335b50d":"git repo","textc6902b467e2d":"Couldn't display this presentation.","textc69869f352bd":"It reports; it does not silently remediate","textc6a5488d6ffc":"Stream every audit event to your SIEM or any HTTPS endpoint.","textc6a5e338a7cc":"Managed cloud, your private VPC, or your own on-prem network.","textc6b12eb62d1c":"Agent config update available","textc6bd146b2125":"customize configure setup capabilities overview hub","textc6bfaece0982":"We are building the open AGI platform.","textc6c23265e620":"Failed to add collaborator","textc6c90c48b495":"Upgrade to download your {value0} and more","textc6cfe6e4f129":"Black","textc6d640399b61":"Work, walled off","textc6d99a300de0":"A scheduled session reads what has publicly changed and reports what is genuinely new — and says plainly when nothing is. A weekly digest that invents a headline every week gets muted by week five.","textc6da4674516c":"Rule each tool call allow, ask or block — down to the arguments it was given","textc6de6f45c827":"Adding…","textc6e03d8ea11f":"Specific members or groups","textc6e9471a6ab2":"user message · 15 attachments → square tiles wrap 4-up, capped at 8 with +7","textc6f380561a26":"Limit (USD)","textc6f417d32fe6":"Interactive preview of SSO, SCIM, advanced RBAC, and audit logs. Evaluation only — no billing change.","textc6f813ed1902":"240 leads pulled · 24 enriched · 3 sequences written","textc6fbb4b00507":"Requests are checked against the saved secret .","textc6fbcde46fa9":"New pattern","textc703c7f9cbe6":"Custom roles","textc70408ee88e9":"Connected to {value0}","textc70b5f2b670e":"Authorization URL","textc7184af7d9c9":"You do not have permission to rename this account.","textc7247bffdae8":"next run","textc725967d3988":"Deploy from GitHub","textc72772b1c8d9":"Pass a PDF URL with the","textc72e5d059e24":"Edit from here","textc72f8df372cb":"OpenCode runs inside the machine as the agent harness, with your models, your tools and your secrets injected at runtime. The machine is ready. The agent begins.","textc730d5a71283":"A session starts. A machine boots.","textc732a94d58e9":"See the Providers tab for models available to this key.","textc73d5a471c50":"Approval is not a setting buried in an admin panel. It is a block in kortix.yaml, versioned with everything else, that says which tool calls run, which stop for a person, and which are refused outright.","textc74a21a56d79":"Make it my default everywhere","textc74ea9dc9cd2":"What it does","textc75469a89a64":"Revoked an OAuth token","textc75bd371076e":"Continue to testing","textc78b5e29dfe3":"By role","textc78ffe195710":"Platform","textc791af467bb4":"Access → SSO Applications","textc793951cc86e":"Easy — empty (no tool calls yet)","textc795f93da2e5":"· grant no longer matches an agent","textc79ece814e95":"14 distinct","textc7a1b38bba89":"Failed to add mapping","textc7a9aa43558f":"No models yet","textc7affccb91f2":"so a credential cannot end up in the record.","textc7bad0051b8a":"Talk to us about the Enterprise plan: SSO, SCIM, RBAC, audit, SLA, and DPA.","textc7bcb471c03d":"Show in pickers","textc7ce396fcd33":"Queued prompts","textc7d4ebcd952a":"# who is allowed to touch the Stripe key?","textc7d9554dd4da":"platform skills injected into every session at boot","textc7dd424e265c":"Start building your token capital","textc7f21e07d332":"Scheduling, kits and onboarding — never the hiring decision","textc7f5f12b1dc5":"The furthest ahead an end date can be set.","textc7f937836f5d":"Choose","textc7fd29b5b470":"02 · Workspace settings","textc8134fda3694":"Saving commits to your project repo.","textc81dda488e17":"On the wizard's last step (\"Help Okta Support understand how you configured this application\"), select \"This is an internal app that we have created\" and click \"Finish\" — it's just Okta's own telemetry question, not a Kortix setting.","textc82a704b501b":"Account audit log","textc831393117f0":"Session sequence","textc833eda3bbbb":"Showing what loaded. Retry to refresh.","textc8392f8bbd61":"Retry a failed init on another provider","textc84f6f77b2a3":"Created personal connector","textc859e57c7ce7":"An OpenCode agent, plus its grants","textc85b0e36e937":"API Token","textc85c359673e0":"Failed to download {value0}","textc85c6ea416c8":"Could not create that token","textc85fc5a08232":"Works on","textc87078ee4a24":"I’ve imported the SP metadata","textc871dedbbe7a":"SAML attribute statements","textc87684446059":"A gate that errors out teaches an agent to retry around it. A Kortix gate holds the call open, so the agent is still mid-task when you answer — and picks up exactly where it stopped.","textc8772b3662ab":"# managed: an install link, then pick the workspace","textc87df02baaef":"Black & white with electric purple accent","textc87ea324be83":"How Kortix contains an agent: one sandbox per session, connector keys the machine never holds, a human gate before anything reaches main, and a record of every action.","textc88154988c43":"\"Why is cloud infrastructure over?\"","textc88462000c01":"Failed to load member","textc88a0b907419":"Success","textc88aaafcef61":"Files the agent edits in this session show up here.","textc89bd3fdc54a":"No metering in the way","textc8ad7b65129f":"Only assigned users are provisioned; users created directly in Kortix are not linked back to OneLogin.","textc8b4cda7a1c8":"OneLogin pushes changes as they happen once provisioning is enabled — a quiet period just means nothing changed (or actions are held in the approval queue).","textc8c25b2598d0":"ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Monaco, Consolas, monospace","textc8cf587a3b6c":"Daily standup digest","textc8d2a9446813":"Change provider","textc8e5998f6a39":"API","textc8e60f01cd4e":"createFailed","textc8ef36aed650":"Everything an owner can do except deleting the account or transferring ownership. Also Manager on every project.","textc8f3dd364de4":"Start automatic sync in your IdP","textc8f9300b57bf":"Fix with agent","textc8fece67fd58":"Apply to Kortix","textc9022680f888":"people","textc906817c1dd2":"90d","textc910d1020fa8":"New sessions start on the prepared machine right away. There is nothing to do on this page.","textc910d474dcd7":"General","textc9129025bd3f":"Sort by","textc916a6a191c1":"Requests with an image go here instead of the chain above.","textc91c073984b4":"Human-assisted","textc92025bd3eeb":"Self-host or managed cloud","textc926c2c50e65":"Opening…","textc9292b7d0e24":"channels: # delivered where people work","textc92bd77c8ce2":"Errored sessions","textc93198d9d71e":"No ranking, no scoring, no automated rejection, no recommendation dressed as a summary. The jobs on this page are scheduling, drafting, assembling and answering. If you want an agent to screen candidates, that is a decision you are making about your hiring process — and it is not what this page is selling you.","textc93b334b170e":"New keys can't be created without one.","textc949fc224fb5":"Lowercase letters, digits and underscores, 2–64 chars.","textc94d0e1fcb3d":"Game of Life — Kortix","textc97583fe9025":"Failed to approve request","textc98000c7438d":"Source attribute copied","textc9841f4162f5":"The primitive, then the chat-stream card that consumes it.","textc987fdc88a2b":"9 receipts chased and attached · 1 centre over plan","textc98995fad3b9":"Migrate failed","textc998ec5c08d3":"linkedin.com/in/markokraemer","textc9996efd134f":"Certified","textc999d58b84d1":"Auth0 Dashboard → Applications → Applications","textc9a4928a4d78":"Gathers from approved sources and posts a brief before the call.","textc9a8dc336964":"them","textc9b1c409642d":"Kortix is reading the server's OAuth 2.0 metadata.","textc9b3285ac7b3":"Every Kortix project is a git repository. Ask your admin to connect GitHub in this account's Git settings.","textc9b39a8a447b":"The repo, the tracker, the thread.","textc9b3c38247f7":"Total","textc9b756fdf6c2":"linkCopied","textc9ba775e93dd":"Does not match","textc9cad488b8a0":"Evaluation only, not a production plan.","textc9df7f0cf758":"A worklist with a proposed action on every row.","textc9ebef5b7729":"Assigned machines","textc9feac7acc32":"Token copied","textca04bb211a4b":"Add a project {value0} connection","textca094a828cb9":"Conversation density set to {value0}","textca1844969742":"Unavailable","textca21f6f6e1c1":"theme dark mode night","textca226cefdb63":"\"{value0}\" stops working right away. Anything still using it — a script, a CI job — starts getting turned away. This can't be undone.","textca3bcc681e99":"Directory Sync pushes users and groups from Entra proactively — deactivations apply without waiting for a sign-in. It reuses the same enterprise application you already registered for SAML SSO; nothing new to create.","textca3f00ae4063":"Settings · Feature flags","textca3ff6018449":"Search CSV","textca41e8913ee7":"Session cap for the whole account. Blank inherits the plan cap.","textca44d7470fff":"3 statements, 0 errors.","textca519bb35fbb":"Enable application","textca566c8968e7":"Signed in","textca5839e38a15":"Authorization","textca6f5e1c98a8":"Authorization owner","textca7981b46ecf":"Off","textca79bc98e751":"The SSO app → Copy Metadata URL (a hosted link) — or Export Metadata for the same XML.","textca838377bb5a":"Summarize conversation","textca85e5c12d77":"Identity & permissions","textca8c5b97d6c5":"Slack today · Teams and email behind a switch","textca8e826d9c2e":"Avatar","textca9c05caf0c3":"Agent status","textca9c32c53e90":"Signing out","textcaa6c42f2b7c":"$ kortix channels disconnect","textcaace11153c1":"Read a Kortix public page as Markdown.","textcab94aba84f9":"Typography","textcac616ab8697":"Your own roles and fine-grained policy bindings beyond the presets.","textcac716114be6":"Sent audit webhook test","textcad03602c819":"Tiers, credits, trials, entitlements, members, and billing state per account.","textcad20810fc2d":"Legal Information","textcae19266dc91":"Entity ID copied","textcae24ccc3b44":"Spend (24h)","textcae7d57bc067":"Stop","textcaea68eeb986":"Checking your account…","textcaf85b0888d7":"Sources","textcb08253e344c":"Configuration → API Connection","textcb0b50a0d111":"Show the API key","textcb0c5cea1bd5":"Acted by","textcb1b7f863906":"    kortix_cli: all","textcb1e741d2510":"The app’s SSO tab → Issuer URL (a hosted metadata link) — or download the same XML via More Actions → SAML Metadata.","textcb23e849693a":"Add a pattern","textcb25ff313d81":"Kortix can't reach this repository","textcb2b6a572a85":"Disconnecting…","textcb2d66d90d5a":"Read the channel docs","textcb35309bfced":"Checked gateway budget","textcb36b767438f":"Not \"the tests pass\". Prove it, then confirm it is live in production, which is not the same as merged.","textcb3f91d54eee":"---","textcb47e024a1e9":"How we walk a customer through a renewal —","textcb55e9ab9d73":"agent · support","textcb5d9f987803":"Request changes","textcb702378f315":"Errors","textcb729fc03088":"The prompt is a template","textcb7a14a8cd1d":"Listed group project access","textcb7c06207756":"This server needs a pre-registered OAuth app","textcb7d3df7dd59":"Failed to set enterprise demo","textcb7f1382ce75":"Run the same Kortix on your own box. One Docker Compose stack, the same images the managed cloud runs, your database and your files on disk you control. kortix self-host start, then kortix hosts use selfhost.","textcb886371afc6":"Restart session","textcb8a94929680":"- Generate invoices from the billing system","textcb8ab42ae80b":"\"May the agent send email?\" is rarely the question. Conditions match on the values in the call, so a rule can allow sending inside your own domain and stop at everything else. Anything the rule cannot decide resolves toward less access.","textcb8b75d64e2e":"\"Assign to People/Groups\" makes the Assignments tab your allowlist: roll out team-by-team, and unassigning someone removes their Kortix access. There is no \"sync everyone\" toggle in Okta the way Entra has one — Assignments IS the scope, always.","textcb97e7f77a44":"agent sync branch base pull merge conflict resolve reconcile reload restart refresh workspace","textcb9ac5c561da":"Session ID","textcb9e8664edea":"Tier","textcba321bae184":"I’ve entered the service-provider details","textcbaad3cf4a65":"Mobile","textcbabc661c9c6":"Viewed the signed-in user","textcbb053e77ef5":"runsPoint2Title","textcbb2e9a57f10":"identity sso saml oidc scim login provider single sign on directory","textcbb581776dc1":"Require an end date","textcbb8b2ff8cdf":"The same product ships as managed cloud, as a stack inside your own network, and as an isolated deployment. Open source, so what you are trusting is code you can read.","textcbb8cd27c44c":"Entra Provisioning overview page toolbar with Start provisioning and Provision on demand buttons","textcbd6aeca8616":"Reply URL copied","textcbd7bbfcd257":"More actions for {value0}","textcbd860744e03":"It is allowed to say it is not sure","textcbdc5495f318":"Repos, docs, secrets, and connected tools are shared context rather than a prompt you paste again each morning. Connect a system once and every agent inherits it.","textcbdd5dc3da21":"Both sides sign each request with this, so nobody else can start your agent.","textcbddb15211ca":"Snippet ready","textcbe414dc8d0f":"You minted a token on a previous visit","textcbf297bfb5e6":"Email address prefix","textcbf6389cf9df":"Add my own","textcbfd0bbb1891":"Pair Macs, Windows PCs, and Linux machines through the secure Kortix Agent Tunnel. Select the machines that agents using this profile can access.","textcc01a9f9c14e":"Filter by actor, action, resource, and time range","textcc0c25063f43":"Six fields: second, minute, hour, day, month, weekday.","textcc1a6601e3ae":"Your own services","textcc2551ee58e7":"I’ve mapped the attributes","textcc2e67022daa":"Deleted account immediately","textcc37009888e3":"Connect token","textcc42295b252b":"My project","textcc4a102ab2d7":"What you keep","textcc4e66e25c1f":"The shipped default is permissive: an action runs unless you have said otherwise. Set Ask on anything that writes to the tracker and Block on anything that deletes from it. We are stating the real default rather than the comfortable one.","textcc5b481bd613":"When an agent works out a better way to do the job, it does not quietly remember it. It edits the skill, commits it on its own branch, and opens a change request. A person reads the diff and decides.","textcc5de74822b5":"This deployment exposes no feature flags","textcc65757529c4":"Kortix is model-agnostic. Pick the model per agent, per session or per message, and switch the day a better one lands.","textcc66da5b19e4":"Enterprise-ready","textcc6b627af0fa":"On your own infrastructure if you want it there. Kortix does not sit beside the company as one more tool. It becomes the company — where the work, the context and the operations live.","textcc6c806be0f8":"Registered an OAuth app","textcc6e921330d3":"App manifest","textcc6eab86e598":"Downloaded project files","textcc7e587a074a":"Both values above stay on this page — copy each one straight into the fields below.","textcc85fb556a48":"Ask your agent to fix it.","textcc9a80a16e3c":"Kortix Public Content","textcca3635a7d2f":"Members appear here as your identity provider pushes them.","textcca598f05e1c":"I’ve created the SAML connector app","textccaaefeb318c":"ops@acme.com","textccaeaa3b2e87":"Guided install, right in your project","textccaf5d0bb280":"Who has what, how long they have had it, and when they last used it. It produces the review with a proposed action per row rather than a spreadsheet that gets forwarded twice and approved unread.","textccbfd6f25c02":"Failed to remove provider","textccc3a7846d02":"Role deleted","textccc6eb1c87a1":"Exit code","textccca18175753":"Conversation","textccdc59cf6178":"Has subscription","textcce5eda33f91":"Service status","textccf56ef5db0b":"Launch","textccf78bdeb35c":"A schedule you can read in one column.","textccfb5e72e1fc":"The mover case is where it earns its keep. A joiner gets a checklist and a leaver gets urgency; someone changing team quietly keeps both sets of access forever. A scheduled session finds those and drafts the revocations.","textcd0f85fb476b":"Kortix for developers","textcd165519e204":"Queued message removed","textcd2434c323fa":"inviteFailed","textcd2b91e36b1d":"CUA driver","textcd3a5d4a1364":"The layer that turns a model into an agent: planning, tool use, and multi-step runs it actually finishes. Fully customizable and powered by OpenCode, so the way your agents think is yours to edit.","textcd3fefb94c04":"One thing this is not: a package manager. There is no lockfile, no version pin and no automatic update — an item you add becomes your own files, exactly like code you wrote. That is a deliberate trade, and it is the one we would make again.","textcd4c984492ce":"PingOne Configuration tab with the IdP Metadata URL","textcd4f8d39c171":"It keeps running","textcd6c5f59d15c":"Everything else","textcd738deed65a":"A draft lands on the session branch and reaches main through a change request. An agent cannot merge unless an admin has granted project.cr.merge in kortix.yaml, and widening that grant is itself a reviewed change. Nothing goes live because a session decided it was finished.","textcd7d61bf7e38":"Fetch","textcd83da12309d":"Total running time across the team, on the default 2 vCPU / 4 GiB machine. Auto-stop means stopped time draws 0 credits.","textcd8dd219cc48":"Collection, repository, or workspace","textcd8ddd0a6ec6":"No areas match your search.","textcd93ff59e7c2":"This is your own email domain — saving this will route YOUR next sign-in to the IdP too. Make sure your account exists there before you continue.","textcd996e5c44e9":"Keep model billing with your provider","textcd9df7cc0537":"    enabled: false","textcd9f6b36a2c7":"Choose a direct surface from","textcda73ce6e6aa":"Reviews the PR, opens a fix branch, submits a change request.","textcda9d3861618":"Import the SP metadata","textcdb0888ac9e8":"$ kortix init","textcdbea4c4728c":"attribute name","textcdbf6975e8a3":"Goal","textcdcdff6eb6db":"the tools you wrote yourself","textcdd3dd706df5":"Create your own application panel with the Non-gallery option selected","textcdd43080fef2":"Compared here:","textcdd4c8afbc99":"Open a change request","textcdd7efcb7e2c":"policy resolved","textcdef3f586a58":"text-kortix-yellow","textce08e2abb642":"Kortix Solutions by role","textce0c20c05842":"Your last payment didn’t go through. Update your payment method under Manage billing, or top up to keep running in the meantime.","textce0faee27592":"billing payment credit card subscription manage wallet tier plan limits overview spend","textce18e358bf01":"Try a different term.","textce1e609b7bf5":"Sandbox ports only","textce281df2e934":"Dimmed, inert, and out of the tab order.","textce34af36d804":"Kortix – The AI Command Center for Your Company","textce3a4968d879":"Export it or stream it","textce3b4016393e":"Installing runtime","textce3e84298c57":"Reproduce it, patch it, open the change request","textce3fbb995f0b":"I’ve bound a user group to the app","textce4683e7013a":"Channel","textce46f520653b":"Topic:","textce47a3c13d0d":"Configure SAML → Name ID format","textce49e021df99":"The session owner or a project manager can reload it.","textce4c96225f63":"1 attempt","textce54f0e22dbb":"Component","textce582f2663e8":"Updated session policy","textce5979e3cee6":"Identities for CI, scripts, and integrations — they act on their own, not as a person.","textce5e9df4a78f":"Service account","textce697c2f098d":"- Stand up a preview, run the tests","textce7400730dbe":"connectors: zendesk, gmail","textce7da5716908":"Land it","textce89ae822e8b":"Reset view","textcea43cbea830":"Applications → Add App","textceab50a6f7f4":"Light Theme","textceb733acfa16":"Server-side app. Gets a client secret.","textceba35272869":"Retry preview","textcebb3a44c2bd":"36.7%","textcebdd34e5eba":"git push: deny","textcec34edc4be8":"Every Kortix session gets its own cloud computer and its own branch. The agent reproduces the bug, writes the patch, runs the tests, and opens a change request. Merge is default-deny for agents.","textcec52b040075":"The source does not advertise authentication.","textced79983aab8":"Teams you belong to.","textcedc516df056":"Compute","textcef30be178a6":"Manifest file","textcef709637aa5":"Key saved · declared in","textcef97fce306c":"Does the books, not just the summary.","textcefeb25cde11":"A person, a group, an agent, or an email you invited that has not joined yet.","textcf02eea4aa80":"Asked your agent to propose these changes for review.","textcf0883343f4a":"Protocol","textcf111a1d601a":"- Pull usage, value delivered, open risks","textcf134a1de504":"Pattern, e.g. git push","textcf184a1c054a":"Google only offers the XML download — there is no hosted metadata URL. Come back to re-download it if you change the app's configuration later; Kortix reads whatever is in the file at import time.","textcf23f35d540d":"Tunnel","textcf28f49ec597":"New folder","textcf2c9e218033":"OpenAPI","textcf2e8758b651":"In the Google Admin console (admin.google.com): Apps → Web and mobile apps → Add app → Add custom SAML app.","textcf2ec914e0b8":"Secret Token","textcf31f39501ec":"Presentations","textcf54ace114b5":"3. If they differ for any other reason, flag it for","textcf59e92f0d50":"no path between sessions","textcf5bca2b2046":"No data to preview","textcf5c8ddd36f5":"Assign to Groups dialog with groups being assigned","textcf72968b1a7d":"The metric definition audit","textcf8774beaaee":"The part where you review us.","textcf885bfcd8a4":"One click stands up a bot in your workspace","textcf895a4d5cb7":"Built to survive a security review,","textcf8f4cd95840":"You'll need to sign in again to get back to your workspaces.","textcf9ab0648479":"Asked your agent to propose these changes for review.","textcf9c7aa24a26":"When","textcf9f2241b07e":"The bot token never enters a sandbox","textcfaba14736c2":"· paused","textcfac8a356cfe":"At limit","textcfc47949d9f8":"Everyone on this project can use it. Name it so people can tell your accounts apart.","textcfca1e280a8c":"The one celebration in the product, made of the workspace's own icon.","textcfd094933139":"On the app’s \"Identity Management\" tab, turn on SCIM and point it at the two values shown above.","textcfd0b0225710":"Talk to sales","textcfdbc4e016d8":"You owned something for a long stretch. Whether it worked out matters less than the stretch.","textcfeafa33e54b":"Your app → SSO → Copy Metadata URL","textcfed046a62cb":"ACS URLs — imported for you","textcfee87726b0a":"Scheduled triggers","textcff5be799324":"AGI-ready architecture: what it really means, and how Kortix is built for it","textcffd5336018b":"Re-book — champion changed role","textcffdba22adf2":"New session","textd01c938ad505":"−42,600","textd028c565d0f3":"Flip enabled to true and it fires at 03:00 UTC, with nobody watching. Triggers are cron schedules and signed webhooks, declared in the same file as everything else.","textd02db30b123e":"More Actions → SAML Metadata","textd0336b6b1e16":"/features/receipts","textd037eecb4dc8":"Connect GPT subscription","textd038adbf2bca":"The 300 most recent sandboxes. Refreshes every 10 seconds.","textd03996038975":"No cost entries","textd04c52d2b1ba":"About ${value0} of top-up credits at this pace.","textd04fc7d7e197":"Web Search","textd0599d5b807f":"The campaign read-out","textd05e07b7c14e":"Balance","textd05e451f4d44":"ambient + whitespace statusText","textd060b29cf17b":"The API answers","textd06d32440b8d":"Claim value","textd06f4fee6209":"Content & design","textd071fb666276":"I’ve configured the attributes and claims","textd07d886c79ea":"Reply URL (Assertion Consumer Service URL)","textd0858bfa4be3":"Open auth page","textd0887b471a75":"Started marketplace install","textd094b334d809":"Basic Information","textd098ab5e44b9":"fresh","textd09ddaf3e168":"# self-hosting? the same command falls back to manual","textd0a51a423a4c":"Under \"User Attributes\", add each Service-Provider-Attribute-Name → JumpCloud-Attribute-Name pair. The left column is the SAML claim Kortix receives; the right is the JumpCloud user field.","textd0b8b9f1acde":"owner_only","textd0c559058d8c":"I’ve mapped the user attributes","textd0cda6559bb3":"navigate","textd0db8b5e364b":"Options","textd0dd76e23558":"Mutual TLS","textd0e52a56b556":"In the Easy connect catalogue: click through the OAuth screen and the connection belongs to the project. Read the pipeline and the scorecard, write back stage and scheduling. Whether it may write at all is your grant to make.","textd0ef86e220fc":"Send test notification","textd0f24de8dbc6":"Public link copied","textd0f532827c39":"Prove it","textd0fffb7fa940":"Conversation Density","textd102110d1f10":"Assignment is the allow-list: only users/groups assigned to this application get provisioned. In the left nav click \"Users and groups\" → \"+ Add user/group\" → click \"None Selected\" under Users → pick a user (recommended: assign yourself first so you can watch yourself arrive) → \"Select\" → \"Assign\".","textd10b36aa74a5":"}","textd1125626fd7d":"Business & operations","textd12860c21e78":"Link copied","textd1320b6ab24c":"The real value is an environment variable agent code and commands can read.","textd1345dc7da98":"Duration and easing tokens. Click a label to play it.","textd13a607ddf4b":"The sandbox carries one project-scoped Kortix token and no third-party keys. Your CRM credential is decrypted server-side and attached to the outbound request. Turning a connector off takes effect on the next call — there is nothing in the sandbox to rotate.","textd1404ef87a5e":"User attribute mapping","textd14431af93cf":"vCPU ·","textd15387ecc6c5":"Slug","textd1598dde2f63":"Secret token","textd1636c646e66":"See progress","textd165df0008b1":"AI workers","textd16be1a95200":"Search by user group name","textd16c94c19673":"Required before session start","textd16e707973b2":"The Monday digest and the release note","textd16ef865187d":"Find and qualify accounts that look like our best customers.","textd17426176cc2":"and its projects.","textd17a5bdde70e":"Inbound","textd17d2d78d76e":"Models","textd17d84a60499":"Exit","textd180271bed63":"Markdown personas with a scoped reach into tools.","textd1890b442952":"Failed to create account","textd1927e39d8d3":"The one live channel. The thread where a customer complaint got pasted is often the only place that complaint exists — and a mention in that thread starts a session on it.","textd196b7afe1d9":"New accounts ({value0}d)","textd197e66e9634":"Your own starting model, in every project","textd198ed30d09b":"Imprint","textd19a15c70437":"Gmail","textd1a087aa7773":"{value0} of {value1} steps done","textd1a5371a1e08":"Cancel invite","textd1ac6a0ae90e":"Deactivated SCIM user","textd1b087579f06":"Where it reaches","textd1b0a6e3985a":"Delete App","textd1b4e98ecd9b":"Create GitHub App","textd1bc1e7821b0":"Kortix legal","textd1c7fb162898":"Provisioning To App settings with the three sync-action checkboxes","textd1cb05fae1a2":"    type: cron","textd1cc686f8a1b":"Interview kits, scheduling, onboarding runs and policy answers drawn from your own handbook. Kortix does the coordination; a person makes every decision about a person.","textd1d6f38c037e":"Filter state lost on reload","textd1db29ebc76d":"Hide sidebar","textd1dc8f6ab64a":"Edit everything","textd1dcd7a7bbec":"Added Email inbox","textd1f4d56aecde":"Describe a task to start a session…","textd1f9c6739594":"Open in Stripe","textd1fc8381e22d":"”","textd203efbea730":"How to give AI agents production tool access without raw API keys: scoped connectors, approval policies, server-side credentials, and reviewed work.","textd2089be67295":"Token","textd20a4476a0a8":"Generating…","textd2145c294689":"Binding here does double duty: it grants sign-in access AND selects which groups get sent in the \"groups\" claim you enabled above.","textd21d10509292":"This is the only time","textd21d1290c277":"It pulls a lead list from Apollo, enriches every account, and writes a sequence per lead. Put Ask on the send step and it stops with you before anything goes out.","textd224dfd08209":"your whole company, as files","textd22feb61298b":"Add credits","textd236e9cd730b":"1. Install the CLI (once)","textd23e867e38e8":"Mo","textd24a0b6b8a29":"Pulling warehouse context","textd24a95381c8e":"Agent updated","textd24f71ceadfb":"The agent needs your approval","textd2555357d10a":"Approved connector action","textd2600c68a9ff":"No members or groups here yet.","textd261d4c6fc5b":"Deploy your way","textd2705348bbbb":"Grant to a group once instead of to twenty people twenty times.","textd274f40a8a9a":"TYPE I","textd27df137f79b":"Access required","textd28d2fa96eaf":"Nightly, or pin a version","textd29222de0472":"Use your own Git client","textd2970d5a365f":"Skill body is empty. Add content below the frontmatter.","textd29c02694ba8":"The same loop for every candidate","textd2acf4ac763b":"Encrypted, scoped per project and per agent grant.","textd2b56d18ddca":"What everyone should know — and it compounds every run.","textd2bec415e0a3":"The repo is its own history","textd2c165305573":"Engineer your first loop","textd2c5c59f57a8":"The kit, the schedule, the debrief structure, the onboarding plan. Every one of those is about how you run hiring. None of them is a judgement about a candidate, and that boundary is a deliberate product position rather than a limitation.","textd2f3be0047c4":"Point Kortix at an OpenAPI, Postman, GraphQL, MCP or HTTP source and it becomes a connector your agents can call.","textd2f3da09da4c":"The connector and exact action, the agent, the person or trigger behind the session, the outcome, and who released a held call. If something went out, the record says who released it.","textd3062e403163":") is visible, and you'd mint a new token from the SCIM card in Settings.","textd3146291f128":"Delete files","textd31a3cbcb70e":"Somebody asks in a channel. The mention starts a session, the session does the work on its own machine, and the answer lands back in the same thread with the query attached.","textd31de1a5c5c8":"Browser","textd321c227d1d9":"Total cost — LLM + sandbox compute","textd3237eaf77bb":"Failed to remove access","textd3297c00f7a2":"Approved hosts","textd33efef68fbd":"The pinned session keeps its own sharing settings. This policy applies if the trigger creates a fallback session.","textd346ad20b6da":"Connectors brokered server-side","textd353a99eb455":"Cancelled","textd355044d5f9b":"The test user shows up under Members on the Identity page — that’s a confirmed round-trip.","textd357175cfe89":"Media","textd3663280e101":"Profile name","textd36be6494248":"queued","textd37078fe6a1f":"Copied to clipboard","textd37b08fa1bee":"No hosted URL? Switch to \"Manual configuration\" and paste the XML from \"Export Metadata\" instead — but the URL auto-refreshes when JumpCloud rotates the cert, so prefer it.","textd380d30f3d60":"0 gives the same answer every time. 2 is the most random.","textd3821f7d63f3":"This workbook exceeds the display limit. Download it to view the full file.","textd3944a99247c":"The places feedback actually lands.","textd39d2a43676f":"api.read api.write","textd39e457aea5f":"Route IdP group values (from the","textd3a118da5b46":"GitHub status unavailable","textd3ad0686a4e9":"Describe the bug in a Slack thread, or start a session from the web app or the CLI. You get a reaction on your own message rather than a bot post, and the reply lands in the same thread.","textd3b2aefa7524":"Quickstart","textd3c33457aec8":"codePoint2Title","textd3d900c89bd0":"{value0} {value1} decided by a project rule","textd3dc01b4e53e":"Release on GitHub","textd3e1c5f8a6e2":"Origin","textd3e9c765c2a3":"A public App has no signed-in Kortix viewer.","textd3f41a14c079":"Also calls the Kortix API, limited by their own role","textd3f53ac72951":"You approved this yesterday","textd403c686f6a1":"Connecting","textd4044e3ef08b":"1 key","textd4055fafa379":"Resolution","textd406ade2958c":"Attach","textd4115d8863a0":"Credentials live server-side and never reach the sandbox","textd4170e74c3b0":"Grant {value0}","textd417aa16da36":"Branding","textd432610668ee":"The identifier selects this credential. Access decides whether agent code can read the value, and who else may spend it.","textd43c432b5930":"Viewed system metrics","textd440cfc72edc":"branding logo icon favicon product name app name white label whitelabel theme identity","textd447ff3bae61":"Telegram, WhatsApp, SMS and Discord are not channels, and this page will not imply they are on a roadmap it cannot promise. There is also no build-your-own-channel API — the platform list is a closed enum. What there is instead is a signed webhook trigger, and we would rather tell you its limits than sell you the word \"extensible\".","textd44f5e641157":"Leave admin console","textd45336ed23b4":"We couldn't reach the runtime to ask whether a turn is running. Reloading restarts it, and if one is in flight it will be lost.","textd45f25a6299a":"Members confirm a second factor before any protected action. Super-admins and API keys are exempt.","textd460f97920a4":"One shared credential that everyone on this project uses — the agent and your triggers run on it.","textd461a493a375":"Automatic","textd465f57b1d0d":"registry · push","textd4673300c1d2":"Notifications are working correctly!","textd46958e8ca77":"Entra tip:","textd46bb949f04b":"Failed to update MFA requirement","textd46d69e2b595":"Two kinds of credential, stated precisely","textd46dc6f5e3e3":"Copied \"{value0}\" to clipboard","textd46e628bda3a":"Config reloaded","textd4707c58c4a4":"The sandbox is starting. This file will load automatically.","textd4735e3a265e":"2","textd48985255cee":"# Onboarding","textd48a617c7da5":"Credentials","textd48d1b0dbdd6":"Inherit the platform route, run your own ordered chain, or return the error.","textd48f39d295a7":"Start over?","textd49230a2e007":"apps deploy deployments serverless docker static hosting urls","textd49b5d2b4d10":"The App sees the viewer's Kortix id, email and groups","textd4a33d5b78bc":"Discover","textd4a5d5f8fd9b":"Collapsible","textd4a9db8c6f31":"Kortix for finance teams","textd4ace1d74a08":"Knows who is signed in","textd4b1ea5708dd":"Overview","textd4bc8ec6a562":"Revoked session","textd4c2dd15aae0":"New sandboxes appear here as sessions spin up.","textd4c3e8a11256":"browser","textd4c5e9c25176":"None — every model uses the fallback above.","textd4caa96c198f":"OAuth & Permissions","textd4e247cd9e30":"OneLogin pushes users and groups to Kortix with its \"SCIM Provisioner with SAML\" connector — a SEPARATE app from the SAML-only connector. Outbound provisioning is a paid OneLogin tier; the Provisioning tab only appears when your plan includes it.","textd4edcc30c8f6":"A change request is a diff. An agent rewriting its own prompt is reviewed the same way a code change is — because it is one. A change request whose manifest does not validate cannot merge at all.","textd4f0bc5a29de":"agent","textd4f603db3f57":"No connectors found.","textd4f8eac607e5":"Calling the gateway","textd4fa8521a7f7":"Set anything that sends to a candidate to Ask. The run pauses at the call showing the message and the recipient, and resumes from that exact point once you approve.","textd50ab26e1621":"tools are","textd50bf082547f":"Their roles","textd5124314ac72":"renewals/SKILL.md","textd515f678c881":"From the App's GitHub settings page, under General →","textd5169f4c999c":"Encrypted at rest","textd5221364a548":"Permissions saved","textd534be829e32":"Video","textd535ab1a7938":"Primary email","textd53b4d024fee":"Processed gateway billing","textd549bdd8591d":"Unique User Identifier","textd54cae0781a0":"Account · Branding","textd55382a581aa":"+42,600","textd557bdc340e8":"Git access failed","textd55e4ce78182":"Signed up:","textd561f528baf7":"Request ID","textd566a2226f90":"Allow all {value0}","textd575819db004":"Name ID format and Application username settings","textd57d48b71020":"Log Out","textd57fa956f0a4":"Test Trigger","textd5855d4a3b6f":"14 mo","textd587acccbf63":"Get Kortix for macOS, Windows, Linux, iOS, and Android.","textd58b5d64893b":"New webhook","textd5901ccea8a3":"Found in Azure Portal → Microsoft Entra ID → Overview → Tenant ID.","textd591d3458ab8":"Last Heartbeat","textd598026a9cbc":"Windows","textd59d8e8ed646":"This file couldn't be opened.","textd5a5a90ac986":"newest first","textd5aabd650aae":"No channel for your platform? Here is the honest path.","textd5abc7bad676":"Key copied","textd5bf3036405d":". Pick a model to pin it.","textd5c147e93f23":"Signing key updated","textd5c9342e8430":"Needs auth","textd5d0a30b517e":"Calendar","textd5d95217828e":"{value0} users arrived","textd5dc1d62bff7":"One transport for every session, proxied through the compatibility layer.","textd5dfe5707a58":"Reload anyway","textd5edd2d17cfe":"Unknown author","textd5f2ad00f99b":"Open the files and apps created during this task.","textd5f73450ac16":"this GitHub account","textd5ff152d9a54":"Copy claim name {value0}","textd600b9239ea2":"Add members","textd604310a789a":"Showing","textd608d0f65354":"No changes to save","textd62393fd9c05":"A trigger starts a session at 3am.","textd6240bb76311":"No spend recorded yet","textd62c9039203e":"inbound","textd6318e7ae71a":"Created copy of folder \"{value0}\" here (empty)","textd63af8edd3d6":"One more step, in Slack","textd640c7421da0":"Resume","textd647e7a1a79d":"Base64url x5t#S256 value","textd649bd5b85d2":"members now. Complete the test sign-in in your private window — the moment the user is provisioned, they appear here (checks every few seconds).","textd65407c0111d":"Don't just find the work. Run it.","textd6627a42b6b2":"Requests that don't match are ignored.","textd668b28cfe55":"Computed from their role, groups, and policies.","textd67566f60104":"Failed to set enterprise demo","textd6766fccffec":"Boots with","textd6769af2ec60":"Real shell · real packages · the notebook lands in the repo","textd67e2e944994":"changed","textd68363e3fe3f":"A fresh RSA keypair for SAML, so SSO has a key the day you turn it on","textd68551c7d2e5":"- Pull the ICP from memory/customers.md","textd686f873a566":"GitHub account","textd6915875decb":"Easy","textd691d72576f2":"Ingested session audit events","textd6a135de3872":"Added {value0} to the manifest, but synchronization failed: {value1}. Use Sync to retry.","textd6a7bfaf08b0":"This is most of an IT estate. Point Kortix at an OpenAPI or Postman description, a GraphQL endpoint, a bare HTTP base URL, or a remote MCP server. It reads the source, works out the authentication, and turns each operation into a tool with its own Allow, Ask or Block.","textd6ae265f696d":"5 files touched · preview ready · tests passed","textd6b64bf5e951":"Bot User OAuth Token","textd6c3e87ae49c":"daily-digest","textd6ce349e94f9":"Tickets, threads, the tracker, the repo","textd6e0ff2b7a53":"caddy","textd6eafe823591":"Download","textd6f42f3b5411":"CLI token","textd6f8c9c8e719":"Failed to rename: {value0}","textd6fe75582a5e":"Manager required","textd6fe9b2f67a7":"This will clear all active maintenance notifications.","textd70047735b1c":"Project routing reset","textd70604e84304":"Recommended","textd707dc2f1936":"Logo","textd70b9e24bca2":"Created","textd70d09b7d701":"Couldn't load this project's agents","textd7153709ba6f":"One long piece into the formats it should have been","textd717d6d02f4f":"No change requests matching \"{value0}\"","textd728c56ec935":"Acts as them in Kortix","textd72e311c4dda":"Minimize","textd75025a6a12f":"Bring","textd780563bef66":"Wait for the agent to finish before running a command.","textd787477fa89b":"Removed from group","textd78d6709320c":"Written from the evidence and from the code that already exists — it reads the repo, so the draft knows which of the three proposals is nearly built already. It is a draft to argue with, not a plan to accept.","textd78ffa71af82":"The agent drafts the reply and reaches send_email.","textd7982e9989d5":"Failed to load transactions","textd7a593111a3b":"Billing webhook retry","textd7a94d927479":"# what does the company believe about pricing?","textd7a95595744f":"Successfully sent {value0} {value1}!","textd7abbd37d0b8":"PNG (1000×1000, <1 MB).","textd7b465b5df33":"Source copied","textd7baeba57734":"Role updated","textd7c3b862b739":"JumpCloud Declare Redirect Endpoint, Save, and Copy Metadata URL","textd7c4cbc403b9":"On the Provisioning tab → To App → Edit.","textd7cb455aa690":"Parameter name","textd7cbbb688b2e":"selected","textd7cc97510eb3":"Attach existing AgentMail inbox","textd7d351ef148e":"Create gateway key","textd7d49702e21d":"Never runs, and agents cannot see it","textd7da08389824":"service account","textd7db5a6e1483":"Copy this token now","textd7e9af636757":"Tokens are stored per host, so switching hosts switches the account and the default project with it.","textd7eb7cdcff7d":"Check your email for a sign-in code","textd7f179da0e70":"We build self-driving companies. Humans verify, steer, and govern while agent teams do work across engineering, product, operations, finance, support, and growth.","textd800b1eb8a84":"Click \"Create App Integration\".","textd814d7970df3":"\"Move from X to Y\" is a solution you pre-committed to. Slow, flaky, breaks for this one customer — those are problems.","textd81c55f49c5b":"saved","textd81e7196d898":"Throw it","textd8211e24e83d":"Reasoning","textd822735073db":"Blocks all access — redirects everyone to maintenance page","textd83085ac907e":"A monitor showing one session's workspace: the project repo, kortix.yaml open, and a shell.","textd83250185d41":"All connectors","textd83265a96352":"Add Assignment","textd833da5b9497":"and commit. Restart any running session for the change to land in the sandbox.","textd8348ec82718":"List Triggers","textd83849820d67":"Subscription activated","textd83a0d814c59":"API Status shows a green \"Enabled\", the \"SCIM Username\" parameter maps to Email, and provisioning is enabled without the admin-approval hold.","textd84b8be91e7b":"Kortix — Presentations","textd84ee1e1e08b":"try kortix init, or / for commands","textd85a383e851d":"Migrate manifest to v2 (kortix.yaml)","textd85abf75ffac":"Revoke trial","textd861cc0af73c":"kortix init scaffolds it, kortix ship brings it live. It is the same repo doing the same thing, so local development and the live system stopped being different categories.","textd864380a766f":"The sandbox carries one project-scoped Kortix token and no third-party keys. Your tracker and helpdesk credentials are decrypted server-side and attached to the outbound call.","textd8707d411d99":"Secrets","textd87cb0774bec":"Connector credentials never enter the machine","textd88f6d8372f4":"Once","textd8a321e980e7":"Ask in chat, get it now.","textd8ad572d2fb1":"oauth2","textd8b630796604":"Session access updated","textd8b8392e2c54":"Try again","textd8bdf30bcb89":"Prompt copied — paste it into the chat to ask your agent.","textd8e4cc72a516":"Downloaded {value0}.zip","textd8e9d699a5dd":"Daily platform activity and credit burn. All buckets are UTC days.","textd8eda34a089a":"The accounts stored for this connector could not be read.","textd8f2d0579d1a":"Loading sessions","textd9016ff54bb6":"emailSent","textd905377dc459":"The content brief with the research already done","textd90822f4e563":"$ kortix channels connect --manual \\","textd9088c8aee01":"Back to projects","textd9092b87f105":"What it learns is a file, not a black box","textd909750b1bbb":"Automation","textd90c143bf007":"Start it right away","textd90f99f1be57":"Put the ACS URL in both \"Recipient\" and \"ACS (Consumer) URL\". The \"ACS (Consumer) URL Validator\" is a REGEX field, not a plain URL: take the ACS URL above, escape every dot (. becomes \\.), and anchor it with ^ … $. For example, if the ACS URL is https://api.kortix.com/auth/v1/sso/saml/acs, paste ^https:\\/\\/api\\.kortix\\.com\\/auth\\/v1\\/sso\\/saml\\/acs$ — a pattern that doesn’t match the exact ACS URL makes the sign-in fail with no clear error.","textd912982e31da":"markdown — no toggle","textd92ced5d43d9":"calc(var(--fd-banner-height) + var(--fd-tocnav-height) + var(--spacing) * 4)","textd931fd53e0fa":"Deactivating the user in the IdP removes their membership and revokes their tokens.","textd9323f2a7998":"Git ref","textd938438f232e":"Webhook auth","textd942e3dc737b":"docs.kortix.com","textd948c285986a":"Slack disconnected","textd94a83e48b64":"This workspace is unreachable. Return to projects and open or create another session.","textd952c0d7b0b0":"Injected at call time","textd95934d15292":"Search 5,000+ APIs, MCP servers, and OAuth apps","textd96a37fc02f0":"Replace password","textd96e9599b178":"Your app → Sign On","textd99ecab21e4a":"A cron trigger opens the period-end session on the first working day, does the assembly overnight and leaves the workbook and the unmatched queue waiting. The judgement is still yours; the four days of assembly are not.","textd9bed5da95cc":"Point this at whatever identifies a conversation in the incoming message — a chat id, a customer id, an email address. Each distinct value gets its own session. Leave it unmatched and that run starts fresh.","textd9c0d34144c1":"reuse","textd9c95c52010d":"Reconnect ChatGPT","textd9cf36890c05":"Not attached to any projects","textd9d0364fb8bc":"is back on its billed tier.","textd9d0b4384a58":"Set all","textd9d167d882e5":"General knowledge worker — full tool access; codes, researches, writes and runs ops end-to-end in an isolated sandbox.","textd9e5e615d8e5":"Auth0 Applications list","textd9ef50b79c75":"Balance ≥ {value0}","textd9fa05c93112":"The record","textda0e101a67e7":"Ask anything...","textda1aa627c64b":"An admin email","textda2481d22696":"Never crosses into the sandbox","textda2e5dc515b1":"Everyone","textda39954e705a":"{value0} {value1} its own review — open {value2} to ship.","textda3e4af8062b":"Could not load connector surfaces","textda404deb110f":"Denied","textda4365b5d2bf":"Separate multiple scopes with spaces.","textda47795dda68":"Long work does not depend on your tab. Close the laptop and the machine keeps going; open the session tomorrow and the work is where the agent left it.","textda56a3718077":"Can open","textda6efefb0490":"Failed to load sessions","textda74d185ef7c":"Group created","textda77e2a62e07":"I’ve confirmed the groups attribute","textda780699fda4":"Run your whole company from one repo you own.","textda7d161a2777":"Slack channel","textda7fb2a18ca4":"customers.md","textda906414ef1b":"Open dialog","textda9108359944":"No agents available","textda919bde28e0":"11 done and verified · 2 want a quick look","textdaa286f24937":"Session stopped by user interrupt.","textdaa5af1847ed":"Eight kinds of work. One set of rules underneath.","textdaaf5ab03267":"Not set — using the default instructions","textdacd5f120ffe":"Credentials encrypted, brokered server-side, never handed to the model.","textdad35b178f11":"Entra admin center — Enterprise applications list with New application highlighted","textdae85d16887b":"Max concurrent sessions","textdaee28c0c883":"You own all of it.","textdaee7606b339":"Reset","textdaf44c9faf1b":"Couldn't load version history","textdaf8a3e28790":"Failed to grant credits","textdb08291c7ba0":"Background work","textdb0e960b68b5":"Needs approval","textdb124833fce6":"removed from","textdb1371376b80":"home overview landing start composer ask","textdb13bf0f0045":"It queries the warehouse on a schedule, checks the result against last week, draws the chart and posts the whole thing to Slack while you are asleep.","textdb16253b2304":"Pick the group these {count} people join.","textdb1e359790c5":"What's the name of your app?","textdb21fb39e064":"    provider: pipedream","textdb2994c1db34":"ACS URL","textdb41b06d8460":"No feature matching \"{value0}\"","textdb482d99cacb":"values.","textdb4fb44737e7":"The request failed.","textdb591dc55a99":"No changes yet","textdb5f2f038452":"Resource ID","textdb71b63b5778":"Agent code and commands can read this value. Use this option only when the secret must be available to a local process — a credential that signs requests, or a protocol Kortix cannot enforce.","textdb742239f2ca":"Where the working actually lives in most finance teams. It reads the plan, writes the workbook, and leaves the file where the team already opens it.","textdb77d22c4be7":"Ship every audit event to your SIEM or generic HTTP endpoint. Payloads are signed with HMAC-SHA256.","textdb7d057a2f68":"What agents may do with","textdb84fa521ad4":"sandbox:","textdb8b450c822e":"FileViewer","textdba36bffa5ca":"words","textdbba4abbc65b":"Three ways to start the same session. Product work is mostly reading, which makes the scheduled one unusually useful.","textdbba817f12f2":"7 deals advanced, 2 slipped.","textdbbfc6cf8952":"Browser or native app. No secret — PKCE only.","textdbc539f3b073":". You do not have permission to change it — ask a project manager.","textdbc55cb506f2":"Your team isn’t on a plan yet. Subscribe to Kortix Team to run sessions, with LLM compute and AI Computers for every teammate.","textdbcd5e7bb7a0":"Light","textdbd9b1773511":"Skills and memory accumulate with every run","textdbe0414753c1":"Please wait a moment before trying again.","textdbe08e62ef56":"Your team is on Kortix Team. Compute and LLM credits are ready.","textdbe46defeac2":"warns only","textdbef6cc84fef":"kortix self-host start","textdbf362d4f210":"Copy link","textdbf788502aee":"Illustration. Figures are fictional and internally consistent, not a real ledger.","textdbf8335a82da":"A celebration should be about the thing being celebrated. This burst is made of the workspace's own icon — its glyph in its own colour, its emoji as-is, or the chalk initial tile it wears when it has neither. The precedence is EntityAvatar's, extracted into src/lib/confetti-identity.ts, so the particles can never show a face the tile does not.","textdc0451eb46ce":"Upload Word document","textdc0a04e35f6e":"Are you sure you want to send?","textdc0badfb53b1":"always_run, require_approval, block. A rule matches a glob over fully-qualified tool paths, so one line can cover a single call or a whole connector.","textdc1a581b7bf7":"Prewarmed sandbox capacity","textdc1af0dafb8f":"Revoke — moved to Support in Q1","textdc258e9a953b":"Could not read the server's metadata","textdc261f20dba9":"{value0} projects on the platform.","textdc26b6a994c2":"Set \"Name ID format\" to Email — Kortix correlates accounts by email address.","textdc273117482b":"Connections","textdc27d1015ec8":"Merge into main?","textdc2ecae5a475":"- Pull the logs, find the regression","textdc32ee18ad99":"Permanently deletes this account and all its projects.","textdc380888c4e2":"Loading","textdc40ace03968":"· until {value0}","textdc4156c43e06":"Emoji grid for picking a project icon — search, keyboard grid navigation, and a skin-tone selector. The hovered cell takes one of six tints, rotated by three on alternating rows. The dataset is self-hosted from","textdc4cbd66fe2d":"audit governed actions approvals trail session","textdc5229faa653":"Exit full screen (Esc)","textdc5255461795":"No matches in","textdc5376ca47b4":"Existing AgentMail inbox ID","textdc54941c8b98":"Black logo on light, white on dark","textdc5c5b516771":"Your agents, instructions, and shared knowledge stay in files you can read, change, and track.","textdc5f0f8236de":"Register Kortix in your IdP","textdc613b61cff5":"Mapping removed","textdc67a3ef3fa4":"Ran trial expiry sweep","textdc6c9309c03e":"Affected services","textdc6d1d15031b":"bank feed sync","textdc70ef3b3338":"A channel is only worth connecting if the answer arrives where the question was asked. Files go both directions, and the decisions an agent needs from you are buttons in the thread rather than a link to somewhere else.","textdc76dd6b1aff":"Sign in to the Kortix CLI","textdc78f4d17256":"without MFA — they won't be locked out, but consider asking them to enrol:","textdc7ab144ca89":"Upgrade for the full agent editor","textdc7ea87fdc45":"Files, both directions","textdc8659db6d41":"Enter","textdc8d7c5c602b":"Source ledger","textdc934fe30a94":"20%","textdc937b598926":"None","textdc958f2a5781":"Key actions","textdc98511e6b34":"Runs as","textdc99025834c1":"Self-host Kortix","textdc9cbe5d4dd1":"A specimen of what {value0} gets back: {value1}. {value2}","textdca21555d836":"Common values:","textdca61d32363b":"Grok","textdcafafe0042d":"Audience (EntityID)","textdcb300b85f0d":"+ Add user/group","textdcb912de1250":"The closed platforms are becoming AGI operating systems too.","textdcc3f936c2d4":"App attribute","textdcc839a4015c":"View","textdcc954337afd":"/mo","textdcd1d5223f73":"Name","textdcd23310a7aa":"Change your password.","textdcd32479a72e":"fill","textdcd8874e25da":"The thesis","textdcdce51f07eb":"Access removed","textdce2c13f4266":"Source added","textdce7165865e9":"Open the app → \"User Groups\" tab → tick the group(s) whose members may sign in (create one under User Groups and add your test user first if you have none). Save.","textdceafd500b4c":"- type: cron agent: research","textdcf318e675c7":"Distill","textdd0ae7a5cbcf":"Save changes","textdd0b6a747c8e":"Your app → SSO → User Attributes","textdd1415c23913":"Remove SSO provider?","textdd28b5cb26fd":"Read-only tools","textdd2c0eb6ea5c":"Dockerfile","textdd2d120a9ea9":"updateFailed","textdd422a57c3ed":"No capabilities match your search.","textdd430cfb3b0a":"Failed to validate referral code","textdd465809683b":"Restarting \"{value0}\"…","textdd4971af3f91":"Off keeps it out of the session picker. Other agents can still call it.","textdd61d5ff27c4":"activated","textdd69a8f7d8d9":"Cloudflare Access policy configuration with rules","textdd6abe6fa86c":"Disposable by design","textdd6b0b63da5a":"launch-note.md","textdd730b855f7f":"No tokens match","textdd77952c5416":"Add attribute","textdd80c157b521":"An external service POSTs to the trigger URL. Kortix checks the signature, renders the payload into the prompt, and starts the session. A payload that fails your filter is accepted and ignored.","textdd84425b72da":"LinkedIn","textdd85a05fdbbb":"Set managed-models override","textdd93abf29136":"<div onClick={handler} className=\"cursor-pointer\" > Click me </div>","textdd9d24965dbe":"Cron","textdd9e881230eb":"archived","textdda839b13617":"Download as zip","textdddf1fb0da7f":"Confirming active config","textdded3c27bcec":"launch/SKILL.md","textde00adeaf21b":"Cover many tools at once with a glob (","textde0825bcf9bc":"Searching file contents…","textde0a6db058a5":"Connect each source once for the whole project. Credentials are decrypted on our side and attached to the outgoing call. They never land in the machine the model is driving.","textde0edaa7070b":"Enterprise · $400/mo","textde12e3c7c7a8":"Collapse to panel","textde181455a329":"Ask an owner or admin to add you to a workspace.","textde2d0222a2d8":"# QBR prep","textde2d423ac039":"suspended","textde361b6ea9ec":"Super-admin bypasses every permission check.","textde3bf9cc102d":"SAML via a custom Google Workspace app","textde4066927089":"JumpCloud pushes changes as they happen (group binds, membership changes) — a quiet period just means nothing changed.","textde465ef4e1a7":"Critical Banner","textde4743c87973":"Company","textde5939dff899":"Run & talk","textde5a4015009a":"Remove mapping","textde6a473b60fe":"Loading memory...","textde752c4fb179":"Set it up with the agent","textde781187cbfb":"Ask anything…","textde7c5922d6eb":"The user or org that should own project repos — must match the owner field below.","textde838855e4a6":"Stage","textde84d961f30d":"Viewed session audit log","textde8b3da50590":"Point Kortix at an OpenAPI or Postman spec, a GraphQL endpoint, a remote MCP server, or a bare HTTP base URL. It reads the source, works out the authentication, and turns every operation into a tool.","textde8d23760b6d":"On the \"Configure SAML\" step, locate the \"Single sign-on URL\" and \"Audience URI (SP Entity ID)\" fields. Copy the values below and paste them into their respective fields.","textde996979df5c":"/workspace/jjk","textde9c395367bb":"Leading icon","textdea2a0765c45":"Aggregating finance.weekly","textdea47e4b79d6":"Object IDs","textdea6fa7baa10":"Research, drafts and CRM hygiene, held for your approval","textdea79332147f":"Min","textdeac33d490eb":"Services booting...","textdeb093603efa":"Status: {value0}","textdeb538b50cb6":"across","textdeb59ebdac18":"Enter an appropriate app name, such as \"Kortix\". Select the \"Integrate any other application you don't find in the gallery (Non-gallery)\" option. Click \"Create\".","textdec35a21fa80":"Everything around the conversation, so you can have the conversation.","textdeefeb7a0e9e":"Isolated execution, scoped credentials, and a complete audit trail are how the platform is built. SSO and role-based access come standard; self-host it entirely if you want.","textdef49a469e2f":"The agent and the person or trigger behind the session.","textdef70944c9bb":"Creating...","textdf0453d185c4":"Metadata only","textdf0a047c59fb":"support-triage.md","textdf0b5ba1b462":"Builds the outbound campaign and runs it.","textdf0fbf9c008f":"Add to project","textdf1bc4984a05":"Ghost","textdf1db3412b9d":"and will be injected into sessions as an env var.","textdf1e79ca2a1b":"# Launch","textdf2567a8cc4f":"Your app → Provisioning → To App","textdf2f3683ff04":"Spend it on managed model tokens or more runtime — or don’t; unused compute bills nothing.","textdf33a10e5579":"Default fallback strategy","textdf37e04fda71":"Generated image","textdf401def2586":"Glean is the best permission-aware enterprise search. But search finds work — it doesn't do it. Here's where you outgrow it, and the open runtime alternative.","textdf42a4d5d353":"Foundation","textdf495ec39f55":"- skills: profiling, sql, charts","textdf4e2990214a":"Steps and thinking stream live while Kortix works.","textdf4e88af065d":"Set budget","textdf55b4b9b6f5":"Activate / Save","textdf6224fb4ca9":"From pattern rule: {value0}","textdf6816ae6cb1":"— re-run it and this section updates itself.","textdf6cab363226":"Failed to {value0} App","textdf7987d6fd91":"Session overrides saved","textdf80c0ee2f08":"Agents & Skills","textdf8e32d18dbd":"Anything you can reach","textdf964376e432":"xoxb-...","textdf9658428180":"Please enter the 6-digit code from your email","textdfa16aeaca13":"This workspace’s repository is hosted on {value0}, which does not support collaborator invites from Kortix. Manage access where the repository lives.","textdfa2cff42f0c":"No systems depth","textdfad83e7eb69":"{value0} are implicit Manager on every active project in the account.","textdfca5da56b8c":"Section","textdfd7d37e2b63":"toggle in the toolbar.","textdfe0c2e802b1":"Server error","textdfe40a843c41":"The first phase of globalization hollowed out industrial economies. The AI era cannot repeat that. The priority has to be building a frontier ecosystem, not just a frontier model.","textdfe95783edfe":"Pricing","textdfea4cbd3f41":"The authorization did not return a redirect.","textdfea74d6d58d":"Move fallback up","textdffb64dc7001":"Limits","texte01d77b4a0bd":"The problem","texte02a5941602a":"Upgrades","texte030ac604b81":"Deployment & posture","texte0362b3241c5":"In bounds","texte03abcb2b624":"Connectors, and the update window","texte03d3314ccda":"Concurrent agent runs","texte0401ccff09d":"Slack and email connect the same way, so an agent can be reached and can reply where the work already happens.","texte0447514873e":"Failed to load members","texte0454e781e5f":"$ kortix cr","texte0478c3e271b":"You're on seat-based pricing","texte04eb29020ea":"sales","texte0603c499aae":"http","texte0661dab3f98":"One scoped token, and nothing else","texte066e37463a8":"System message","texte0687cb3046c":"Anything the agent runs — a site, an app, an API — opens from here.","texte07615d6ccf5":"approval needs","texte0769a52772f":"Access updated","texte077517dd17a":"0.5 = half-price compute, 0 = free, blank = plan default.","texte080f87e22ad":"Downloaded the sandbox agent","texte0926fdac700":"Terminal","texte0940d94dd14":"It shows what it read","texte09bc645d309":"Install a full, working Kortix project in one click — or add skills from every source into a project you already have.","texte0a8d25fe959":"Selected repositories","texte0ae10b8f4e7":"Sign in to add","texte0b929d4a018":"An approval pauses the run, it does not fail it","texte0bde186128a":"Application username","texte0c42f6fcdb3":"Its items now appear in the catalog.","texte0cda358fedf":"Nothing merges itself.","texte0d7209f4c07":"The repository this workspace runs from, and who can reach it.","texte0d8e95e7401":"Claim name copied","texte0de5607f48c":"Credit burn","texte0e2ec6768c5":"    # ignore the agent’s own outbound messages","texte0e30badc30c":"Failed to stop session","texte0e7d293043c":"Latency","texte0eb65e020e7":"  \"$schema\": \"https://opencode.ai/config.json\",","texte0edaf920655":"Created group","texte0eeb4761e83":"On the \"Browse Microsoft Entra Gallery\" page, click \"Create your own application\".","texte0f1afb4c551":"a person with project.gitops.merge","texte0f335bdf966":"Install the Kortix CLI to run this command","texte0f5b5af5e02":"**This week:** 7 deals advanced, 2 slipped. - **Acme** → Proposal ($120k) - **Globex** → Negotiation ($90k) - At risk: **Initech**, **Umbrella** — no activity in 14 days","texte10d01e3b40c":"Booting an isolated machine for this session, then cloning the repo into `/workspace` and working there — nothing touches your laptop.","texte10dac2ace09":"Replaces “Kortix” in the browser tab title.","texte111b0049f57":"Detach from project","texte113af6b6913":"Computer Tunnel assignments saved","texte11b6fe4e5fb":"A model answers; an agent finishes the job. Kortix runs the loop around it — reading the repo, planning, calling tools, checking its own work, returning a branch you can review.","texte130b9ae1bc5":"They inherit this agent's secrets and connectors as their own.","texte13295c3768b":"- Draft answers, cite docs and past wins","texte13e04973080":"Create a managed AgentMail inbox for your agent, or attach one you already have.","texte13fb68bb804":"Connect Slack to a project and a message in a thread starts a session. The agent picks up its own cloud computer, does the work, and answers in the same thread. Nobody has to open a new tool to ask for something.","texte14733303e28":"Every agent runs in its own disposable cloud VM, on its own git branch. Spin up thousands in parallel — nothing is shared between runs.","texte159b06187d3":"Paused","texte16091cd836e":"Install it, invite it, mention it.","texte161fc2a83d8":"Gate the target, not just the tool","texte164235035e6":"Sync membership automatically from your identity provider","texte1673f438808":"are the exposure you choose.","texte16e6a752599":"Propose a change","texte17b809a23df":"draft three launch threads","texte18c2658b71a":"Whether you hold an Enterprise licence","texte191ab529417":"no requests yet","texte19d1129c5e3":"Ask in a Slack thread. The session reads across the tracker, the tickets and the threads, and answers in the same thread with the document attached.","texte1a1274ad624":"Add project access","texte1ad3eb2a000":"Connect provider","texte1b0ca48b6f3":"may merge","texte1b18ef97642":"Compact Session","texte1ba4807a15d":"discord","texte1c4ee2a60c0":"The receivables chase","texte1d31423e77f":"Snapshot rebuilt","texte1d36c3adeeb":"Choose a provider","texte1d84c99737d":"Connect SAML SSO first — provisioning creates accounts, but users still need SSO to sign in.","texte1e0544508e5":"Your account doesn't have admin permissions. Return to the app and contact a workspace admin if this looks wrong.","texte1e7248bbb12":"AI copy reads like AI copy because nothing told it how you write. Here your voice, your claims and your banned words live in the repo, and every session loads them before writing a word.","texte1e906a3a02b":"An agent is an OpenCode agent: markdown at baseline, and past that your own tools, plugins, models and a per-capability permission tree. A grant in kortix.yaml decides what it reaches — its machine, its connectors and channels, its secrets, its skills. A skill encodes how your company does one specific job. Both are files in your repo. Both are reviewed like code.","texte1ecf8a598e7":"Start with the work, not the platform.","texte1f0d6f4fe26":"Account linking","texte1f79758cc42":"removed","texte2003685a26e":"    prompt: \"{{ body.data.text }}\"","texte205475ccda4":"Ask mid-month and a session pulls the transactions behind the line and comes back with the ones that moved it. No waiting for a report cycle to answer a question about a number.","texte2065cb79c86":"Use your own Microsoft Teams app","texte213c161d5ce":"Allow","texte2189e484c2d":"A company is going to be a git repository.","texte21ed4ede571":"turn this week’s changelog into a launch deck","texte21f935f11d7":"Copy","texte21fa38b5758":"Failed to save provider","texte22df9359943":"The footer's action control is the app Button. variant and size both take Button's own unions — everything button.tsx ships works here, and omitting either falls through to Button's defaults. On top: an optional icon on either side and an external arrow.","texte242a36f5f84":"Clear the queue that is not modelling.","texte25e80a85459":"Reset range","texte268202ba9f5":"Create a group to bulk-add members to projects.","texte26a38466159":"The machine clones the project repo into /workspace. Your agents, skills, memory, connectors and triggers arrive with it, because all of them are files in that repo.","texte2762471c9d7":"into the app's","texte27a31ed1d6f":"API & SDK","texte281baa165a7":"Key rules","texte28492370987":"Your own app","texte285582d2b8c":"Spent by an authorized connector. It never enters the sandbox.","texte29abcb7ef37":"Revoke key","texte2a2f537aa0c":"secrets secret env environment variables credentials vault egress store","texte2a530e251d3":"marketing","texte2a5b5794be9":"Signature valid. The session fired, queued behind the concurrency limit, or deduped against a delivery Kortix already saw.","texte2add2aa32a0":"Upgrade to download {value0}","texte2afdd4eef04":"Edit role","texte2b3a36c0979":"Could not add source","texte2c604d8e8f9":"Month-end is not slow because of the accounting. It is slow because of four days of pulling, matching, chasing and formatting before anyone qualified sees a number.","texte2cacf330067":"Reconcile the books, flag the exceptions, hold for sign-off.","texte2cbafcec553":"Everyone on this project loses access to this account. Sessions bound to it will stop working.","texte2cbd4618228":"Remove rule {value0}","texte2cc5cc46d8e":"Square symbol — where the wide logo does not fit, and the touch icon. Stands in for the logo when none is set.","texte2d0a54968ea":"Delete","texte2d15fe36f4d":"Almost ready...","texte2d30ca7f79e":"Static software is dead: the shift from code to feedback loops","texte2ee2909fe27":"Ctrl","texte2ef6206988d":"Rendering diagram…","texte2fab5a5b41d":"A chat surface is not a side door.","texte2fe1fe9cff1":"The 4px-based scale behind every padding, margin, and gap.","texte3190ee3d8a8":"Unable to display workbook","texte31ab643c44f":"member","texte31c7af1f424":"Everyone connects their own account.","texte327e6c1348b":"Clone from this address with any Git client. When git asks, enter any username and a Kortix API key as the password — the Kortix command line does this for you through its credential helper, plain","texte3311b311078":"Wants CSV as well as xlsx","texte335ed040bfe":"A draft on a branch, reviewed as a diff.","texte339fc8e7d89":"A chat answer cannot be checked or repeated. So the session commits its work: the query, the script, the chart, and a note on what it verified.","texte36024fe4756":"— signed in via SSO and auto-provisioned. The round-trip works.","texte368fa0c5722":"One sandbox per session · Connector keys never enter it · Nothing merges itself","texte374181eb150":"It reads what merged since the last release, not what the tickets promised, and writes the note in your register. The two lists differ more often than anyone admits.","texte378907770e5":"userPrincipalName","texte391550d9883":"No agent can receive this secret","texte392a3891c07":"Suspended","texte39637abfc85":"Enable the group attribute","texte39b62c520ff":"There is no build-your-own-channel API — the platform list is a closed enum and we will not dress a gap up as a plug-in system. What ships is a signed webhook trigger that starts a session per conversation. It solves the inbound half well, and we will tell you exactly what it does not do.","texte39d334ebb3c":"Tiles per row","texte39f8d23c0a9":"Instructions and scripts this agent can load.","texte3a3f5a7cca1":"Your email and campaign tools","texte3a7167b0134":"Session cost details","texte3abcd09412c":"Start provisioning","texte3ba17e32240":"30d","texte3bbf2902a7f":"Not a community edition.","texte3c4877576de":"Create a group","texte3c4b39d6d50":"Shared","texte3c63340ccb1":"Build with Kortix from the terminal: drive projects, sessions, and agents through the CLI and SDK, wire triggers and connectors, and land every change through a reviewed change request.","texte3c999046232":"#company-ops","texte3d24b442025":"A session is a machine","texte3da85f3f963":"Agreed with you, 90 days by default","texte3e4aec37372":"validated","texte3ea10fa32f9":"Cheapest, but harder to query across regions.","texte3ebaa16dd9d":"Not found","texte3f97a8573b6":"Rebuild started for “{name}”","texte402dcff5083":"Querying metrics.q3","texte402e05f0e4c":"Grant Permission","texte405e596108c":"50 MB","texte4143613f121":"Failed to update role","texte4273a188eb5":"OpenAI-compatible endpoint.","texte42db5eb1789":"Remove header","texte42e30cead8d":"Ready-to-clone Kortix projects will show up here.","texte4334820483a":"Enterprise application → Overview","texte43446f5e790":"Postgres, on a directory you control","texte436179861c8":"A Kortix agent is a markdown persona with a deny-by-default reach into connectors, secrets and skills. A skill is the markdown that encodes how your company does one job. Both are files in your repo, versioned and reviewed.","texte44fe3acd3ca":"    agent: memory-reflector","texte450e0da6cf9":"Rotation required","texte45481e75a5e":"). A per-tool decision above always wins over a pattern.","texte45a9a911fcd":"Nothing picked yet","texte46c387f3dee":"The frontend, the API and the gateway are the published Kortix images. A self-hosted instance never builds its own — it consumes exactly what the release pipeline already produced.","texte4724df1b369":"Excellent product taste, and UX and UI taste specifically.","texte478b984a2d9":"Read the tracker as it really is — issues, states, links, comments — and write back the groomed result where you allow it to. The tracker stays the system of record; the agent is not a second one.","texte47b85588c7c":"Any IdP using \"{value0}\" will lose access immediately. This cannot be undone — you'll need to mint a new token to reconnect.","texte47c8bae740d":"Copy key","texte48034ba91dd":"Workspace services unavailable","texte4855e715f70":"    sandbox: python","texte493d2f8af71":"Advanced options → Customize the name of the group claim","texte4a075134e2b":"No special requirements — this item just works.","texte4a1f1d45a42":"The company is right there, in plain text.","texte4a461e463b6":"Kortix brokers","texte4bb9f1ece9a":"Start","texte4bfdfee626c":"Name and icon for this workspace.","texte4bfff9b557b":"account ID","texte4c358d1bbfb":"bash — lone call, opens","texte4ce46bf8c90":"by default: map those, or emit names via “Groups assigned to the application” (needs Entra ID P1/P2).","texte4cfda0cefb3":"Deleted {value0} {value1}","texte4d1a488fe92":".kortix/opencode/skills/agent-browser/SKILL.md","texte4d36f9a4e22":"Audit log","texte4dffbc6d224":"This project declares no agents yet, so every agent receives every project secret. Granting {identifier} to {agent} writes the first agents: block. From then on an agent that is not listed receives no project secrets — including the sandbox secrets that work today. Add the other agents to kortix.yaml to keep their access.","texte4f5f1e08c59":"Added member to account","texte4fa25e6edd6":"Compute time","texte4fbfdfe7290":"Both values are encrypted and stored with this workspace's secrets. Only your agent can read them.","texte511470b21a9":"Project ID","texte51cbac62750":"Every change is reviewed","texte51ebf3dc9f6":"Create a workspace…","texte520886435ac":"  config_dir: .kortix/opencode","texte52d49750732":"what moved in the pipeline this week?","texte5315d0a42df":"Block is not an approval you can grant in the moment","texte53bb01e5503":"GitHub App","texte53bfff585aa":"Push groups: still in the rule’s \"Directory\" tab, click the pencil next to \"Groups\" → \"Search Group Name\" → pick the internal groups → review under \"Selected Groups\" → Save. PingOne pushes those groups and their memberships to /Groups.","texte53dd7d993e1":"is the full lockup. Both sit dead centre and are drawn from the source SVG at each size, so the edges stay exact on a retina display.","texte5431f3fcc1a":"PingOne → Connections → Applications","texte5455bdd5b85":"Grant to","texte550c4aaeecf":"Create SCIM token","texte551641242ce":"Stack","texte56313bba26a":"- Renewal dates and health","texte5776302ca62":"Saved — permissions are always allowed in this project now","texte5789ce1b021":"Version history isn't available here.","texte57912d50189":"Revoke SCIM token","texte58282fd73fb":"Update failed","texte58eef890002":"agents · skills","texte58f169d4a4b":"Sell to companies.","texte595f17fac1d":"Sending","texte595f45dc6c9":"Europe","texte5974d3936df":"Copy the Bot User OAuth Token and Signing Secret from the installed Slack app.","texte5985e84210e":"Any resource","texte59a1d133be1":"Changes apply to the next sign-in. Tokens already issued keep working until they expire.","texte59eaa3acaf1":"the wall","texte5a4af9b350f":"I’ve created, enabled, and tested the SCIM connection","texte5a718af362a":"The first two","texte5ab168f1943":"The pre-call brief","texte5b104783abd":"Your agent can use the tools it needs, just as it would on a regular computer.","texte5bd74e98514":"other — source only","texte5c02424e511":"Command copied","texte5c253036018":"The name of a saved secret holding the key both sides sign with. Add the secret under Secrets first — the key itself is never stored here.","texte5c56bc61eb0":"You prompt a session and the agent returns the deliverable.","texte5c8b30df3c9":"An app that signs Kortix users in on its own origin. You get a client id and, for a confidential app, a secret shown once.","texte5c9d7030bad":"Tests","texte5dbdffb8816":"Save rules","texte5ee1e7e84aa":"Session expired","texte5fb560ba65a":"On the SSO tab, copy the \"Issuer URL\" (it is a live, hosted metadata endpoint) and paste it below — keep the \"Dynamic configuration\" option selected. Prefer this over pasting XML: the hosted URL auto-refreshes if OneLogin rotates the signing certificate.","texte5fd643538b9":"Account · Audit log","texte60053964d37":"Kortix is the open-source AI operating system where your company's knowledge compounds. Connect your tools, deploy an agent, and start accumulating your own token capital. Free to start, free to self-host.","texte600bb5b5953":"Repository and organisation membership is access too, and it is the access that most often outlives the reason for it. It reads the org state and reports what does not match your documented roles.","texte61180e0dd8a":"Link expired","texte6158ee80566":"claim) to specific IAM groups.","texte61c3c44ff74":"border=\"outlined\" draws one shared frame around the block and clips the highlight and dividers to its corners.","texte620ec0b0d1f":"JumpCloud provisions the members of the user groups BOUND to this app — binding a group both scopes who is pushed and syncs the group itself.","texte6227a82bd3f":"Everything is a file in this repo. Every team shares it.","texte6229e214e88":"Keys are resolved on our side of the wall. The machine the model drives never holds them.","texte6284f383569":"You're signed in. Return to your terminal — you can close this tab.","texte62bef86ebd4":"Discovery URL","texte62f2148a64d":"Triggers","texte630a4b77462":"Pause Trigger","texte640da5d14fd":"Unset — each tool follows the runtime default.","texte647ccbd2777":"It arrives where you already are","texte648ea58ae80":"Sent to the agent — it'll revise and update this change.","texte64e02c862bd":"Medium · 500","texte64eb6b9ded3":"Assign users and groups","texte654b63c8098":"Create managed Email inbox","texte65ac57c0c16":"Skills, tools & policies as code","texte65afdeb4024":"Couldn't reach the preview server. The sandbox may still be starting up.","texte65c84be34f9":"Enterprise unlocks SAML SSO, SCIM directory sync, RBAC and audit access for this account. The billed plan and seat billing are unchanged.","texte65f8a02d565":"Could not load the changes","texte674447337e8":"Available","texte67a6ef2363e":"Use my own OAuth app","texte67b8abd74eb":"Single sign-on with just-in-time member provisioning","texte67be036c73b":"Failed to revoke trial","texte68076f94600":"Put the voice in the repo. Let the production line run.","texte68b36b17cbd":"Parameters","texte68e737da34d":"Session stopped","texte6950b45d25c":"Linear","texte69556252880":"Connect the tools, keep the keys out of the agent.","texte69e4fc895cc":"Granted, not global","texte69f4ad4e852":"Before the call, during the week, and at 07:00 on a Monday.","texte6ad39968537":"App name","texte6ad8effaaed":"plan card · 2 of 5, in-progress row visible","texte6ae56a1f248":"Open source · SSO, RBAC & on-prem · Any model, your keys · No lock-in","texte6b142b8b04d":"Turns a prompt and your latest data into board decks and polished presentations.","texte6b19d06833d":"The credential never travels","texte6b55c9a01c3":"claim source to","texte6bb5689beec":"dark","texte6be2129cc0e":"Show context","texte6bfacea252e":"This project has no sessions yet.","texte6c1f062119d":"Every sign-in from this domain is routed to this identity provider instead of password login — only add a domain your IdP actually controls. Users on other domains are unaffected.","texte6d103e79843":"X-Kortix-Signature: sha256=<hmac>","texte6d87ada2250":"44.7%","texte6e0b4594c95":"Connect a project-managed account for allowed sessions.","texte6e179a48d3d":"Start with one job and grow from there.","texte6f312c6b6ef":"Clear notifications","texte7119681d233":"Secret links stop working after a set time so an old link cannot be misused. Ask the agent that sent it for a fresh link — it can mint one in seconds — or reply in the thread where you received this one.","texte7249953afb9":"Open the app’s \"Addons\" tab — it sits in the tab strip at the top of the application page (Quickstart · Settings · Credentials · APIs · Organizations · Addons · Connections), NOT inside the Settings page — and toggle ON \"SAML2 Web App\". This opens the addon’s Settings modal.","texte7268350dbfc":"privateBody","texte72c487b0696":"What happens when one of a hundred agents goes wrong?","texte7307911656c":"Code did not verify","texte73447f19620":"1px solid rgba(255,255,255,0.12)","texte73679634b64":"this role","texte7369074de00":"Deny request","texte755529076b6":"I can go either way — your call decides the schema work","texte759793341ff":"CLI","texte75adb62c8c7":"Group claim name","texte75bb2d0d554":"Instructions view","texte75c06dacd1c":"Reply to kortix…","texte75d99a42dba":"Any model","texte75eb1c6178c":"Revoked a role assignment","texte769a2bfbd35":"This session has no finalized LLM or compute entries.","texte76b8dc1a636":"Okta sends group NAMES (the Okta GroupName), exactly as they appear in the Okta admin console — map those names.","texte76fd2add010":"Keep editing","texte7729b26fba3":"The places people already talk","texte78041ab51a8":"Week","texte7918302c606":"Custom days","texte7a5e2570fb6":"Provider, status, session, account, external ID","texte7a8f54503d5":"Hundreds of thousands of computers. One main.","texte7aebc082836":"Set up Single Sign-On with SAML → SAML Certificates","texte7b035793c5e":"$ git clone git@github.com:northwind/northwind.git","texte7b5b15c4227":"Account owners and admins always have Manager on every project","texte7b9a6c97fc7":"Listed IAM policies","texte7bb06822dfd":"Account-wide:","texte7cb57a73721":"JumpCloud User Attributes mapping","texte7ce99764a2d":"Outputs","texte7cf3ef4f17c":"Password","texte7d31219b7f4":"What changed in our repos since Monday?","texte7d93eed5869":"not a git repository","texte7e7dd001381":"…and no third-party secret at all","texte7ee22e117a1":"Signing secret","texte7f187cbe20d":"Finish setup inside the new folder","texte7f95b0311f4":"Provisioning → Overview","texte80375a6f7fa":"Agent Computer hours per day","texte80b27e5e39d":"Cap gateway spend for","texte80f2760aa78":"Continue without minting","texte82c81f0607b":"A group bundles people so you grant access once instead of per person. Attach a group to a project with a role, and every member of that group gets that role on that project.","texte8334e58ccb2":"$ kortix channels status","texte835694dddb1":"Agent Computer runtime","texte84ccb2c62c8":"Kortix OpenAPI document","texte850d6b32b3e":"A synthesis you cannot check is one you should not trust. So every group carries the tickets underneath it, and every claim carries the words someone actually wrote.","texte85663498c96":"Invite members","texte8602165f856":"Applications page with the Create App Integration button","texte86c155fb15a":"Your app → User access","texte870362067ac":"{value0} questions ·","texte87266df82c3":"A folder with a SKILL.md","texte8818f8cbb40":"Changed the password","texte88c87da3c8c":"Nuxt","texte8957df16c6b":"The sandbox is a real Linux machine, so the agent installs, builds and runs the suite itself. A change request that arrives red says so in the description rather than claiming green.","texte89b30aa1dc3":"Resources","texte89cabb62100":"Preview unavailable. Open the App to retry.","texte8a1fa10c8d2":"Solve with agent","texte8b8e79d187c":"Open the same enterprise application you created for SAML SSO (Entra ID → Enterprise applications → your app).","texte8c80b20c2f7":"Execution ID","texte8cb80e5c5cb":"Project default","texte8cd6188411a":"The agent asks","texte8ce5dcaf408":"Modified","texte8d51f7276c8":"Waiting to retry","texte8dd87902b91":"No matches for your search.","texte8ea82789107":"Failed to grant trial","texte8eb61063713":"Distinct users who started a session","texte8f43f910a4e":"Make project default","texte902bf35a60b":"Listed audit webhooks","texte90f6cee880b":"one account shared by the whole project","texte913f584c3bc":"Failed to set enterprise entitlements","texte92bab351806":"Turn an RFP into a first-draft response in our voice.","texte92ed53f62b3":"A live cloud sandbox, one per session, reachable over the local API.","texte92fed3bd6c2":"I’ve assigned users and groups","texte935b72cac56":"Two files. No hidden object behind them.","texte9496715d20d":"kortix init --force","texte94d3ee06ecf":"Export failed","texte956a9404b46":"Frequently asked questions","texte957fd04449d":"Snippet copied","texte95944e1c3c8":"GitHub connections","texte95b29e0f9c7":"Credits and billing are not available on this instance.","texte960651babb1":"Delete connection","texte966f54a9a75":"Single logo","texte97caf2c8a6f":"tasks ·","texte97e79e16e22":"Enter an app name, such as \"Kortix\" — optionally upload an app icon. Click \"Continue\".","texte981ddae45d8":"Warning","texte98258ade585":"Zipping {value0}… {value1}%","texte98385522946":"Click \"Show legacy configuration\" to expand it, then click \"Edit\" next to \"Profile attribute statements\".","texte992f0a31f42":"    authorization_strategy: user","texte999d5f7e96b":"Viewed open session question","texte99baf469ca8":"to this project. You connect an account right after.","texte99d219d04d1":"Recalled 2 memories","texte9a14c42e311":"Copied to clipboard","texte9aa82e34f3c":"may this agent? ✓","texte9b7cf835375":"In your words","texte9bef0b0f3c2":"Keyboard shortcuts","texte9c29ff50cc7":"Modes","texte9ca8360a34d":"Sandbox provider switch failed","texte9cff3023aa2":"Easy connect covers 3,000+ apps through their own OAuth screens. If your feedback lives somewhere that is not in the catalogue — a community forum, an in-house portal — it is reachable through OpenAPI, GraphQL, raw HTTP or a remote MCP server instead.","texte9d6212ef873":"Setting up...","texte9e3243084ee":"An agent you name","texte9ec6c0ad396":"Managed by Kortix","textea067db7a54e":"Onboarding called out as good","textea13cd34d9e0":"billed as Kortix credits","textea18bba8cbdb":"Directory Sync","textea1cf924a71b":"Directory sync setup","textea2100dc89ae":"Logs","textea25cb521ec9":"The grant that applies at session start is what the agent declares, intersected with the role of whoever launched it. Grant an agent everything and it still gets exactly your own permissions — no more, on any path.","textea465dab8c2a":"Tunnel ID copied","textea4e9e8cf07c":"The handoff","textea51081eb280":"Started terminal","textea5453721f2c":"Updated permission boundary","textea59a002b930":"The gateway is yours","textea5a94f9f145":"runsPoint1Body","textea5f6bdc79b8":"Skeleton","textea61bc15688d":"Copied!","textea66cdc4376c":"Under \"Export Attribute Mapping\", confirm the user’s email flows into SCIM \"userName\" — JumpCloud sets this by default, so there’s usually nothing to change. Kortix correlates on that email.","textea70384c465d":"Model provider","textea73705db65f":"(applies to future sessions)","textea7f71782388":"The core loop","textea849eb70c26":"Add to group","textea873f3351bc":"OneLogin SSO tab with the Issuer URL and the More Actions SAML Metadata download","textea923f45a415":"No requests yet.","textea93d6a262ec":"Tools","textea942b85faac":"Generation defaults","textea94f48d89d0":"The company gets smarter — and it’s all tracked","textea984f35d1fe":"ENABLE the connection itself: click the toggle at the top of the connection’s details panel so it turns blue. A saved-but-disabled connection provisions NOTHING even with an Active rule — this is the easiest step to miss.","texteab762a03fd9":"finance","texteabb0261292e":"Failed to detach group","texteabbf3abaf8d":"Outline","texteabe2462bc71":"Configuration → SAML attributes","texteaca91e7a784":"Invited to this project","texteacdf25c58f8":"Built-in roles — on every plan","textead07c84baac":"Changelog","texteae96e02bbc4":"Icons","texteaef0b00e1d6":"Download to view","texteaf72e534b81":"A tool-name rule can only ask “may the agent send email?” — which is rarely the question. A condition points at a value inside the call and matches it with a glob or a regular expression, so a rule can allow sending to your own domain and stop at everything else. A list argument passes only when every entry passes, so one off-list recipient is enough to hold the call. Anything the rule cannot decide resolves toward less access, never more.","texteaf9eda43588":"Added SSO group mapping","texteb001458b495":"Pull the log as CSV or JSONL, or have every event posted to your own SIEM over a webhook signed with HMAC-SHA256. Read, export and streaming are Enterprise entitlements.","texteb02e1086a17":"Connector gateway","texteb0fea7e437e":"Step {value0} of {value1}","texteb147164ac2a":"Manage public links","texteb17bf5059eb":"Connector credentials are encrypted with a per-project key and stored apart from the values a sandbox is allowed to read.","texteb18916a62d5":"Top-up needed","texteb1a70e39274":"Discard","texteb236aeb8e4b":"Try another","texteb266e1c6389":"Agents and skills are markdown; memory is files that accumulate","texteb327155ad2c":"Read and list local files and directories","texteb35a8dd49a7":"Checked top to bottom — the first match wins. Rules here override what a connector asks for.","texteb49d0888379":"Previewed MFA enforcement","texteb573b3b299a":"Everyone in this project shares one connection.","texteb5c07bfd7b7":"      there is no durable knowledge.","texteb5de9e6bbb3":"{value0}% used","texteb70c3bc14fa":"OpenRouter","texteb737b99ee2a":"Password updated successfully","texteb7a842ff958":"Resource","texteb7aa5b77168":"Every surface","texteb814be3ca3b":"Main","texteb85b20ae0b0":"Every trigger in a project is one row: what it is called, when it fires, in whose timezone, as which agent, and which session that fire lands in. Nothing about it is hidden state you have to click into.","texteb87e1709b57":"No model usage.","texteb970eb0951c":"Last","texteb99bb9a22f3":"Automatic setup unavailable","texteb9e6d4103b1":"Any principal","texteba19c8747ae":"<span className=\"text-xs\">Label</span> <span className=\"text-xs\">Meta</span> <span className=\"text-sm\">Body</span>","texteba7b22dda11":"No file changes","textebab65dedf4d":"Your access request has been submitted. We'll be in touch!","textebaf8698b938":"- Open one thread, post every update there","textebafb00209f1":"Assign to Groups","textebb63fcaf908":"Introducing Kortix: the AI command center for your company","textebc05a2f34f6":"    - slug: python","textebeaf332d3c9":"−83,800","textebfeebd13e38":"SaaS app → Configuration","textec0ea7563cde":"No density option matching \"{value0}\"","textec21b3b973a3":"capacity","textec2392b36354":"The company narrative: where Kortix came from, what it is, and why a company runs on a repo and a workforce of agents.","textec3c9c77806c":"Sort ascending","textec3e7d0c8967":"System-wide notifications and the full-lockdown switch. A level takes effect the moment it is activated.","textec497eddd428":"Which machine, which connectors, which secrets, which skills, which CLI verbs. Governance only. Omit a grant and it resolves to none — an agent gets what you gave it and nothing else.","textec4b346efc00":"The same figures, assembled into the format the board reads, with the commentary drafted from the variance work rather than written from scratch at midnight.","textec5855a78ab3":"kortix-ai/suna","textec5ba0abb717":"Access","textec5c2f7304b1":"Context Pruned","textec69732f4600":"The manifest rejects a behavioral field in the governance block, with an error pointing at the agent’s own .md file.","textec70b4a614bf":"Switch project","textec73f9f19e7c":"Write it once. Every session knows it.","textec7a4e3094f9":"Authorization owner changed, but synchronization failed: {value0}. Use Sync to retry.","textec81d7aae411":"The machine clones the repo and cuts a branch named after the session. Every edit and commit that session makes lives on that branch and nowhere else.","textec82b000fd57":"Project secrets handed to this agent as environment variables.","textec8676c7cf83":"Removes every uploaded mark and the product name.","textec89d54062ea":"Route your domain's sign-ins through your identity provider — Configure walks Entra, Okta, Google and more step by step, including everything your IdP asks for.","textec9036582701":"Access updated","textec90ac92e442":"Kortix for data science teams","textec91fdd9256c":"optional","textec963ffc911b":"Checking…","textec9ace8d8ff6":"Kortix will create and manage the AgentMail inbox for this connection.","textec9f8a9109ec":"Allow for session","texteca0eeacbef7":"In the \"Settings\" JSON object below the callback field, set TWO things: (1) \"audience\" = Kortix’s Entity ID, and (2) force the NameID to the user’s email — it defaults to the opaque Auth0 user_id (auth0|…), which Kortix can’t correlate. Add: \"audience\": \"…/saml/metadata\", \"nameIdentifierFormat\": \"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\", \"nameIdentifierProbes\": [\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\"]. Then scroll down and click \"Enable\".","texteca47e3afa10":"Encrypted credentials this project keeps out of its repository. Access decides whether agent code can read each value — Environment variable is the only exposure that sets the real value as an environment variable in the sandbox; every other one keeps it outside.","textecaddb9a540f":"A research agent that briefs your team.","textecb89227d17e":"This project starts every session with this model — pick a different default before turning it off.","textecbc89cd37a0":"Started","textecbd276ebec2":"Try a search.","textecc7ed048b32":"month end close","texteccba86b787c":"A laptop, a VPS, or your own network.","textecccd43d1878":".kortix/connectors/schema.graphql","texteccce15347a4":"You do not have access to preview this App.","textecd3c555ab44":"Failed to save permissions","textecdcf83028e7":"Review parameters","textecdf558f080d":"Nothing to switch","textece53d1bdd76":"Plan credits","textece695b31ede":"Used only to recognise this token later.","textecf3865965a4":"Web, macOS, Windows, Linux","textecff14af6cf4":"On the \"Attribute mapping\" step, click \"Add mapping\" for each row: pick the Google Directory field on the LEFT, and type the App attribute name (primaryEmail / firstName / lastName) on the RIGHT. In the end it should look like this:","textecffbad40a81":"Revoked super-admin","texted077f3d8125":"Open","texted07c04922e0":"Customer Support","texted0ac6320b04":"Stop sending audit events to \"{value0}\"? Existing receivers must be reconfigured if you re-create it.","texted10ce7efc1a":"The synthesis format carries the tickets behind every group and the quote behind every assertion. That is a convention you enforce in a skill file in your repo — versioned, diffable, and improved through a change someone reviews.","texted13dee8f1f7":"The repo is the company. Fork it, branch it, roll it back, or hand it to a new machine — the whole configuration comes with it.","texted1596a9787f":"Use an access token","texted1d87390f65":"Emit a group attribute (e.g. named groups) listing the user’s groups.","texted21e91b4d87":"Downloaded compiled pi worker runtime","texted26c1af81cf":"Write tools","texted2d94ab1136":"Sign in to the Microsoft Entra admin center (entra.microsoft.com) as an admin of your tenant.","texted2e59c337d0":"Narrative","texted31daf7d840":"Log out of your account?","texted3666829e21":"Managed by the platform — the source ships inside the session sandbox (","texted37b9db4eb4":"Set an action to Ask and the run pauses at the call and waits, showing you the action and its arguments. Approve and the same call completes and the session carries on from exactly where it stopped.","texted3ae8cdf028":"Failed to delete App","texted41f8758db3":"Removed member from account","texted52186abc68":"how this company does a job","texted5c58303a98":"Scheduling","texted5eb9a37e2d":"now","texted67c50e622b":"You paste the notes or drop the transcript in a thread; it writes them back into the right record, updates the stage, sets the next step, and flags what it could not confidently place rather than guessing at a picklist value.","texted6b62273213":"Main is always the source of truth: every agent action is auditable Git history","texted8aa125a36b":"at an unknown time","texted9f27637609":"# your data, your models, your keys","texteda00b33d3af":"No credits were spent in this window.","texteda7df9ad5e6":"Your top-up landed — compute and the latest AI models are ready to go.","textedb912f176d8":"Client secret with Basic","textedba1e383471":"Unnamed project","textedca37f6aca7":"Change request, default-deny merge","textede548996483":"Terms","textedf8d3f1781f":"Behavior","textedfb4ed7afaf":"Project budget","textedfd52be9cbc":"and its","textee168539f43a":"No {value0} connections yet","textee1ca259e05b":"Compact session","textee2682510c82":"Every capability, one by one","textee27322554e4":"GraphQL","textee325afd9b4e":"Checkpoint","textee34153806cb":"Try again, or contact support if this keeps happening.","textee4ae993730d":"Saved for everyone on this project. Restart a running session sandbox to pick it up.","textee4d988c65de":"may","textee52686fe92b":"Enterprise applications → your app → Provisioning","textee584829f9e9":"Session Error","textee676c94b629":"Provisioning health","textee678d46f548":"reconcile the july invoices","textee67b8f57ae4":"The value of generating the kit from the scorecard is not speed. It is that the fifteenth candidate gets the same interview as the first, which is a fairness property before it is an efficiency one.","textee69eb4afc76":"Ledger","textee6d71904b1b":"Remove condition {value0}","textee76a639c425":"Ask in a Slack thread or from the web app. The session starts, does the reading, and answers in the thread with the brief attached as a file.","textee7ee5830f09":"Add account","textee83c34db2f3":"9 error groups · top one fixed · 118 tests pass","textee907488be07":"Model calls (24h)","textee91858a8b22":"- connectors: slack, hubspot, gmail, linkedin","textee94df8de364":"The tool reads it from the environment. It is not written into the prompt.","textee9a7af5aa52":"A workforce that compounds what it learns","textee9c0bf3dfee":"SLACK_…","textee9f51217082":"On success the user lands in Kortix and appears under Members on the account’s Identity page.","texteea2745e2867":"Verify","texteea2c46275db":"Revoke because they moved team. Keep because it is in the release path. A review you can approve in ten minutes is one where the reasoning is on the line, not in a separate document.","texteea46666b98e":"Which Slack or Teams channel reaches which agent is live project state, set in the dashboard. Connecting one adds a connector the agents can call.","texteea4fb33efd3":"Please try again.","texteeb088fdeabf":"Nothing shared yet","texteebdd24a77d9":"Confirm","texteec0fcc629c8":"Listed OAuth apps","texteed85df67313":"Make Kortix the instant answer to \"what is the open-source Claude Cowork or ChatGPT Work?\"","texteed8a3ac1ec6":"alreadyHasAccess","texteed8f901692d":"Fr","textef09f3cb9afd":"<div className=\"transition-colors duration-200 hover:bg-accent\">","textef1194d8dc97":"Recorded gateway usage","textef2ec2a16945":"Open Git settings","textef33ff6fa4c6":"Self-host, bring your own models, no vendor lock-in.","textef3c99fe021e":"SAML via a JumpCloud SSO application","textef44f52c8b32":"Secret token not minted yet — go back to \"Mint a SCIM token\" to create it.","textef4588ffbd13":"A CardImage in an inline card bleeds to the left edge and runs the full height; the text and actions ride in a centred column beside it, so the footer drops under the copy instead of trailing right.","textef49f1424340":"+ New application","textef54a62ae880":"Turn ID","textef62ef5cacd2":"Redacted input summary","textef6691545d2c":"Standard","textef71b15f38c6":"Trigger Details","textef7f45ff7f0a":"The visual editor will stay available for supported schedules.","textef82bb889266":"Specific people","textef9ec220d8c2":"Every few minutes","textefa5855ff509":"Unsaved changes.","textefa5b0c03255":"No blanket \"allow always\"","textefb48f76e65a":"Link expires in {value0}.","textefb5b201f3c6":"Deleted account","textefb5e15a7fdd":"audience (put in the Settings JSON)","textefba6ec875c0":"Which groups associated with the user should be returned in the claim?","textefc24d019a32":"People, groups and agents get roles on an account, a project, or a single resource. A role is a set of permissions.","textefc784539cbc":"Cloudflare Access is connected to my IdP","textefcc5a598260":"Who can access sessions created by this trigger","textefccc3d8a497":"Each session gets its own cloud computer and its own branch. The agent reproduces the bug, writes the fix, runs the tests, and opens a change request. You review a diff.","textefd041115e9e":"Name it, paste the value, choose delivery.","textefde4d0d22b4":"permission:","textefe10c80ec8a":"Primary","textefe5419c900b":"Back to providers","textefe594df4c9c":"Scope is group-based: membership of the bound groups defines who is provisioned. Unbinding a group deprovisions its members.","textefeba8456698":"Unnamed account","textefecf90b50a5":"Send the Q3 launch announcement","textefed7f3bda99":"SAML via a OneLogin custom connector app","texteff2ec3d9dcd":"Throw some confetti","texteff6f0f3309c":"    filter:","texteff8b1c7f407":"Warn only","texteffb527676c3":"Categorizes and routes every inbound ticket.","texteffc26c96de0":"Two-factor authentication is no longer required","textefff9994c52b":"Screenshot coming","textf0007d3cdc93":"Point Kortix at any git repo with a","textf00606184e4d":"Email inbox","textf008369aaa00":"Research on a schedule, publishing never","textf00ff63fb851":"Step 2 of 2 - paste tokens from Slack.","textf0103f528539":"This step failed","textf01a042bbfb3":"30 minutes","textf01a2f914492":"Please do not open a public issue for a vulnerability. Mail the security contact with the affected version or commit, the reproduction, and the impact.","textf01b71d254cc":"Ask for help, ask questions, redo things. Never quietly assume someone else will catch the part you skipped.","textf01e66b8c61a":"Groups: the default SAML2 Web App addon sends only email + name. To sync groups, add an Auth0 Action/Rule that emits a claim NAMED exactly \"groups\" (matching the connect-step claim). Auth0’s built-in group attribute URI \"http://schemas.xmlsoap.org/claims/Group\" will NOT match — map it to \"groups\". Then map those names in Kortix.","textf0335c9d1910":"Required, not set","textf0341f8dbcc5":"Credential saved","textf045ef1cb870":"The risk here is not a bad merge. It is a confident summary of something nobody said. So these controls are about evidence as much as permissions.","textf0484b375485":"Creating server...","textf049d5d66ce7":"Read the code","textf04f9fcae903":"Project connection created","textf0514e8df841":"24 hours","textf058fcbc7071":"Summarize this week's pipeline updates…","textf059c2dbe260":"Every skill in this project, including ones added later.","textf059fcbba4af":"A finance agent that closes the month.","textf05cb00433b9":"Project access removed from invitation.","textf06013f333c5":"Agents, skills, connectors, triggers and memory are files in one git repo that is the company.","textf060ffc7f383":"Cloudflare requires at least one Access policy or NOBODY can reach the app. Add a policy that allows the users/groups who may sign in (e.g. Action: Allow, Include: Emails ending in your domain, or a specific group).","textf06214d4673d":"Finalized LLM requests grouped by provider and model.","textf063543f3336":"The repo","textf084ea5cc3bf":"Your app → Configuration → SAML","textf08a83aac6c4":"An OpenCode agent — markdown at the baseline, the full lifecycle open","textf09247433bef":"Image preview","textf096ba0a2aa6":"auto-updates","textf0a216500b54":"AgentMail will create this prefix when available, for example","textf0aea4d97b8e":"Email not connected","textf0d66a79c138":"Keys","textf0d695f605ae":"Install anything. Run anything. Break anything.","textf0e27f45cf6a":"If the Kortix model gateway should spend it for model requests instead, connect","textf0f41388d721":"Choose conversation density...","textf0f755afea88":"Copy response","textf102986b39ef":"Scale","textf109802a741f":"Google Sheets","textf10988e79e8d":"All types","textf11c4a01aa71":"kortix.yaml was not changed.","textf126c0b0d185":"No parameters were recorded for this call.","textf12856b43fbe":"Your voice, your claims and your banned words live in the repo as a skill file every session reads. Marketing work lands as a draft in a change request, so the review is a diff.","textf130203efa7f":"Redacted output","textf13894fa80fd":"Only the App creator can open it","textf13b7300209d":"The method lives in the repo","textf13e18e1c246":"SAML via an Okta app integration","textf15873ea40d3":"    name: Memory reflector","textf15d0e7f86b0":"Control plane","textf15fd3df9642":"theme:","textf1608bbc8b05":"Security & trust","textf1750835530d":"Create one to connect your IdP.","textf1760e93d857":"1 MB","textf1762d8d0054":"Attribute mapping step Group membership section with the groups app attribute","textf17660b6d284":"The automation itself has a history","textf17671d83db0":"Load older messages","textf17e37545b39":"One Docker Compose stack on your box, from the same images the managed cloud runs. Your database and your files sit on disk you control.","textf1867e162be8":"Checked gateway health","textf1a43c68a361":"Not as a metaphor. A Kortix project is a git repo, and that repo is the company: its agents, the skills it has built up, everything it has learned, and the definition of the machines all of it runs on. Versioned. Diffable. Owned outright.","textf1adb34f55b3":"Projects, sessions on their own cloud computers, agents, skills, connectors, channels, triggers, secrets, change requests and the audit record. Nothing on that list is cloud-only.","textf1b1c08625c2":"Where we actually stand","textf1b28a589920":"Starts when another app sends a request to a private address.","textf1c24ec92034":"Out of credits","textf1c65e14817e":"Forward","textf1e8d760c12c":"skills/","textf1ef9e0be888":"Median time to a ready sandbox, per provider per day.","textf1fc77ca3b24":"No deployments yet.","textf1fd853c3274":"Enable provisioning","textf20c87946555":"Pinned","textf2146f80022a":"Create a GitHub App","textf21a7cc2d177":"Every run is routed through a single gateway, so the model stays a setting instead of an architecture. Switch per agent, per task, or to whatever ships next week.","textf22956f6143f":"Comfortable working a long way ahead of what ships.","textf23c70160b5b":"This project declares no agent. Add one to kortix.yaml first.","textf23e2655e76b":"Per-resource permissions","textf25168f39ae8":"Data Science","textf253241a4f3c":"A bad instruction went in on Tuesday? Read the diff, revert the commit, open a change request. The company goes back to how it was.","textf25f2920368a":"The agent answers in the thread. Work it means to keep is committed on the session’s own branch and reaches main only through a change request a person reviews.","textf261dce6582f":"Viewed OAuth user information","textf26a5845c994":"Could not inspect authentication:","textf26d53b6b546":"body.data.direction","textf27a58a42762":"Couldn't load file","textf27bcbb5e1e2":"Dismissible","textf27c4fdb823a":"Cloudflare Access passes email by default. Add the other attributes Kortix reads — id, firstName, lastName — as \"SAML attribute statements\": each is a Name plus the upstream IdP claim it maps to (a dropdown of your login method’s claims).","textf27e24caeef3":"Downloaded compiled session runtime","textf29674479db4":"Connecting to OpenAI…","textf297f631ba78":"It assembles what every interviewer wrote, arranged against the scorecard rather than by who typed most, and highlights where two interviewers disagreed. Surfacing disagreement is the point. Resolving it is the panel’s job.","textf29ad8b8092c":"The attribute name (groups) must match Kortix’s group claim, which is prefilled at the connect step. Cloudflare passes through whatever group NAMES the upstream IdP sends.","textf2a9bd94c131":"Choose a project icon","textf2bbdc88c314":"Failed to request account deletion","textf2c143f1de76":"Turn the app on","textf2c3996c2fc5":"GitHub setup failed","textf2cb80a49d86":"Basic SAML configuration","textf2da697d0ec4":"In your new app, open","textf2daa18861b5":"Bundle","textf2e69a5e24ba":"Microsoft Teams disconnected","textf2e8cb47665e":"Stop requiring two-factor authentication?","textf300b6a90b8c":"agents/kortix.md","textf30585f9e40d":"Granted per agent, never inherited","textf31740d0e328":"Pause all triggers","textf323a777d921":"Failed to download {value0}: {value1}","textf32b512d4c31":"Off by default. When enabled, a session init that fails retries once on the next provider.","textf32ca39e73d8":"theme system auto default os","textf3498d99c1a1":"Denied by default. This agent reaches nothing until you grant it here.","textf3503deebf69":"kortix.yaml + config","textf354ef2ee567":"A living company brain that compounds.","textf3561ba67553":"The action is not available, and no approval can lift it in the moment. Deleting a customer stays off the table.","textf373d63f8a71":"In the left navigation menu, expand the \"Entra ID\" section. Select the \"Enterprise apps\" tab. Click \"New application\".","textf37a3ea11c91":"Model access is the Managed models switch below, not the tier.","textf37bf4f7a338":"This file is {value0} unpacked — too large to preview here.","textf38b3206f543":"Failed to remove the {value0}","textf39511acff4a":"evaluated against","textf39baddba943":"Secrets are named, not shown","textf39fe0fefce2":"Required before session start:","textf3a4ff3c0ae3":"Enroll an authenticator app under Settings → Security, then retry — this account blocks gated actions until your session is MFA-verified.","textf3ad568c3fa6":"The machine image this session runs on. It is chosen when the session is created and cannot be changed afterwards — start a new session to use a different one.","textf3b80d5fea1d":"Every edit lands on the branch cut for that session. Nothing the agent does is visible to any other session, or to main.","textf3b81325942e":"Seats","textf3d19541f3a5":"30 seconds","textf3d331b82d30":"Failed to sync subscription","textf3d4c9b3357c":"Stop building static software. Start building feedback loops.","textf3d75361a203":"Now paste these into","textf3d82cf5fcc9":"OpenCode starts","textf3fcc2e819e8":"Users and groups","textf3fe997b8d1c":"We","textf4034f3d4b32":"Subscription in Stripe","textf4059bb85610":"Loading approval","textf411a1fb6275":"Free","textf4152f065d72":"Assign groups to the SAML app","textf415bf7b07a9":"IT","textf41875714fdc":"Search sessions...","textf41f83e58609":"The Postgres data directory, the storage directory, and the .env that holds every key the instance uses. Back up those three and you have backed up the instance. There is no separate backup service to configure, and nothing to export from us.","textf42546d5ecdd":"rotated","textf425a50db981":"It fires at 3am. A person still decides.","textf42bca637cb3":"Productivity","textf42e280577fb":"See it in the session","textf43ce58ed44c":"Only you can use it, in your own private sessions. Name it to tell your accounts apart.","textf442435e771f":"# go-to-market","textf44bf9c0530c":"Request denied","textf44c4c67ce1e":"Update Trigger","textf44f2ebac561":"This guide covers the DOWNSTREAM half (Cloudflare → Kortix). The upstream half (your IdP → Cloudflare) follows Cloudflare’s own documentation for your provider.","textf4510b04848b":"  // policy.","textf45493c4e9da":"RBAC","textf461c90d16f6":"OAuth 1.0","textf466e0454447":"Set enterprise demo flag","textf475451ba670":"Two agents ship in every new project: kortix, the generalist, and memory-reflector, which curates the project brain.","textf4791d4393c0":"Six questions. Everything else is generated.","textf4830a1dae29":"Schedule","textf48bdbd4d197":"Six layers of the agent stack on the six faces of one die. Roll it to read a face.","textf4a0f0ba4a27":"Every Kortix project is a git repository the server creates and pushes to on your behalf. Connect GitHub once here to enable projects.","textf4a10da7a820":"archiveFailed","textf4abf9b04196":"Deleting trigger...","textf4b06ef6d3c8":"To","textf4b3042a5a94":"An agent decides whether to load a skill from its name and description alone. A vague description means the skill never fires — which is why the description reads like a list of the things a person would actually say.","textf4c028f9e5ff":"Any public repo with skills. e.g. anthropics/skills or garrytan/gstack.","textf4c2941f54da":"Restricted to BYOK keys.","textf4c7f41c12d6":"Nothing here","textf4ccae29e1bb":"Running","textf4d149d4f9a4":"is now .","textf4d2550a2cc7":"/home/user/projects","textf4d3cad9353c":"start an agent session","textf4da86da1210":"Approve connection","textf4e707d938c6":"Give another app a private address that starts an agent when it sends a request.","textf4ea27b929c2":"Connect App","textf4f6813aa30f":"All accounts","textf4fcd871d62d":"BYOK only","textf50007df4f30":"to kortix@acme.com · Re: Q3 renewals","textf502267deff4":"No sessions yet","textf513ed1619ec":"Managed cloud","textf517096df65f":"Review in Audit","textf51ad0b730d4":"Administration — Read and write (create repos, manage collaborators). Contents — Read and write (push, pull, branches). Metadata: Read is added automatically. Nothing else.","textf51e3554540b":"Connector Details","textf52bfe43b914":"Cadence depends on your IdP — most push changes as they happen; some run scheduled cycles. Check its provisioning log if nothing arrives.","textf5462009cf42":"View access","textf54a674cd9e6":"Use the logo on solid black or white backgrounds","textf555cfabd2e5":"Build outbound from nothing.","textf55f49c47f7f":"yet.","textf5652094d0cd":"13 site-polish tasks finished","textf57829f4ec88":"Pick the app, click through its OAuth screen, done. Kortix stores the connection, not your password — Gmail, Notion, Linear, Salesforce, HubSpot, Zendesk, Google Drive and thousands more.","textf57a23c69b34":"Add secret","textf5828f35ad93":"Single-tenant","textf58830babafb":"Full project control, including members and delete.","textf58f153c56ed":"Created IAM policy","textf5904cf7a123":"Marketing","textf5b112442ea7":"the runtime agents think in","textf5c9bd131486":"Show more","textf5cbd7086bf2":"| * s_7f2a","textf5d8a16d19e5":"Strategy is not the bottleneck. One positioning decision turns into nine assets, and by the third one the voice has drifted and nobody has time to notice.","textf5e732583fb2":"Connect now","textf5e81453d0e9":"Signing Secret","textf60eb7723e40":"Choose how this trigger starts.","textf61cb753e9f1":"SAML Metadata URL","textf634a2b6f327":"skill: reconcile-invoices — handle partial refunds","textf63857b7ed7e":"Session terminal","textf64643109eeb":"This session needs {value0} connections.","textf652a621153e":"The connector catalogue returned nothing. Try again shortly.","textf65ed2ec9c30":"View Changes","textf65f62a09460":"Authentication Mode","textf665e07f2a78":"Reset routing","textf6668c33ea1a":"Weighted-random placement for new sandboxes. All-zero falls back to the default{value0}. An explicit per-request provider always wins.","textf6725f3af08a":"Expires","textf673a34a7b3e":"Attach your local OpenCode TUI straight to this session's sandbox. The CLI opens a local proxy, injects your Kortix token, then runs","textf67f927b8360":"/features/ar","textf680871347c5":"A tool needs a real credential to do real work, so the honest question is not whether the machine ever holds one. It is which machine holds which key, who decided that, and what never gets in at all.","textf68119748553":"Paste the metadata XML","textf68480496a83":"Run many agents at once without mixing up their work. You review every result before it joins your main project.","textf68d7561db3d":"Everyone is already added.","textf6981b3fc3f5":"Every action a connector exposes gets one of three answers, and you set them. One tool at a time, or one pattern that covers a hundred — a glob by default, or a regular expression when you wrap it in slashes.","textf69dc87b39bc":"In \"Attribute Mapping\", first set the SAML Subject (the \"saml_subject\" row / Name ID) to \"Email Address\" — it defaults to \"User ID\" (a GUID), but Kortix correlates accounts by email. Then add these outgoing SAML attributes (Kortix name → PingOne source):","textf6a214f7a5fc":"result","textf6a6d0e934f4":"HTTP {value0} ·","textf6a7db3563d0":"Synced {value0} connector(s)","textf6adb9115a27":"App logo (optional)","textf6ae327724da":"The campaign tracker, the keyword sheet, the calendar the whole team actually edits. It reads them as input and writes the read-out back into them.","textf6b6716f736b":"completion rejected — continuing","textf6cbe2f0c1f8":"Description (optional)","textf6d09f9aad90":"Viewed billing status","textf6d0f6c23cc4":"Couldn’t load Computer Tunnel assignments","textf6d4edb8aa67":"Cloned at session start on a fresh branch. Your transformation code, your metric definitions and your previous analyses are already there — which is why the agent can check a new definition against the existing one instead of inventing a third.","textf6d7008c2f59":"The work that never reaches the top of the queue.","textf6eaf58e6b8a":"Proposed {time}","textf6ece80b88d6":"Gemini","textf6f4688ff23d":"Send","textf6f738d04392":"Revoked","textf6f7e2debcaf":"Pauses for a human. The session waits for your answer.","textf6f984a4124b":"2 h","textf6fd76832ca6":"finance/fy26-budget.xlsx","textf711673979b5":"The authorization request was denied.","textf72150e82301":"Scheduling across four calendars","textf7243551e2b7":"Check your input","textf730dd4bb7fb":"go-to-market.md","textf748e0b183a3":"It flags what it cannot substantiate","textf74efe18842d":"This project uses a v1 manifest. Migrate to","textf75481058771":"This user is not a member of this account.","textf7552f3489ab":"prop or use the upload control.","textf7571d57f984":"This has been moved or deleted.","textf7579e0cf77c":"Create a custom SAML app","textf76a7d5990d1":"Your Kortix account is connected{value0}. Head back to {value1} and request project access to continue.","textf771f4d32eee":"p95","textf785c3ce1d58":"ms","textf786f0ee4793":"Reconnect now","text8a8b956178c8":"Reconnecting…","text3915f5ca49b3":"The workspace went to sleep","textc64d601209b6":"Wake up","textf7870941f5a8":"Listed pending project invites","textf7873b149941":"You are not allowed to see this call’s parameters, so it cannot be approved here. Ask a project manager to review it.","textf78817ccb153":"Plan, write, and rank a piece of content.","textf78d11e838cf":"You are the invoice clerk for Northwind.","textf78d4a2a7277":"It stops before it posts","textf7917eced9c2":"Download all","textf79ebae4aae3":"Closing","textf7afe3dde18c":"Open preview","textf7b5b39e896d":"Updated account session limit","textf7b9225a1fdc":"Select project first","textf7c491064ffc":"Viewed project cost rollup","textf7c6eb0eae50":"One open question, no form to game. Products, campaigns, companies, things you built for yourself — whatever you want me to know. It comes straight to me. I am Marko.","textf7d383dc224d":"Rotated secret","textf7d6d7f585c5":"Project rules apply to every connector and are evaluated first, so those tools cannot be changed here. Edit them under Global rules on the Connectors page.","textf7d76d648261":"SSO, RBAC, and groups that match your org","textf7d845186faa":"Connect account","textf7da30470586":"Fewest members","textf7db0cb35bc2":"Waking up the workspace… this file will load automatically.","textf7dc7405b0fc":"Require admin approval — Update / Delete","textf7e31759b202":"No output","textf7f0abe0bc9f":"      \"body.data.direction\": \"inbound\"","textf7f12da3e72f":"An analysis agent mostly reads, right up until it does not. Both halves, stated exactly.","textf7f35f36f425":"cron and webhook","textf7f52e59df1d":"10 MB","textf7f7adbb0a6c":"Render a key from the payload, then re-prompt the most recent healthy session stamped with that exact key. One customer, one thread. It never falls through into another key’s session.","textf7fb7869bcaa":"the shortcuts everyone shares","textf7fcff0d8fea":"No limit","textf800bf7b9497":"SAML via the Auth0 SAML2 Web App addon","textf810ceed99d6":"Asked to join","textf82de1c9a1f5":"No memory found.","textf8301e6fd45e":"Edit app","textf83190e0bc8c":"Back on the app page, select \"User access\", set the service to ON for the org units or groups that may sign in, then click \"Save\".","textf831c2a83de9":"Non-dismissible red banner — active outage or incident","textf83c80652286":"No projects yet","textf83d7ceb0541":"Signature and token both missing or wrong. Nothing runs.","textf83ee52d8860":"Read, edited and renamed one memory note","textf849c02f8075":"Zipping…","textf84ed4375595":"Remix","textf84f61e259fb":"Prospect","textf857df8f5587":"No sessions","textf869fbbc138c":"The API","textf8763a5f7793":"Cloudflare selecting the identity provider login methods for the app","textf87700ba8e67":"It wires itself up","textf882140b3577":"Session costs","textf886cdc83491":"Couldn't load surfaces","textf88927a8173f":"Slack asks you to approve what the agent can do before it can join a channel.","textf889fd3f8f49":"Get a new customer to first value in week one.","textf890a1792336":"Group updated","textf89559b35913":"Convert every inbound lead.","textf8a44ba9cc41":"Failed to create token","textf8a7fef9482a":"Created file: {value0}","textf8abf0bf6188":"Resource owner","textf8ac0465d6a6":"How your close works — the matching rules, the coding conventions, the commentary style — is a skill file in the project. It is versioned, it is diffable, and improving it is a change someone reviews.","textf8ac87bcf3ff":"Has active subscription","textf8b2bba36e29":"key lets an app outside Kortix call this project's gateway, using the provider keys on the Providers tab.","textf8b32f4e92bd":"Installed","textf8b3ddaa27a4":"Failed to update account","textf8b8883f0c9d":"1 hour","textf8bc408a8d81":"Failed to update channel binding","textf8d0abdf9308":"It reads the roles you already have and the work that team actually does before writing the posting, so the description matches the job rather than the last posting for a similar title.","textf8d46c2570e7":"More actions","textf8ef2de56f6b":"Every project repo and every secret the platform holds","textf8f03fb441b8":"Last 30 days","textf8f562ffbadf":"Left in the pool","textf900377c2048":"Every tool asks for approval, including reads. For mail, files or secrets, where reading is itself risky. A rule above can still open one tool.","textf903b3885c5e":"Not a git repository","textf911e414cf6b":"GitHub","textf912567c97f2":"Email display name","textf913d83d88a5":"Could not add to project","textf91c9658eeab":"Read access to the account's own audit trail.","textf92fb5cae1a6":"Compiling agent config","textf93df3dc0e07":"\"Client secrets\". Without this, members can't link an account to this App from Kortix.","textf9415dd748f6":"One status line until you expand it","textf947a3ead994":"skills/voice/SKILL.md","textf95155c4ddf9":"session 9f4c2b7e","textf95580852de0":"Sign in to the Okta admin console.","textf9581c8d3b47":"Failed to save connection","textf96aa8af0a6f":"service account tokens machine identity automation ci cd bot integration key rules expiry policy","textf974d0247a0d":"The supporting schedules","textf97c34130453":"enterpriseCtaSecondary","textf97e9da0e3b8":"Other","textf981bd62fb8b":"your workspace","textf982a576e7c6":"Human approval gates","textf988ed29d81b":"Migrate","textf998e7571a88":"a1f3 baseline","textf99aa2b72432":"The same Kortix, on your box.","textf9a2b7a7e2a0":"memory group — 3 calls, all closed","textf9a4ecea0836":"HMAC-SHA256","textf9a506e11baa":"  // Tighten per tool here when you want a stricter","textf9b19898161f":"Heads up","textf9b4f002634b":"Governed action","textf9c98eec768a":"Show {value0} more attachment{value1}","textf9cbfdc27b9b":"A senior review on every pull request.","textf9cfe2f2d411":"installs","textf9d35d43770d":"tools","textf9d46c1722ea":"Push Immediately","textf9d52abc1fb8":"Account-wide sign-in and session access rules.","textf9dcbb55deba":"Automate","textf9debe3e14a5":"Enable Create Users, Update User Attributes, and Deactivate Users → Save.","textf9e0dab461a6":"grep your whole company.","textf9e2518649d9":"Encrypted at rest, injected at boot.","textf9e8046a8a24":"Updated Enterprise preview","textf9e89f3cc0c8":"LLM Providers","textf9edcea2223e":".kortix/Dockerfile.ml","textf9fd7d923e08":"The harness needs somewhere to run. Each session boots its own isolated Linux machine with your repo and your tools already on it — nothing to install, no laptop involved.","textfa065317dfc5":"Connects as","textfa23c868781d":"Device polling failed","textfa31b7396679":"Grant credits","textfa320c3be26f":"Average duration of each provisioning phase (successful provisions), per provider.","textfa46ef7689ff":"Could not copy link","textfa497ac79066":"Connect your IdP. Users signing in via SAML are auto-provisioned and their IAM groups are kept in sync from a JWT claim.","textfa4e10e03866":"Connect Slack and the shortlist lands in a thread you can argue with. Reply in the same thread and you are talking to the same session, not starting a new one.","textfa51fd49abf6":"is","textfa55040f142a":"internal browser preview iframe embedded web page","textfa5ef912b226":"QM and Kortix both give teams persistent agents, isolated computers, Slack and web access, and self-hosting. The decisive difference is deeper: QM organizes work around people and rooms; Kortix organizes it around git-backed projects and reviewable sessions.","textfa6453683837":"Copy this invite link","textfa7428f1ff6b":"Reasoning...","textfa75c1ed206e":"Search by project name, account name, or owner email","textfa7fe67124e9":"Database","textfa867b6041b8":"Push Groups tab with Find groups by name and Push Immediately option","textfa8b919c909d":"v1.0","textfa8d84566676":"Cover","textfa8ed0bdabdd":"Plan","textfa91f7628ea5":"Date created","textfaa24cb6ca58":"An operations agent that runs the SOP.","textfaa9be96725c":"Add an application → Select type","textfaaaefbff336":"{value0} — default","textfac03f6bbe21":"The way we build software is fundamentally changing. Static software no longer creates a defensible advantage. The shift is to dynamic software that improves through feedback loops.","textfac6d5c5a0ac":"Reading the latest financials…","textfadff6cf8575":"teams","textfae237eed0c5":"Use in a new session","textfaf3dbdfe9c6":"Failed to delete Computer Tunnel","textfafc22c398f0":"Add override","textfafdc02f3d3b":"Easy — failed run (W7)","textfb09096cada7":"Could not reach the agent. Please try again.","textfb0b45908d60":"Workspace Details","textfb19bb4e64c3":"Add a testimonials section to the homepage","textfb1b984b8202":"It edits the company","textfb1f44091b66":"Four things, in order: paste credentials, check the one mapping, assign users, then start. Both values you need are shown above.","textfb2313911e39":"Every call","textfb2536db879a":"Built from the name if you leave this blank. It can't be changed later.","textfb2ab460e464":"One switch pauses everything","textfb2f31775d73":"The production line, not the idea.","textfb31480e7db1":"Upload a PDF to preview","textfb38fa39668b":"Account updated","textfb43a788ba7b":"Create it under GitHub → Settings → Developer settings → Fine-grained tokens. Do not paste your everyday personal token. Org tokens may also need approval under the org's Settings → Third-party Access → Personal access tokens.","textfb594c58c73d":"Rotate clockwise","textfb631b841a44":"Balance ≥","textfb6f7c93e6bf":"Planned","textfb73a86ece74":"Kortix symbol rendered as hard subpixel particles","textfb77a2e0d116":"You can connect only one identity provider per account. Your in-progress","textfb791d3beeee":"Platinum.dev","textfb81b961af45":"Paid","textfb93c43856a8":"SSO is now enforced for this domain","textfb99322b0290":"Scorecard","textfb9cf75606b4":"enabled","textfb9ef894175c":"Product","textfb9f1f579b54":"Will fail if the account has insufficient credits. Action is recorded in the ledger.","textfba1e79abe38":"Automatic provisioning from your Entra tenant","textfba6c2c5d946":"Maximize","textfbb883595364":"Phosphor only, one app-wide weight. Compare all six here.","textfbba7d547238":"It stops before it contacts a candidate","textfbbea2724ed5":"Triage the overnight exceptions at 06:00. Or wire your alerting to a signed webhook so a paging event starts a session with the incident payload already in the prompt.","textfbc1c4745323":"Your VPC or on-prem","textfbd165231fa1":"Search tools","textfbd29257121c":"I’ve enabled the group attribute","textfbd90a3ab227":"Changes your agents propose show up here before they reach the main version.","textfbdfd536fa56":"One Docker Compose stack, built from the same images the managed cloud runs. Your database, your files, your repos and your policies sit on disk you control. It is open source, so what you are running is code you can read.","textfbe19644d843":"HTML Preview","textfc0bb85f3867":"New Session","textfc1a1670a6e0":"I’ve added the groups parameter","textfc33f9b51929":"db · read-write","textfc379aff8002":"Completing sign-in…","textfc3fdecbf78c":"The one live channel. Ask a question about the close in a thread and the thread is the session; the workbook comes back into it as a file.","textfc41cd883d26":"Updated connector secret binding","textfc4e84255a41":"Timing","textfc4ff3e38b06":"JumpCloud only sends groups the application is BOUND to (User Groups tab). Bind each group you plan to map in Kortix; the name must match the connect-step claim.","textfc56800b00af":"It could not start","textfc5fe4b93461":"kortix init · kortix ship · one repo · any model","textfc62a0071f66":"Conditions saved","textfc62c144fc7a":"Trailing icon","textfc6e4a408d56":"Leave","textfc718110809e":"Deleted group","textfc7605717e58":"Secrets added to this project appear here for the agent to pick from.","textfc799da2088d":"Developers","textfc856a631771":"Search audit events","textfc85de2d5feb":"Failed to save secret","textfc8932c70118":"cloudflared","textfc89d36d845d":"No models matching \"{value0}\"","textfc8e70e84fe4":"Searched project files","textfc90a89c4980":"I’ve completed this step","textfc90b7eeb46d":"to a project","textfc967a19be0b":"Automatic provisioning from PingOne","textfcbc94634f1f":"Failed to sign in with Google","textfccd73a69e8b":"Project settings","textfccf4ccb4995":"In the same \"Show legacy configuration\" panel, under \"Group attribute statements\", add: Name groups, filter \"Matches regex\" with .* (or a narrower filter for just the groups you want to send). Click \"Save\".","textfce8323af972":"Tool call ID","textfd060941db0c":"A file dropped in the thread is pulled into the agent’s cloud computer. A file the agent produces is uploaded back into the same thread. The deck lands where you asked for the deck.","textfd07b638637d":"It takes the report, builds the case on its own machine, and comes back with either a failing test or the reason it could not reproduce. A session that cannot reproduce says so. It does not invent a fix for a bug it never saw.","textfd0b25a736aa":"Use semantic color tokens (success, warning, info)","textfd11491690d6":"Run the billing suite","textfd1a3ff157f3":"Added {value0} people to the group","textfd1b12f0503c":"Mint a token & enable SCIM on the Okta app","textfd20bd366efb":"Search feature flags...","textfd2c8f1dc03c":"slides","textfd49dcc8d164":"GitHub opens next: you confirm the App, choose which repositories it may access, and land back here connected.","textfd4daecd5ecf":"Client secret in body","textfd50ba402659":"In pickers","textfd518bfaee70":"Not signed in","textfd537cf32a82":"Credit burn ({value0}d)","textfd5be8c298fd":"Browse the marketplace","textfd7761663e4f":"Runs automatically on a repeating schedule, or once at a set time.","textfd792ae48d11":"This slide","textfd7c62b85d07":"Fixed snapshot with agent","textfd7e911ee733":"Sandboxes provisioned per provider per day.","textfd8b8dae4421":"Danger zone","textfd8beb3c3acc":"drops back to","textfd94861c802e":"Per-member caps (","textfdac955a2fcf":"Grazie.","textfdb55672b8c6":"Provisioning → \"To App\" → Edit → enable Create / Update / Deactivate Users → Save. Assignments and pushed groups then sync automatically as they change.","textfdb73b4a48f2":"Soft-deleted session","textfdb7b2463da5":"You already have an account — enter your existing password to sign in.","textfdc639c47624":"Step limit","textfdccb896a3a1":"Enterprise demo","textfdcd7d7a2b54":"Granted secret to an agent","textfdd0a77c1e77":"Writes","textfdda4f15f6cb":"Not in the live session pool.","textfde028796e58":"Members, billing, roles, and audit live in each organization's own settings.","textfdeee365fcf3":"No 2FA","textfdf45589cf20":"The service on port {value0} may not be running yet.","textfdf7bc860f55":"The selected","textfe03288dc0ba":"  // throwaway branch, so the agent starts wide open.","textfe1e8536b04d":"Daytona, Platinum, or E2B. This is the one credential the stack genuinely cannot start without.","textfe22cb3e747a":"Every connector in this project.","textfe2db5690c6e":"OAuth access tokens","textfe2edea70871":"Configured by environment variables on the server. Change or remove this connection by updating those variables and restarting the API.","textfe3811fe21af":"sse","textfe384b93382f":"; a session can only do what both allow.","textfe4666578c32":"Could not revoke that token","textfe46cb83ad1c":"New token","textfe49d2d1f394":"Failed to cancel account deletion","textfe4aca69783d":"Session Stats","textfe4e2e5988fd":"Error Loading Share","textfe5c793e5f1c":"Kortix Blog","textfe68b872c724":"Reload failed. Try again in a moment.","textfe706dcdd39d":"Runs the SEO programme week after week.","textfe78e23bf472":"Activated connector","textfe7fcc4818d3":"Your own VPC or your own on-prem network","textfe86607fd694":"Who can open this session","textfe9d9df993af":"Notification level","textfe9f12bbdf18":"Start, watch and steer every agent in the organization — from the web app, from Slack, from your terminal, or from nobody at all. Then the work commits back into the repo you started from.","textfeb9fa57b074":"Session work lands on main as a change request you read as a diff first","textfec78985c8f3":"Top sessions","textfecc36d012be":"Granted in kortix.yaml, but this project no longer declares it.","textfed420ba35cf":"/guides/close","textfed6011cdb1e":"The member/group counts below tick up once the rule is Active and PingOne runs its first sync.","textfedb675f658f":"Write to marko@kortix.com instead.","textfedc2719f048":"What it may read, what it may post, what it may never do.","textfedfdc14d4f7":"Avatars","textfef1ea14a08b":"Credits added","textfefcb218bbef":"Every few hours","textff0149f3aca8":"Service account API keys for CI and automations, and the rules they follow.","textff042b6ded4e":"Bundles","textff254d2f2db2":"Under \"Group Attributes\", check \"include group attribute\" and set the attribute name to \"groups\".","textff27a991e855":"Use cases","textff2857a72bfa":"Group deleted","textff29c6cba4c4":"Configure SAML attributes","textff2b8e88c520":"Need SSO, on-prem, or volume pricing?","textff352f7a952b":"The rule can read the arguments","textff3645d63698":"Issues, discussions and what actually merged. This is where release notes come from, because the diff is the only honest record of what shipped.","textff42d4eadd12":"Failed to load access","textff44a401445c":"Expiring","textff5091ba4fe1":"Slack workspace assigned to this connection.","textff536bcd78f9":"Choose which identity provider(s) this application accepts — the upstream login method(s) you set up in the first step. Restrict to the one(s) you intend, or allow all configured methods.","textff53f5e63f80":"Open the SAML connector app","textff6065190563":"Couldn’t load permissions","textff73053e6892":"global workspace","textff8059dc6752":"Actions","textff874fb0b49f":"name: acme","textffa63583dfa6":"missing","textffb6f5764bdd":"Newest first","textffcad26fe24b":"Some things can never be granted","textffd34ade9168":"Removed {value0}","textffd43fd60b28":"Black and white plus one accent per theme, and the full core palette in OKLCH.","textffd7280513ce":"30 days","textffdc6918b359":"Trigger created","textffffeef5ea06":"{value0} earlier lines","text904eb9015563":"Matches the current filters","text01e9e629cbb0":"{value0} in the previous 7 days","text2309cb81f4b9":"{value0} accounts in total","textec58b394f1e2":"{value0} accounts spent in the last 7 days","text40b4051ad68e":"Fleet-wide","text740edcecbc2a":"Trigger and channel events","textd478d8374dfc":"On this page ({value0} of {value1})","text5cbdd59d7048":"Across every provider","text347cf684f3e7":"{value0}% of new sandboxes","textad0f852848bf":"{value0} ok · {value1} failed","text87ee04b2e9ee":"None stopped","text58dfb849aa70":"{value0} stopped","text42bd5f3bc3ca":"Shown in your list of {value0}s.","text415d8dfb1c5e":"Each seat adds {value0} pooled credits a month. The whole team draws from one balance.","textb9967f948f93":"Environment values","textaea537d63c8c":"Authorized accounts","text57c8f2cd3dd6":"Fixed at session start","textce033f75c938":"waiting for one decision","text5726504025dc":"waiting for {value0} decisions","texte0a770200f93":"Included with your plan","texta527a1778404":"ChatGPT Plus or Pro subscription","textb1a5c13d215e":"Pinned to a template this project no longer declares.","text0703d9121fd7":"Pinned for this agent. New sessions and automations use it.","textfccaa4c0a0be":"Follows the project default — currently {value0}.","text4dd21464c579":"Pinned for this agent.","textf39c806f5724":"Auto — the model decides per turn.","text0443f619cb33":"This model publishes no variants. A raw variant id still applies.","text6376d74077c0":"Pin a model above to pick from its variants, or type a variant id.","text8375520a8316":"Inherits {value0}.","textc1fb7a9962c8":"Managed routing — injected into every sandbox","texte5bfa5b324a2":"Claude — Opus, Sonnet, Haiku","textd1215f289861":"GPT-5, GPT-4o, o-series","textbd31adce024e":"Gemini 2.5 Pro, Flash","text2c1fd17b6e13":"Fast inference — Llama, Mixtral, Kimi","text184ebc449e02":"DeepSeek V3, R1","textcc48a68cd6d9":"Mistral Large, Codestral","textd34acc9c3902":"Routes across many providers","text03fd31167171":"Very fast — Llama, Qwen","textce3221285a92":"Open models hosted","text558a4c169f94":"Web-grounded models","text99986fdbc439":"Claude, Llama, Titan","textf8843c7902c3":"Azure-hosted OpenAI","text7369760ba735":"Command R","textddf25c2d9671":"Inference endpoints","text262d5a77978a":"NIM microservices","text7b84ea95f8ae":"What does an agent actually run on?","text97bbd1c3b346":"Its own machine. Every session boots an isolated Linux cloud computer with your repo and your tools already on it, on its own git branch — the session id, the sandbox id and the branch name are one and the same string. The agent can install, run and break anything inside it; only what it commits survives, because the machine is destroyed with everything on it.","textc145665dd580":"What stops it doing something I did not want?","texta9fe46474f33":"You set allow, ask or block per action, and a rule can match on a glob, a regular expression, or the arguments of the call itself. Be aware that nothing is switched on for you: a project with no policy declared runs every action, so this is a thing you configure rather than a thing you inherit. Session work reaches main through a change request, and merge is default-deny for an agent — an admin has to grant it in kortix.yaml, and that grant is itself an edit somebody else has to merge.","text3a8d0e57770e":"Can I see everything an agent did?","text36814e8d3c88":"It is all recorded, on every plan. Recording is never gated — actions, approvals and the session transcript are captured whatever you pay. Reading, exporting and streaming that audit trail out to your own SIEM is an Enterprise entitlement, so on the lower plans the record exists but the export does not.","text618ad8d1c91a":"Is my company data yours?","textda09b5e9847d":"No. A project is a git repository — clone it and the agents, the skills and everything the company has learned come with you. Self-host and the database, the files, the repos, the secrets and the audit record all sit on disk you control, on one Docker Compose stack built from the same images the managed cloud runs. It is not air-gapped, and we will not pretend otherwise: agent sandboxes run on the compute provider you configure, and your instance has to be reachable so they can call back.","text151863950f0e":"Can I use the models I already pay for?","text055026a9c10e":"Yes. Bring your own API key for any major provider, or sign in with the ChatGPT subscription you already pay for, or use the managed gateway and bring no key at all. The model is a line of configuration in your repo, so switching provider is a diff rather than a migration.","texte8dc9deba44c":"What does it cost?","text8eb8b8551cec":"Free is $0 — one project and 200 credits a month of sandbox compute, with your own key for any premium model. Team is $40 per seat per month and pools 2,500 credits a seat. Self-hosting the software costs nothing; you pay your own model bill and your own compute bill instead.","text7ee5a6d5e8ad":"Why we are building it","text625b22ba31d0":"Read the source","textf16b8eb8dbdc":"who does the work","text134c2e3b3de9":"how your company does a job","texte4a5057c3d4b":"what it has learned so far","text17fc14f2752c":"what each agent may touch","textafd614a43cdb":"when work starts on its own","texte0dc5fffc316":"the tools it is wired to","texta3fc3f6cb13b":"the image sessions boot","textcad6028adc82":"Your endpoint","text43d5e93e93fb":"anything OpenAI-compatible","text5ddf2ba599b6":"per agent","textf92898c93eec":"per session","text83d0be53d592":"per message","text677fe21b65f4":"answers","text3f66f3329185":"Saw you are hiring four platform engineers.","text830ec669b118":"Teams at that stage lose about a week a month to","text3685aac7952f":"manual reconciliation. We built an agent that closes","textb38cb5e18525":"that loop and shows its working. Worth twenty minutes?","textff5bd8333c4e":"You, and anyone who can manage this project","text36d8691ae566":"Anyone with the URL, plus your team","text4fb2abecc0a6":"Anyone with the password, plus your team","text03a01dd53ffa":"Press ↑ to edit queued messages","text1eb132d9d4da":"Queue paused","textf8e64a37950a":"Queued messages","textcd5f943d5863":"Not sent","text42888e8dc93e":"One connection for the whole instance. Kortix creates and pushes every project repository through it, in every account.","textf40d94365439":"This instance's GitHub identity comes from environment variables on the server. It cannot be changed here.","textbd6cc9a4cf4b":"Set by","text39481fc24bd5":"Kortix-managed repositories on this instance are created under {value0}.","text89a9816ffa6f":"Kortix-managed repositories are available on this instance.","textb79bb0e54e4f":"Kortix-managed repositories are not available on this instance. A platform admin sets this up in the admin console.","textf7be8a17b0e7":"Add a GitHub account","text659d5668b62b":"Link a GitHub personal account or organization to this Kortix account.","textdc520b664af2":"GitHub lists every personal account and organization you administer. Pick one, choose which repositories the Kortix App may reach, and that owner is linked to this Kortix account.","text8d3f36f31348":"Install the Kortix App","text183bc0d276cc":"This instance has no GitHub App to install. A platform admin sets this up in the admin console.","text7f59f014cd7b":"Already installed on the owner you want?","text9180f7df8906":"Link an installation you already administer","text0b0e4c425624":"Already linked to {value0, plural, one {# other Kortix account} other {# other Kortix accounts}}.","text7dac2ca010fe":"Preparing the full transcript…","textc6309c452031":"Connect shared account","textded4b88e52f7":"No shared account yet","textc3bafa5156b4":"No account of your own yet","textea5d0ffa0962":"A project manager connects the shared account.","text3d6627454174":"Set credential","text929505ef815a":"No account is connected yet. Add your own below, or ask a project manager to connect a shared one.","text931cb67e2af7":"The new agent config failed to load. An earlier config still runs this session.","textd9ff3a72833d":"Config failed to load","textebfb07812fb4":"The new agent config failed to load","text4e62b29dd3b6":"An earlier config runs this session. The failed config is not retried until the base branch changes.","textf81ab834de5f":"Reason","text44cdf35701cd":"Now running","text591f9f0f3259":"Failed release","text00ed4c71dc2b":"Last working release","textbd7a1a3b4141":"The platform default config","text643df05476ab":"The platform default config runs this session. The failed config is not retried until the base branch changes.","text40652e008fc9":"The new agent config failed to load. The platform default config runs this session.","text3312ddb06c1d":"Register a bot in Azure, connect it here, then upload the app package to Teams.","text7f1b55a356b0":"Register the bot in Azure","text91004edf8b30":"Connect it to this project","text6014c20ee34a":"Upload the app to Teams","text22891df1ec93":"Create an Azure Bot resource, then point it at this project's messaging endpoint. You'll need its app ID, a client secret, and your tenant ID.","text8dcb943dc3b2":"Messaging endpoint","text2dd53600f505":"Open Azure","text8eb37da4b2df":"Create an Azure Bot resource. Either Multi Tenant or Single Tenant works.","textf8a542d3c304":"Open Configuration and paste the messaging endpoint above.","text4587dfe8ba37":"Still on Configuration, create a client secret and copy its value now — Azure shows it once.","text97fa07f21de8":"I created the bot","text576111a7aee1":"Application (client) ID","text1dc4abe27594":"Directory (tenant) ID","textf68f19d4f41b":"On the bot's Configuration page in Azure.","text39eba5dfad95":"The secret value you copied, not its ID.","texte9c014cbed45":"Your Microsoft Entra directory ID, on the tenant's Overview page.","text408bab8e8be6":"Your manifest now carries this bot's app ID. Build an app package from it and upload that to Teams.","text843ed3b90b42":"Zip this file with a 192×192 color.png and a 32×32 transparent outline.png.","text5c71673648a2":"In Teams, go to Apps → Manage your apps → Upload an app, and upload the zip.","text91b9932411cc":"Add the app to a chat or channel, then mention it to start a session.","textd208e2f1260f":"Open Teams admin center","text98722a5463cb":"Couldn't connect Teams","text53e5f96332d9":"Grant admin consent so the Kortix bot can run in your tenant.","texte2f95a2e3a77":"In Teams Admin Center (or Teams → Apps → Manage your apps → Upload), upload an app package built from this manifest, plus color.png and outline.png icons.","textd9692dea50e7":"Add the app to a chat or channel, then paste your tenant ID below to bind it to this project.","text8dd795841572":"The client secret is encrypted. Only this workspace's agent can read it.","text5cb103d6008c":"Channel thread","text31d248c44579":"Untitled conversation","text3ea5efedf114":"Let admins open every session","text88cfd89168a0":"Stopped admins opening every session","textcbccc00faa36":"Opened a member session as account admin","text798f62f95bed":"Viewed admin session access","text0814e13d671d":"Changed admin session access","text8f12a6e05e6d":"Kortix permissions","text15365eb45e29":"What this agent may do to the project itself — sessions, triggers, secrets, members — from inside a session.","text4e2c36d015a8":"One vocabulary, two bindings. People, groups and agents get roles on an account, a project, or a single resource. Agents additionally carry Kortix permissions in","textde340d411411":"This diagram is empty.","textc53147a0d05b":"Couldn't render this diagram","text91aec62280a3":"Download SVG","text751dfdcf3878":"Line {value0}","text0a7b76552107":"Renamed connector account","text30a59603fd3a":"Accessed sandbox port","text5b8e2b257422":"Accessed shared sandbox preview","textc9a7f8d1ade7":"Acted while impersonating account","text9ab73f47da1a":"Activated Kortix App deployment","text39e221ef16f2":"Activated connector account","text0d5c985e2e76":"Activated sandbox provider switch","text28a89f949580":"Added marketplace source","textec4e375303d4":"Added pooled provider key","text48fa74c81a67":"Approved computer tunnel device authorization","text0f8ba6f797f1":"Approved computer tunnel permission request","textd65159859848":"Approved project access request","text8945f35c150f":"Authenticated LLM gateway token","texta3036afdb779":"Authenticated computer tunnel agent","text3419bc5af9e9":"Authenticated to sandbox previews","text82521856630c":"Authorized LLM gateway request","text334e88b99fc4":"Batch-checked effective permissions","text604c87003912":"Bootstrapped legacy sandbox runtime","textb3492f3eb868":"Bound session to Slack thread","text49698c402950":"Browsed Pipedream apps","texteade65b9fe9a":"Browsed Pipedream categories","text41a15aa3b9c6":"Browsed connector discovery catalog","text73337d837687":"Browsed discovery catalog categories","text6335c5f0e24b":"Browsed easy-connect apps","text4d309dcde513":"Browsed easy-connect categories","textc1db53e07fe2":"Bulk deleted IAM policies","text48878dbcc9fb":"Called Context7 through router","text3c82377d4bcb":"Called Firecrawl through router","texta62500b56c6e":"Called Gemini through router","text05fa4b23c7e9":"Called Groq through router","texte185e6f4ee08":"Called LLM gateway","text73f2296c5e9d":"Called OpenAI through router","text8249b7035412":"Called Serper through router","text4b2af6755721":"Called Tavily through router","textbfe6f8d84d32":"Called xAI through router","textc4c0cf02a10c":"Canceled account deletion","text67e925fb32fd":"Canceled account invitation","textbeeb0f782fe9":"Canceled scheduled plan change","text59e23363aa05":"Canceled subscription","text6a121becc711":"Changed session model","textd1cc9bf11cb2":"Changed session status","text6b887f76c0be":"Checked API readiness","textcb501ee4602d":"Checked LLM billing eligibility","texta47e6aabdc90":"Checked LLM gateway budget","text036cc3b83e33":"Checked TLS certificate eligibility","text89a597073249":"Checked connector device authorization","text086799c9b7c9":"Checked effective permission","text1d90e22f9600":"Checked instance service health","textd5b12327aaf4":"Checked model provider OAuth login","text9bf3cd7aa228":"Checked router health","texta23bbd5b005e":"Checked sandbox preview CORS access","textaf6efe6ab19e":"Checked session agent config freshness","text24ce0e45fb23":"Checked sign-in email","text4fde9c00516c":"Checked the sandbox entrypoint","text412f891b55a9":"Cloned or fetched Git repository","text1fd8295dda82":"Closed change request","textb042c5e25839":"Completed GitHub App installation","textabfd567fd685":"Completed Slack app installation","text43cb6ad3e1c1":"Completed Teams app installation","textbcb1d98948fa":"Completed audit reconciliation","text3b5f34720289":"Completed connector OAuth authorization","textfd2d9780237b":"Completed secret broker call","text5f87c0c6a789":"Completed setup wizard","textefb96fa14963":"Configured credit auto top-up","text7a5cb7de03d9":"Confirmed checkout session","texta0bcee97cbb3":"Confirmed inline checkout","text0b751a917c97":"Connected GitHub installation","text8b7a8797d532":"Connected Microsoft Teams tenant","text83c0e255d4bb":"Completed Microsoft Teams install","text17a8cf884e2a":"Connected Slack workspace","textf887cb0e6800":"Completed Slack app install","textc7f9ec5ed69c":"Connected computer tunnel agent","textafd58fcedeee":"Connected email inbox","text2eda12b4ed38":"Connected existing GitHub App","texte336c5f5924c":"Connected managed git via GitHub PAT","texte0b2f1992cd2":"Connected model provider OAuth login","text36cc04eb350c":"Converted trial to paid plan","text1d14106d063e":"Cooled down pooled provider key","text445add93a559":"Created Git push token","text5fc5b93a2c8a":"Created GitHub App from manifest","text2a80718f2943":"Created Kortix App","text1190774f96a9":"Created Kortix App access session","text26939b5fac50":"Created LLM gateway key","text4ea280d29207":"Created Stripe portal session","text982175db380f":"Created account","text127e6d7b1523":"Created change request","textd2c3b09f2ab8":"Created connector account","text87a3103c966b":"Created connector setup link","text140989e4f221":"Created inline checkout","texte6c5b58e9da6":"Created instance owner account","textb08249928341":"Created or updated connector","textdcedf3d6a02b":"Created per-seat checkout session","text0f24ebdf8495":"Created personal access token","textaf9357a6dc9c":"Created personal connector account","text79d65802be65":"Created project CLI token","texta39f465b2fbc":"Created project with new GitHub repository","text481e83d574d6":"Created public share link","text9a744a091ba2":"Created sandbox port share link","texte3b3e6b627dc":"Created sandbox template","text25f586306c85":"Created secret","text6b4ff8539603":"Created secret request","text6d1fb1ddf317":"Created session","texta3bc672fac85":"Created shared connector account","text399c9ab71cdc":"Created subscription checkout session","textf151e576020f":"Debited account credits","text02dcf007425f":"Deducted credits for LLM usage","text7ca079c260d4":"Deducted credits for agent run","text2fa5960eb241":"Deleted Kortix App","text8a18f907f571":"Deleted LLM gateway budget","texta5022956d571":"Deleted computer tunnel","text5be61028cb32":"Deleted connector","textc3ab70838004":"Deleted gateway routing policy","text36d3256a722f":"Deleted model defaults","text8a46ce1d6ffb":"Deleted pooled provider key","text2e393fab9a5a":"Deleted sandbox template","textff53c35f2771":"Deleted stale Git branch","textceaf07d02e52":"Denied computer tunnel device authorization","text14a10e9de806":"Denied computer tunnel permission request","text4d4e4e0a7152":"Denied secret to consumer","text871e21fd1141":"Deployed Kortix App","texte58221daf97a":"Deprovisioned SCIM user","text5205e13630e9":"Disconnected GitHub installation","text9d9bc072f7e3":"Disconnected Microsoft Teams tenant","textbd67d4b87f7b":"Disconnected Slack workspace","text4d4a2c94e0f7":"Disconnected email inbox","texta9aaf0aa1d72":"Disconnected instance GitHub integration","text9bba5f09dfec":"Disconnected model provider OAuth login","text64bfda7a75f4":"Discovered MCP authorization server","texta1a5939805dd":"Discovered connector OAuth metadata","textea8e6c1cd541":"Downloaded Microsoft Teams file","textff439a942536":"Downloaded Slack file","text46bf87f15165":"Downloaded fast-boot Git bundle","text3f83682cacbc":"Downloaded session attachment","text21d6e0d7c87a":"Downloaded the sandbox entrypoint","textf2b760a63dfe":"Enrolled a second factor","text32c94e9eb5f4":"Expired a role","text7bc76ea5ba38":"Expired computer tunnel permission","text386863958918":"Failed Kortix App deployment","text15ec16386ab0":"Failed sandbox provider switch","text59505f7bdc6c":"Failed secret broker call","texta405e11ddb15":"Failed to decrypt secret","text95b3ee165441":"Failed to refresh secret credential","text06fd3e20927a":"Finalized Kortix App artifact upload","textc3eb0332d047":"Finalized connector account connection","text140419d7ada1":"Finished connector setup-link authorization","textc78874782c93":"Finished easy-connect authorization","texted4737c2237c":"Granted account credits","textc08f748fd0ba":"Granted computer tunnel permission","text5aac4bf585a5":"Granted pooled provider key","text7fb3c8071d8e":"Granted resource access","texta5c59d2b77a4":"Granted temporary account access","text2f302c160991":"Hit API rate limit","text1263af3e3e45":"Invited member to account","text82d85c7e49d6":"Issued an OAuth token","text59bf18eaee0a":"Issued secret handle to sandbox","textba184bcf57fc":"Linked Slack identity","textfd2098338813":"Linked Teams identity","textd6bf5be8d9d2":"Linked existing GitHub installation","text5d092a09e47b":"Linked repository as project","textac21e75b9b60":"Listed Git branches","text0a127cda4ed3":"Listed Git commits","text3f2fe99f4d30":"Listed Git repository refs","text1adcf62a3991":"Listed GitHub installations","text1a881abfe401":"Listed GitHub repositories","text2222e5775340":"Listed GitHub repository branches","text92badfa158e1":"Listed IAM actions","text8931eb07e8bb":"Listed IAM roles","textc1e301016c46":"Listed Kortix App agent grants","text1bcdfee8502e":"Listed Kortix App deployments","textf2fdf20c6ed2":"Listed Kortix Apps","text8ea091baa4a9":"Listed Kortix system skills","text5154b812f5aa":"Listed LLM catalog providers","text7d5411a21bfb":"Listed LLM gateway budgets","text01262b375d5a":"Listed LLM gateway errors","text72c5c89cad31":"Listed LLM gateway keys","text9ea097f3041b":"Listed LLM gateway request logs","text53339e99fff9":"Listed LLM gateway spend by session","text10acae596546":"Listed Microsoft Teams conversations","text2367348cc27b":"Listed SCIM groups","text4cb92aee8d3b":"Listed SCIM schemas","text1f70d78d76eb":"Listed SCIM tokens","textbe57d6da40be":"Listed SCIM users","textfa7dcb702d43":"Listed SSO group mappings","textc4f9b0735dc8":"Listed account members","textab4b11397d69":"Listed account members as admin","text86189295d532":"Listed account projects as admin","text8b223d803041":"Listed accounts","textabd61b1709c3":"Listed agent identities","text0728a17d6020":"Listed all connector accounts","text8d995d35aba6":"Listed all platform accounts","textb297e89e97ae":"Listed all platform projects","text3021f2e3625e":"Listed all platform sandboxes","text61d8418c2f93":"Listed change requests","text416f0a435400":"Listed channel bindings","texta5a3a3a9157e":"Listed computer tunnel permission requests","text80320ad60201":"Listed computer tunnel permissions","text2e5da56072c4":"Listed computer tunnels","texta4b47bf52706":"Listed connector accounts","textaf9668f7bf28":"Listed connector policies","textf1a80a7b61b0":"Listed connectors","text9be50ffc9c15":"Listed credit transactions","textf3d13689fec8":"Listed enabled sandbox providers","text43b3b2dd010c":"Listed group members","text03770dede188":"Listed groups","textbd8161c89f2d":"Listed instance Git backend repositories","text64ffc8cbb2b3":"Listed marketplace items","text5366e6d17184":"Listed marketplace sources","text44d680afe993":"Listed marketplaces","text3e8dfda5b2d5":"Listed member project access","text6d79aa40a97e":"Listed model provider OAuth logins","text422fc7682e8b":"Listed pending connector approvals","text41d1c1d88806":"Listed pending invitations","text597f9481d593":"Listed personal access tokens","text2e60197c2867":"Listed pooled provider keys","text4485bc2a9c1b":"Listed project CLI tokens","text4b06153e8b1d":"Listed project access requests","text9f0782b5f406":"Listed project connector accounts","text84d5354ddfc6":"Listed project connector policies","text9ab4c4726ae9":"Listed project files","text7fca112dc699":"Listed project secrets","texte78a2a1962bd":"Listed project sessions","text9e87cf279760":"Listed projects","texte67441d27188":"Listed public share links","text93417c9a4313":"Listed publicly shared session messages","textcb73f0fc8759":"Listed received invitations","texta4546fa6895b":"Listed resource grants","textde4ed302ba62":"Listed review items","text68ddf358733b":"Listed router models","text0915434ace22":"Listed sandbox port share links","textbc40c54f2e28":"Listed sandbox snapshots","text3a959e978837":"Listed sandbox templates","textc8cfcaa04e2c":"Listed sandbox versions","text6e3c587d4fd8":"Listed service accounts","text6cbf26aad9ce":"Listed session costs","text65d000772eda":"Listed session preview candidates","text92e06289ebf0":"Listed session provider secret pools","textb56ac5a24613":"Listed sign-in sessions","text84369ab1a382":"Listed triggers","texta1281adfda2b":"Made LLM request","textff5ebd26b10f":"Merged change request","textd45033f1240d":"Migrated sandbox to another provider","text1347495aa04f":"Migrated to per-seat pricing","text466d6c658ef8":"Opened Kortix App WebSocket","texta982f7e34f86":"Opened Slack login link","text0ed4cc8a83d2":"Opened Teams login link","textebcbc18f1f5e":"Opened connector setup link","text08aa52327e2f":"Opened deployed Kortix App","textfdcff3df0494":"Opened sandbox port WebSocket","text1acc337f5ebb":"Opened sandbox preview","text70dc884ff371":"Opened sandbox preview WebSocket","textd909d48728c3":"Opened secret setup link","texte7e4576c80a6":"Opened session","text9b620c50adfb":"Paused or resumed all triggers","text97dc6aeaa967":"Polled computer tunnel device authorization","textf3e8ebf108f5":"Previewed change request merge","text703a2cfcc370":"Previewed connector authentication","textf4a73a5afc5b":"Previewed plan change proration","text5c3f85a1e314":"Provisioned SCIM user","text7603d7a6b46b":"Pushed to Git repository","texte3e41ae9f209":"Queued session continuation","textd4b9b4f729f6":"Queued session creation","text1862d48f5fb6":"Ran free-tier credit rotation","text2f117e01e356":"Ran yearly credit rotation","text83ab3fb9b2a2":"Rate-limited session audit events","text689b17c24936":"Reactivated subscription","textedd7314bf11c":"Received AgentMail inbound email","text9cb53a5e9417":"Received Daytona sandbox lifecycle event","text0d6af7d6f1f4":"Received Pipedream connection webhook","text16fc1646649f":"Received Platinum sandbox lifecycle event","text195566b17137":"Received Slack event","text3d6839e05f1c":"Received Slack interaction","text2e127587948f":"Received Slack slash command","textccb0e2949046":"Received Teams activity","textd5e87bd9a846":"Received Telegram update","text4f30eda4ac4e":"Received auth email hook","text6596ed143650":"Received custom Slack app event","textd5361e2d3e33":"Received custom Slack app interaction","text492e0aedc51e":"Received custom Slack app slash command","text563070491bfb":"Received custom Teams app activity","textc14c354b1d63":"Received trigger webhook","text6abf2a1e941f":"Recorded Enterprise preview override","text3c808bd3cf85":"Recorded LLM gateway trace","textd6074cb2b29e":"Recorded LLM gateway usage","texte0fdc0986821":"Recorded LLM usage","textd7e9422246ca":"Recorded agent runtime event","text24bd93cb9282":"Recorded sandbox boot timeline","text8124518133b5":"Recorded session creation","text5b075f5d4491":"Refreshed a sign-in session","text7e2c4b63962f":"Refreshed secret credential","textaa64846a875f":"Refused secret handle","texta1be9680baf2":"Registered Kortix App artifact","text288462ff34c2":"Registered computer tunnel","textc593b818c022":"Registered connector OAuth client","text2249a97ae6ed":"Rejected project access request","textbdc773ad4cf8":"Removed a second factor","text43e76f8f35f2":"Removed branding asset","text7bfda661e6d7":"Removed connector credential","text0cdf4618d3b8":"Removed marketplace source","text5f45ab4ba3ad":"Removed personal secret","textcfcf8f2e1a70":"Removed shared secret","textcc81b5d3166b":"Renamed account","text449bd7bd948b":"Renamed connector","text4845af2d1d9d":"Reopened change request","textbe7c7529373c":"Replaced project Git repository","text4b0a3ec6fe29":"Requested API prewarm","text4e8219612784":"Requested a secret that is not set","texte81bba2f599f":"Requested account deletion","textf7d87b911d3e":"Requested changes on change request","text14203559e8b0":"Requested computer tunnel device authorization","text29d0145bfa05":"Requested connector call","text4326020d366a":"Requested early access","textc4ab2a357a02":"Requested project snapshot download","text674657e62de6":"Requested secret broker call","text1197571c7458":"Requested unknown API route","text708abfec4a05":"Resent account invitation","text7d0dac819830":"Resent pending project invitation","textea823179a6b6":"Reset branding","text357c7dbcfe2a":"Resolved LLM gateway model catalog","text62a83d26917d":"Resolved LLM model routing","textaf9f7aec2335":"Resolved LLM upstream provider","text8cd28e4e1786":"Resolved connector approval","texta6878b7e3fd4":"Resolved review item","text0b0166d82d91":"Resolved review items in bulk","text0d5e651911b7":"Restarted session","text60954a626cee":"Revoked LLM gateway key","text32c1477a3336":"Revoked computer tunnel permission","text953488439740":"Revoked connector account","text538cb0effaea":"Revoked personal access token","text74be1c139903":"Revoked pooled provider key grant","text6d3935be0516":"Revoked project CLI token","text8c30281f0853":"Revoked public share link","textfecea77be384":"Revoked resource access","texte00a1b24529f":"Revoked sandbox port share link","text10231511b32b":"Revoked sign-in session","textf314e06a9c1f":"Rolled back Kortix App","text985cdb8795dc":"Rotated computer tunnel setup token","text4b37551f0fd8":"Rotated pooled provider key","text293a83c73cac":"Saved secrets via setup link","text057dd4ebc03a":"Scheduled plan downgrade","text339fc4766ad6":"Sent Microsoft Teams message","text94885cfd8efd":"Sent operation to computer tunnel","text2a7c9fb85462":"Sent request via secret broker","textc5579da0c3ba":"Set LLM gateway budget","text1acac510dd55":"Set connector credential","text724364ae40e3":"Set connector sensitive flag","text8683950d26a1":"Set default connector account","textaada5aeaaa50":"Set personal secret","textbc023fc623a3":"Set pooled provider key access","textac7fd4684634":"Set project Git credential","text520f1939d072":"Set session prompt queue hold","texte96d5cb5ca5c":"Started Kortix App","text3a901cd3df48":"Started a second-factor challenge","textae4e5233d35d":"Started an SSO sign-in","text894880678142":"Started connector OAuth authorization","textb33d526931e7":"Started connector account connection","textca70ebbe58d9":"Started connector device authorization","text75373505ca6e":"Started connector setup-link authorization","text07ababcdbbb6":"Started credit purchase checkout","text1bee9641b31a":"Started easy-connect authorization","textb0f59e5a2722":"Started model provider OAuth login","text0dd455816ef6":"Started sandbox snapshot rebuild","text40cef5fd1dbd":"Started sandbox template build","text09917783e494":"Started session environment","text18065b39fc81":"Stopped Kortix App","textb88830cc18af":"Stopped session environment","text464b0b69fd48":"Streamed computer tunnel events","text970caaaceccc":"Streamed request via secret relay","text64a93d38e11a":"Streamed secret relay response","textd4dd07d66bf2":"Streamed session events","text8d561ee63e97":"Submitted demo request","text5ba726e28aa7":"Submitted review item","texta8c3d047a0ce":"Suppressed anonymous audit rows","textbbead2370eca":"Synced secrets to active sandboxes","textdf6b8288d572":"Synced session runtime projection","texta6f4480a9a84":"Synchronized connectors","text2ffa12a23b19":"Synchronized seat quantity","text95e5dd85ed41":"Synchronized subscription","text11639f44ed59":"Updated IAM role","text5a796e28a7ed":"Updated Kortix App","text231171289370":"Updated Kortix App access policy","text4e41a9b5a888":"Updated SCIM user","text84f8c06a0f72":"Updated agent access scope","text5651d9d99c70":"Updated agent configuration","text3113031be1f2":"Updated agent message","text5789cf0c3ca7":"Updated agent tool call","text3087a87bcab6":"Updated branding","text6af37bd19e38":"Updated change request","text2b9bd094111a":"Updated channel binding","text44f9dcf6df49":"Updated computer tunnel","textc6ffca8f70d0":"Updated connector OAuth application","text13661603db30":"Updated connector account credential","text16642dd2c9cd":"Updated connector authorization strategy","texte98a4478bd42":"Updated connector credential mode","text909bcf03c047":"Updated connector policies","textc18233e52d32":"Updated default agent","textdbace5807a96":"Updated email sender policy","textdaa04be449df":"Updated gateway routing policy","text2c4f929719f6":"Updated maintenance config","texta25b1fec6812":"Updated model access","text808876588849":"Updated model defaults","text363cbbcc57d0":"Updated model picker visibility","textff8a388cf7de":"Updated profile","text07115e4d1f59":"Updated project connector policies","text2500971fff63":"Updated project feature flag","textae99e26d4d61":"Updated project onboarding","text9be390a3b24c":"Updated sandbox provider","text75a81b8d6b89":"Updated sandbox provider distribution","text578200c535d3":"Updated sandbox provider fallback","textf10ffe9fbaf0":"Updated sandbox template","text7cf953b4151e":"Updated secret","text8f7236dd6450":"Updated session provider secret pool","texta051aa9c5b88":"Updated session scope","text759bdc80c971":"Updated session sharing","textcb1807c75383":"Updated setup wizard step","textc931d7b5a9c8":"Uploaded branding asset","textab08f5e3bc80":"Uploaded connector attachment","text7e6882ec7c45":"Uploaded file to Microsoft Teams","text6d8e9f244ef1":"Uploaded file to Slack","texta795c9843932":"Uploaded session attachment","text6e5b75194f1c":"Used secret","textb2a98c524bc8":"Validated project manifest","text96243e729e56":"Verified LLM provider key","text89e1c3233e6c":"Verified a second factor","text0afc5693a789":"Viewed API reference docs","text07f3708e5ec6":"Viewed Git commit","text46ce9d0bc781":"Viewed Git commit diff","text82ebb6a7a411":"Viewed Git connection status","text3296b2c12d65":"Viewed IAM role permissions","text4aae58647c8e":"Viewed IAM role usage","text4150abdd6df8":"Viewed Kortix App","text9c9027798e45":"Viewed Kortix App access policy","text7a84bdb22767":"Viewed Kortix App deployment","text2d430c4c81a2":"Viewed Kortix App deployment logs","textea0b84c2ddf0":"Viewed Kortix system skill","text16faff6ae525":"Viewed Kortix system skill file","text04a6fbab3598":"Viewed LLM catalog","texta6607ddc68cd":"Viewed LLM gateway daily usage","text004399bffcaa":"Viewed LLM gateway request log","text05242bd46497":"Viewed LLM gateway usage by model","texta8c11e17268f":"Viewed LLM gateway usage overview","text3d765c993280":"Viewed LLM generation details","textcc2b3ee3c617":"Viewed Microsoft Teams app manifest","text6f84d89a853e":"Viewed Microsoft Teams installation","textcbc380249670":"Viewed Microsoft Teams setup options","textb2bcc9131fc9":"Viewed OAuth consent request","textd4aa32e9c446":"Viewed PAT policy","textea94eca5eb5a":"Viewed SCIM group","text25ac25efec90":"Viewed SCIM schema","text1d80484d1bd6":"Viewed SCIM service provider config","text0e765caa63dd":"Viewed SCIM user","text8b213d3f4eb1":"Viewed SSO provider","text9c67073a3f48":"Viewed Slack installation","text27a52aa6ba98":"Viewed Slack setup options","text42d38908b4b3":"Viewed account","textd0774936a6f1":"Viewed account Stripe subscription","textc4bf67a12602":"Viewed account credit ledger","text2ef3c48ad9e4":"Viewed account deletion status","text92a43903369a":"Viewed account invitation","textd1e203545619":"Viewed account usage rollup","textc08317c05db6":"Viewed agent configuration","texta5385cca6931":"Viewed approval link","text313c8c654a7d":"Viewed auto top-up settings","text13487d85e3a0":"Viewed auto top-up setup status","text733199d56c89":"Viewed branding","textf646b7d3d554":"Viewed change request","text00ebe407559d":"Viewed change request diff","text4c0a44608d60":"Viewed checkout session","text116b9a398f95":"Viewed computer tunnel","text065d58535cb5":"Viewed computer tunnel audit log","text039c2a8e3398":"Viewed computer tunnel device authorization","text04a38b3cacca":"Viewed connector OAuth application","textd605cdbaac9b":"Viewed connector OAuth status","text2c5cfcddd9c4":"Viewed connector configuration","text4f2bf49f25e9":"Viewed credit breakdown","text77e6a394ddde":"Viewed credit usage","textfa0ec75cf63f":"Viewed credit usage history","texta90e1d66dd9d":"Viewed custom Slack app manifest","texta63441b4ab9e":"Viewed discovery catalog connector","textd753f28e09e6":"Viewed easy-connect status","text5fff05b2fa01":"Viewed email installation","text4b2d9a2424e2":"Viewed email setup options","text0751c5d4ea15":"Viewed file history","text28dca5394ed7":"Viewed gateway routing policy","textb21fffdeac1b":"Viewed group","text837f723e8d13":"Viewed instance Git backend","textfc7a3b40ccfa":"Viewed instance GitHub status","text7d4756822fbd":"Viewed instance install status","textc6cbe6dce873":"Viewed instance system status","text5d93f9a081c9":"Viewed latest sandbox version","textece32cc6d946":"Viewed maintenance config","text3394d3b58f4d":"Viewed managed Git status","text24c56a94ea25":"Viewed marketplace item","textd4c38f66e4af":"Viewed marketplace item file","text33eec0459cbf":"Viewed model access","text481ad7b3c1a2":"Viewed model defaults","text5a7430fc2ce9":"Viewed model picker","textd3613a962866":"Viewed own identity","text61cdd65ae6fa":"Viewed own platform role","text97f1931b0eff":"Viewed platform activity analytics","texta1e222938971":"Viewed platform credit burn analytics","textc8af7ae9f68f":"Viewed platform operations overview","textc7a91085dba5":"Viewed platform service info","text4354dda676f1":"Viewed project","texteeef0cf72300":"Viewed project group grants","text1cd80c9ce9ef":"Viewed project member access","text6e31156605f5":"Viewed project migration eligibility","text835b6f8f8b34":"Viewed project migration status","text2ca78d1d17bd":"Viewed public share link","text7be0c7dba17e":"Viewed publicly shared session","text5e53cc846f2d":"Viewed resource access grants","text2a772aa36a51":"Viewed review item","text0a1feab22faf":"Viewed router model","text8d3fccbadbd4":"Viewed running sandbox version","text2a986688cb84":"Viewed sandbox changelog","text780c07e03bfe":"Viewed sandbox health","textc61106fb051e":"Viewed sandbox preview URL template","text85bd63b60a1a":"Viewed sandbox provider analytics","text5d8987933cf0":"Viewed sandbox provider distribution","text52e751d9bfca":"Viewed sandbox provider fallback","text5ed3e15fac9f":"Viewed sandbox provider transition","text70a61d85334a":"Viewed session","textd7aa05eaf609":"Viewed session cost ledger","text4e22b3354b8f":"Viewed session environment","text48b65bbc9863":"Viewed session policy","text7c649f4bf685":"Viewed session provider secret pool","text3fd349f95ce2":"Viewed session scope","texte70edc6194ea":"Viewed setup wizard status","textd9391d4f76e8":"Viewed setup wizard step","text5377adb59e2e":"Viewed shared session file","textff6c0b2c730d":"Viewed signup status","text2afef4702cc0":"Viewed system status banner","textbda3fcd4343c":"Viewed tier configurations","text30cef615e8e3":"Viewed transaction summary","textd2c6127fc332":"Viewed version diff","text8cc0d84b66bb":"Previewed Slack identity link","text508b43cc4545":"Previewed Teams identity link","text467f597e95b0":"Verified SSO domain","text8295f9d4861b":"Set account SSO domain verification","text7beaff63a7d3":"Downloaded project config archive","text5176d59f25fd":"Resolved session config release"},"publicShareConfirm":{"title":"Create a public link?","description":"Anyone with the link can view this without signing in. The link stays active until you revoke it.","confirm":"Create link"},"chatIdentityConnect":{"chatAccount":"{service} account","chatWorkspace":"{service} workspace","checking":"Checking link…"},"channelInstall":{"failedTitle":"{service} was not connected","mismatch":"This install was started from another Kortix account or for another project. Sign in with that account, or start the install again from the project.","expired":"This install link is invalid or has expired. Start the install again from the project.","failed":"The install could not be finished. Start it again from the project.","backToProject":"Back to the project"},"secretIntakeWithheld":{"title":"Saved, but {agent} can't read it yet","grant":"{names} {count, plural, one {is} other {are}} not in the {agent} agent's secrets. Open Customize → Agents → {agent} → Secrets and enable {count, plural, one {it} other {them}}.","allowlist":"{names} {count, plural, one {is} other {are}} outside this session's secrets. Start a new session to use {count, plural, one {it} other {them}}."}},"projectOnboarding":{"resetSuccess":"Onboarding reset","back":"Back","skip":"Skip","skipForNow":"Skip for now","progress":"Setup progress","demo":{"title":"Book a 20-minute setup call","description":"A couple of focused minutes with the team to get your command center dialed in."},"kickoff":{"tools":" I connected these tools too: {count}. Use them if they help.","noDomain":"I finished setting up my project.{toolsClause} Introduce yourself, explain what you can do, and ask what I need help with first.","withDomain":"I finished setting up my project for {domain}. Research the company and tell me what you find.{toolsClause} Then ask what I need help with first."},"company":{"title":"Tell us about your company","description":"Your agent uses the domain to research your own company. Nothing is shared publicly.","continue":"Continue","skipSurvey":"Skip survey","domain":"Company domain","invalidDomain":"Enter a valid link like acme.com or https://acme.com"},"tools":{"title":"Connect your tools","description":"Pick the apps you live in and authorize them right here. Your agent can read, write, and act across everything you connect.","continue":"Continue","skipForNow":"Skip for now","searchPlaceholder":"Search 3,000+ apps…","notConfiguredTitle":"App connect isn’t configured on this deployment","notConfiguredDescription":"You can still continue and connect tools later from Connectors.","noMatches":"Nothing matches “{query}”.","trySearch":"Try a search.","addConnection":"Add a {app} connection","connected":"Connected","loadMore":"Load more","addApp":"Add {app}","appFallback":"app","connectionDescription":"Create a connector connection before authorization. You can add more than one connection for the same app.","categories":{"email":"Email","aiAgents":"AI agents","developerTools":"Developer tools","scheduling":"Scheduling and booking","notes":"Notes","spreadsheets":"Spreadsheets","artificialIntelligence":"Artificial intelligence","socialMedia":"Social media","fileStorage":"File management and storage","documents":"Documents","crm":"CRM","projectManagement":"Project management","productivity":"Productivity","analytics":"Analytics","webScraping":"AI web scraping","videoAudio":"Video and audio","teamChat":"Team chat","onlineCourses":"Online courses","taskManagement":"Task management","design":"Images and design","databases":"Databases","newsLifestyle":"News and lifestyle","ecommerce":"E-commerce","signatures":"Signatures"}},"slack":{"title":"Add Kortix to Slack","description":"This is where most teams actually use Kortix — @mention your agent, kick off tasks, get results in the channel.","continue":"Continue","notNow":"Not now","connected":"Connected to Slack","installMethod":"Slack install method","add":"Add to Slack","addDescription":"One click, nothing to configure","custom":"Use a custom Slack app","customDescription":"For self-hosted workspaces, or when managed install is unavailable","waiting":"Waiting for approval in Slack…","waitingDescription":"Complete the install in the Slack popup. Kortix checks the connection every 2.5 seconds.","bringOwn":"Bring your own Slack app","bringOwnDescription":"For self-hosted setups or workspace-scoped installs.","closeCustom":"Close custom Slack app setup"},"plan":{"title":"How do you want to power your agent?","descriptionConnected":"A model is already connected, so you’re good to go. Add another provider or upgrade if you want more.","descriptionDisconnected":"Your agent needs a model to think with. Nothing happens until you continue.","seePlans":"See plans","addKey":"Add a key","continue":"Continue","modelAccess":"Model access","useKortix":"Use Kortix models","useKortixDescription":"Instant access, higher limits, nothing to configure","connectAnother":"Connect another provider","bringKey":"Bring your own API key","providerDescription":"Anthropic, OpenAI, or any other provider","keepCurrent":"Keep what I have","decideLater":"Decide later","keepCurrentDescription":"Carry on with the model that’s already connected","decideLaterDescription":"The composer will ask the first time you send a task"},"done":{"title":"Your command center is live","descriptionWithTools":"{count} tools connected. Opening starts your first conversation with Kortix.","description":"Opening starts your first conversation with Kortix.","openProject":"Open project","firstMessage":"Your first message","bookCall":"Book a 20-minute setup call with Marko"}},"commandPalette":{"title":"Command Palette","description":"Search for a command to run...","copyTitle":"Copy","copyEmail":"email","copyUserId":"user ID","copyAccountId":"account ID","copyProjectId":"project ID","copySessionId":"session ID","copySessionLink":"session link","copyAction":"Copy {label}","copied":"Copied {label}","copyFailed":"Could not copy to the clipboard"},"personalWelcome":{"dismiss":"Dismiss","emailCopied":"Email address copied"},"starterPrompts":{"items":{"company-memory":{"label":"Onboard your agent","prompt":"Onboard me. Ask about my company — what we do, who our customers are, who's on the team, our products, our top priorities. Save what you learn into project memory so you remember it in every future session, and open a change request when you're done so I can review."},"agent-create":{"label":"Create an agent","prompt":"Create a specialist agent for a job my company does often. Write its prompt into `.kortix/opencode/agents/`, give it only the grants it actually needs in `kortix.yaml`, and open a change request so I can read it before it goes live. Pick the job that would save me the most time and tell me why you picked it."},"agent-team":{"label":"Build me a team of agents","prompt":"Design a small team of agents for my company — three or four specialists, each with a narrow job and a narrow grant — and explain how they hand work to each other. Write them up and open one change request with the lot."},"skill-write":{"label":"Write a skill","prompt":"Turn something my company does the same way every time into a skill under `.kortix/opencode/skills/`, so every future session already knows how. Pick the highest-value one, write it properly with the steps and the gotchas, and open a change request."},"skill-from-runbook":{"label":"Turn a habit into a skill","prompt":"I keep explaining the same process to you. Write it down as a reusable skill with the steps, the inputs, and what good output looks like, then open a change request. Ask me which process in one line if you cannot tell from memory."},"agent-review":{"label":"Review my agents","prompt":"Read every agent in this project — its prompt and its grants — and tell me which ones are vague, which are over-permissioned, and which overlap. Propose the fixes as one change request."},"grants-audit":{"label":"Audit what agents can reach","prompt":"Audit `kortix.yaml`: for each agent, list the connectors, secrets and skills it can reach, and flag anything granted `all` that does not need it. Propose a tighter set as a change request."},"trigger-daily":{"label":"Schedule a daily briefing","prompt":"Set up a cron trigger that runs every weekday morning, gathers what changed in this project, and writes me a short briefing. Add it to `kortix.yaml`, keep it disabled, and tell me the one line to flip when I want it on."},"trigger-weekly":{"label":"Schedule a weekly report","prompt":"Set up a weekly cron trigger that produces the report I would otherwise write by hand on Friday. Add it to `kortix.yaml` disabled, and show me exactly what it would have produced this week."},"trigger-webhook":{"label":"Fire work from a webhook","prompt":"Set up a signed webhook trigger so another system can start work here. Add it to `kortix.yaml`, tell me the URL and which secret holds the signing key, and write the prompt it fires."},"connector-setup":{"label":"Connect a tool I use","prompt":"Tell me which connector is worth setting up first for a company like mine, what it would let you actually do once it is connected, and what you would need me to approve."},"memory-curate":{"label":"Tidy up project memory","prompt":"Read project memory, find what is stale, duplicated or vague, and rewrite it so a fresh session gets the truth in one pass. Open a change request with the diff."},"memory-gaps":{"label":"Find your blind spots","prompt":"Look at project memory and tell me the ten things you would need to know to do my job well but currently do not. Ask them as one numbered list I can answer in a single reply."},"harness-improve":{"label":"Improve yourself","prompt":"Look at what recent sessions in this project actually did, find where you got stuck or repeated work, and refine the prompts, skills and memory that caused it. Open one change request titled `harness: …`."},"cr-open":{"label":"Open your first change request","prompt":"Pick the most useful improvement you can make to this project right now, make it, and open a change request explaining what you changed and why. Keep it small enough that I can review it in two minutes."},"repo-tour":{"label":"Explain my own repo to me","prompt":"Walk me through this project as it stands — what is configured, which agents exist, what is connected, what is empty — and tell me the three things worth setting up next."},"agent-onboarder":{"label":"Make an onboarding agent","prompt":"Create an agent whose job is onboarding new people at my company: it answers their questions from memory, points them at the right docs, and flags what it could not answer. Open a change request."},"agent-watcher":{"label":"Make a competitor watcher","prompt":"Create an agent plus a weekly trigger that watches our competitors and tells me only what actually changed. Add both to the repo disabled, and show me a sample of this week's output."},"agent-inbox":{"label":"Make an inbox triager","prompt":"Create an agent that triages an inbox — sorts what needs me, what needs a reply, and what can wait — and writes a short summary. Open a change request with the agent and its grants."},"csv-dashboard":{"label":"Turn a CSV into a dashboard","prompt":"I am attaching a raw CSV. Build me a real dashboard from it — the charts that actually explain the data, on a page I can open — and send me the URL. If nothing is attached, tell me in one line instead of waiting."},"csv-charts":{"label":"Chart this CSV properly","prompt":"I am attaching a CSV. Pick the right chart for each question the data answers, build them, and caption each one with what it shows. No pie charts unless a pie chart is genuinely right."},"spreadsheet-analysis":{"label":"Make sense of a spreadsheet","prompt":"Read the spreadsheet I have attached, find the patterns and the outliers, and write me a short summary of what I should actually do about them. If nothing is attached, tell me in one line instead of waiting."},"metrics-dashboard":{"label":"Build a metrics dashboard","prompt":"Build me a live dashboard of the numbers a company like mine watches weekly, as a working web app, and send me the URL. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"kpi-wall":{"label":"Build a KPI wall","prompt":"Build me a single page that shows whether the company is on track — the five numbers that matter, each with its target and its trend. Working web app, send me the URL."},"sheet-to-app":{"label":"Turn a sheet into an app","prompt":"I am attaching a spreadsheet my team edits by hand. Turn it into a proper web app with a form and a table so nobody breaks it again, and send me the URL."},"crm-lite":{"label":"Build a lightweight CRM","prompt":"Build me a lightweight CRM as a working web app — companies, contacts, deal stage, next action — seeded with a few realistic rows so I can see it working. Send me the URL."},"task-board":{"label":"Build a task board","prompt":"Build me a task board as a working web app — columns, drag between them, and it remembers what I did. Send me the URL."},"intake-form":{"label":"Build an intake form","prompt":"Build me an intake form as a working web app — the questions a new client should answer before a first call — with the answers saved where I can read them. Send me the URL."},"pricing-calculator":{"label":"Build a pricing calculator","prompt":"Build me a pricing calculator as a working web app so a prospect can estimate what they would pay, and send me the URL. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"feedback-board":{"label":"Build a feedback board","prompt":"Build me a customer feedback board as a working web app — submit an idea, upvote, a status on each — and send me the URL."},"inventory-tracker":{"label":"Build an inventory tracker","prompt":"Build me an inventory tracker as a working web app — items, counts, low-stock warnings — and send me the URL."},"status-page":{"label":"Build a status page","prompt":"Build me a status page as a working web app — components, current state, an incident history — and send me the URL."},"clean-data":{"label":"Clean up my data","prompt":"I am attaching a messy spreadsheet. Clean it — consistent columns, fixed dates, trimmed text, no duplicates — and give me a change log of everything you altered."},"runway":{"label":"Work out my runway","prompt":"I am attaching our numbers. Work out our burn rate and how many months of runway we have, show the working so I can argue with it, and tell me the two levers that move it most."},"budget-variance":{"label":"Compare budget to actual","prompt":"I am attaching our budget and our actuals. Show me where we are over and under, rank the gaps by size, and tell me which ones are worth acting on."},"cashflow-forecast":{"label":"Forecast our cash","prompt":"I am attaching our transactions. Build a cash-flow forecast for the next six months, be explicit about what it assumes, and flag the month we get tight."},"unit-economics":{"label":"Work out unit economics","prompt":"Work out what one customer actually costs us and what they are worth — acquisition, delivery, support, retention — and tell me which number to fix first. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"pricing-model":{"label":"Model a price change","prompt":"Model what happens if we change our pricing — the packaging, the per-seat maths, and the revenue effect at three adoption levels. Give me the spreadsheet and a one-paragraph recommendation."},"invoice-reconcile":{"label":"Reconcile my invoices","prompt":"I am attaching invoices and a bank export. Match them up, list what is unmatched in both directions, and tell me what looks like a duplicate charge."},"expense-categorise":{"label":"Categorise our spend","prompt":"I am attaching our expenses. Categorise them, break the spend down by category and by month, find what is growing fastest, and name the three I should cut first."},"subscription-audit":{"label":"Find wasted spend","prompt":"I am attaching our card statements. Find every recurring charge, flag the ones that look unused or duplicated, and total what cancelling them would save per year."},"ar-chase":{"label":"Chase unpaid invoices","prompt":"I am attaching our receivables. Work out who owes what and how late, then draft the chase email for each one — firm, not rude — ordered by how much is at stake."},"financial-model":{"label":"Build a financial model","prompt":"Build me a simple financial model — revenue, costs, cash, runway — driven off an assumptions tab I can change, with a chart of cash over time. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"cohort-revenue":{"label":"Analyse revenue cohorts","prompt":"I am attaching customer revenue data. Build a cohort analysis, tell me in one paragraph whether retention is improving, and show which cohort changed."},"headcount-cost":{"label":"Plan hiring costs","prompt":"Build me a hiring plan as a spreadsheet — role, when, fully loaded cost, and what it unlocks — totalled by month against our runway."},"margin-analysis":{"label":"Find my best margins","prompt":"I am attaching sales data. Work out margin by product, customer and channel, and tell me what we should be selling more of and what is quietly losing money."},"board-metrics":{"label":"Build the board metrics pack","prompt":"Build the numbers pack a board expects — growth, burn, runway, retention, pipeline — as charts with a one-line read on each. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"pitch-deck":{"label":"Build a deck","prompt":"Build me a 10-slide deck introducing my company: what we do, who it is for, the problem, how it works, and why now. Write the words and design the slides — do not hand me an outline. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"deck-from-doc":{"label":"Turn a doc into a deck","prompt":"I am attaching a document. Turn it into a deck that stands up in a meeting — one idea per slide, speaker notes underneath — rather than pasting the paragraphs onto slides."},"investor-update":{"label":"Build an investor update","prompt":"Build me this month's investor update — highlights, metrics, lowlights, and what I need help with. Pull the numbers rather than asking me for them. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"board-deck":{"label":"Build a board deck","prompt":"Build me a board deck — where we are against plan, the three decisions I need from the board, and the risks I am not going to hide. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"sales-deck":{"label":"Build a sales deck","prompt":"Build me a sales deck for a first call — their problem, our answer, proof, and the next step — with speaker notes. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"data-slide":{"label":"Turn numbers into slides","prompt":"I am attaching data. Build the three slides that tell its story — one chart each, one sentence of takeaway each — ready to present."},"pdf-report":{"label":"Make a proper PDF report","prompt":"Take what we have been working on and lay it out as a real PDF report — cover, contents, page numbers, charts — that I can send to a client without editing it."},"proposal":{"label":"Write a proposal","prompt":"Write a client proposal — the problem as they described it, what we would do, the plan, and the price with the number left as a placeholder. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"one-pager":{"label":"Write a one-pager","prompt":"Write a one-pager on my company I can send before a meeting — what we do, who for, why it matters, what to do next. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"contract-explain":{"label":"Explain a contract","prompt":"I am attaching a contract. Explain it in plain language — the obligations, the money, the termination terms, the dates — then list the questions I should take to a lawyer. Do not tell me whether to sign."},"meeting-actions":{"label":"Turn notes into actions","prompt":"I am pasting my meeting notes next. Turn them into decisions, owners and dates, and tell me plainly what was left unresolved."},"weekly-report":{"label":"Write the weekly report","prompt":"Write this week's company report — what moved, what did not, and what I should worry about — pulling from the repo and memory rather than asking me."},"case-study":{"label":"Write a case study","prompt":"Write a customer case study — the situation, what changed, the result — using a codename if I have not given you a real customer. Publish it as a page and send me the URL."},"hard-email":{"label":"Write the hard email","prompt":"Help me write the email I have been putting off — a price rise, a delay, or bad news. Ask which one in a single line, then give me three versions from blunt to gentle."},"competitor-teardown":{"label":"Tear down a competitor","prompt":"Pick our closest competitor and take them apart: positioning, pricing, what they ship, what customers praise and complain about, and the two places we can beat them. Cite every source."},"pricing-benchmark":{"label":"Benchmark our pricing","prompt":"Research what comparable products charge, put it in one table with the packaging and the per-seat maths, and tell me where we sit and whether that is deliberate."},"lead-list":{"label":"Build me a lead list","prompt":"Build a list of 25 companies that fit our customer profile, with why each fits and the best person to reach. Spreadsheet, with sources."},"investor-list":{"label":"Build an investor list","prompt":"Build a list of investors who back companies like mine at our stage — fund, partner, a recent relevant cheque, and the warmest path in. Spreadsheet, with sources."},"market-sizing":{"label":"Size my market","prompt":"Size the market I am selling into, top down and bottom up, and show the working and the sources so I can argue with the numbers."},"review-mining":{"label":"Mine competitor reviews","prompt":"Read the public reviews of our competitors, pull out what people repeatedly praise and complain about, and turn it into the three things we should say on our site."},"industry-catchup":{"label":"Catch me up on my industry","prompt":"Catch me up on my industry over the last month — what shipped, who raised, what changed — then tell me which two items actually matter to us and why."},"keyword-research":{"label":"Find what buyers search","prompt":"Research what our buyers actually search for, group it by intent, and tell me the five pages worth writing first. Spreadsheet, with sources."},"buyer-research":{"label":"Research my buyers","prompt":"Research the people who buy products like mine — where they gather, what they complain about, and the words they use for the problem. Cite sources."},"regulation-scan":{"label":"Scan the rules that apply","prompt":"Research the rules and standards that apply to a company like mine, summarise what each asks for in plain language, and flag what I should take to a lawyer rather than act on."},"events-list":{"label":"Find events worth attending","prompt":"Find the conferences and meetups where our buyers actually are this year — date, place, cost, and whether it is worth it. Spreadsheet."},"landing-page":{"label":"Ship a landing page","prompt":"Build a landing page for my product and publish it. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me. Send me the live URL when it is up."},"pricing-page":{"label":"Ship a pricing page","prompt":"Write and publish a pricing page — the tiers, what is in each, and the objections the page has to answer. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"docs-site":{"label":"Publish a docs site","prompt":"Build and publish a small docs site for my product — getting started, the core concepts, and one how-to. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"changelog-page":{"label":"Publish a changelog","prompt":"Build and publish a changelog page, and write the recent entries from the history in this repo rather than asking me what shipped."},"comparison-page":{"label":"Ship a comparison page","prompt":"Build and publish an honest comparison between us and our closest alternative — where each one wins. Research the other side rather than inventing it."},"seo-pass":{"label":"Do an SEO pass","prompt":"Audit my site for SEO — titles, descriptions, headings, alt text, internal links, sitemap — fix what you can, and list what needs a decision from me."},"homepage-rewrite":{"label":"Rewrite my homepage","prompt":"Rewrite my homepage so the first screen says what we do, who it is for, and what to do next. Publish it and show me the before and after side by side."},"waitlist-page":{"label":"Put up a waitlist page","prompt":"Build and publish a waitlist page for something I am about to launch — a headline, the promise, one email capture. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"blog-post":{"label":"Write and publish a post","prompt":"Write a post about something my company actually knows, publish it to our site, and send me the URL. Pick the topic that would be most useful to our buyers and say why."},"faq-page":{"label":"Write an FAQ page","prompt":"Write and publish an FAQ answering the ten questions a first-time buyer actually asks. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"careers-page":{"label":"Put up a careers page","prompt":"Build and publish a careers page — how we work, what we are hiring for, how to apply. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"storefront-copy":{"label":"Write our listing copy","prompt":"Write our listing copy for a marketplace or app store — the title, the short pitch, the long description, and the screenshots I should take."},"cold-email":{"label":"Write a cold email sequence","prompt":"Write a four-email cold sequence to our ideal customer — short, specific, no flattery — and say what each one is meant to do."},"launch-announcement":{"label":"Write a launch announcement","prompt":"Write the launch announcement for our next release in three lengths — a post, an email, and one line — all saying the same thing."},"newsletter":{"label":"Draft the newsletter","prompt":"Draft this month's customer newsletter — what shipped, what we learned, and one useful thing they can act on."},"social-calendar":{"label":"Plan a content calendar","prompt":"Plan a month of content — theme, piece, channel, date — as a spreadsheet I can hand to someone."},"linkedin-posts":{"label":"Write a week of posts","prompt":"Write a week of posts about what we are building — one idea each, written like a person, no engagement bait."},"positioning":{"label":"Sharpen our positioning","prompt":"Write our positioning: the category, who it is for, the alternative, and the one thing we do better. Give me three options, recommend one, and say why."},"icp-definition":{"label":"Define our ideal customer","prompt":"Write down who we are actually for — the company, the person, the trigger that makes them look — and who we should say no to."},"objection-handling":{"label":"Answer our objections","prompt":"List the objections we get in sales and write the honest answer to each — not a deflection."},"win-loss":{"label":"Analyse wins and losses","prompt":"I am attaching our recent deals. Find the patterns in what we win and lose, and tell me the one change that would move the rate most."},"interview-guide":{"label":"Write customer questions","prompt":"Write the questions for a customer interview that would actually teach us something — open, not leading — plus what I am listening for in each answer."},"referral-program":{"label":"Design a referral program","prompt":"Design a referral program for my product — the incentive, the mechanics, the wording — and tell me how it could be abused."},"brand-voice":{"label":"Write our voice guide","prompt":"Write our brand voice guide — how we sound, how we do not — with before-and-after rewrites of real copy from our site."},"code-review":{"label":"Review my code","prompt":"Review the code in this repo the way a senior engineer would — correctness first, then clarity. Give me a prioritised list, worst first, and open a change request for the fixes you are confident about."},"write-tests":{"label":"Write the missing tests","prompt":"Find the code in this repo that would hurt most if it broke and has no test, write the tests, and open a change request. Tell me what you deliberately did not cover and why."},"fix-bug":{"label":"Fix a bug I describe","prompt":"I am going to describe a bug. Reproduce it in this repo first, then fix the cause rather than the symptom, add a test that would have caught it, and open a change request."},"explain-codebase":{"label":"Explain this codebase","prompt":"Walk me through this codebase — what it does, how it is laid out, where the important logic lives, and the three things that would confuse a new engineer."},"refactor-file":{"label":"Clean up a messy file","prompt":"Find the file in this repo that is doing too much, split it along its real seams without changing behaviour, and open a change request. Prove behaviour is unchanged with the tests."},"deps-upgrade":{"label":"Upgrade my dependencies","prompt":"Check this repo's dependencies for outdated and vulnerable versions, upgrade what is safe, run the tests, and open a change request listing anything that needs a human decision."},"readme":{"label":"Write the README","prompt":"Write the README this repo should have — what it is, how to run it, how to work on it — from the code rather than from guesses. Open a change request."},"ci-setup":{"label":"Set up CI","prompt":"Set up continuous integration for this repo — install, typecheck, lint, test — so a change request tells me whether it is safe before I read it. Open it as a change request."},"api-client":{"label":"Write an API client","prompt":"Write a typed client for an API I need to call, with the error handling and retries already in it, plus a test against a recorded response. Ask which API in one line."},"security-review":{"label":"Review my code for risks","prompt":"Review this repo for the security mistakes that actually happen — secrets in source, unvalidated input, missing authorisation checks — and open a change request for what you can fix safely."},"perf-audit":{"label":"Find what is slow","prompt":"Find the slowest paths in this project, measure rather than guess, and tell me the one change that would help most. Show me the numbers before and after."},"error-handling":{"label":"Add proper error handling","prompt":"Find where this code fails silently or throws something a person cannot act on, fix it so every failure says what happened and what to do, and open a change request."},"db-migration":{"label":"Write a database migration","prompt":"Write the migration I need against this project's schema, with the rollback, and tell me what would happen to existing rows. Open a change request rather than running it."},"api-docs":{"label":"Document my API","prompt":"Document this project's API from the code — every route, its inputs, its responses, its errors — and publish it as a page I can send to someone."},"dead-code":{"label":"Find dead code","prompt":"Find the code in this repo nothing reaches any more, prove it with the import graph rather than by eye, and open a change request that deletes it."},"branch-explain":{"label":"Explain what changed","prompt":"Read the recent history of this repo and tell me what actually changed and why, in the order that makes sense to a person who was away."},"api-to-sheet":{"label":"Pull an API into a sheet","prompt":"Pull the data I need out of an API and keep it in a spreadsheet I can actually read. Ask which API in one line, then build it and show me the first pull."},"recurring-export":{"label":"Set up a recurring export","prompt":"Set up an export that runs on a schedule and drops the data where I need it, as a trigger in `kortix.yaml`. Show me one run's output before you leave it enabled."},"page-monitor":{"label":"Watch a page for changes","prompt":"Watch a page that matters to me and tell me only when something meaningful changes — not every whitespace edit. Set it up as a scheduled trigger and show me today's diff."},"scraper":{"label":"Build me a scraper","prompt":"Build a scraper for a site I name, put the results somewhere I can query, and be explicit about what it will do when the page structure changes."},"reconcile-systems":{"label":"Reconcile two systems","prompt":"I am attaching exports from two systems that should agree. Find every row where they do not, tell me which side looks wrong, and give me the list to fix."},"alert-threshold":{"label":"Alert me when a number moves","prompt":"Set up a check that watches a number I care about and tells me when it crosses a line I set — not a daily report I will stop reading. Add it as a trigger."},"form-to-sheet":{"label":"Pipe form replies into a sheet","prompt":"Take the replies from a form we already use and get them into a spreadsheet automatically, deduplicated and typed properly."},"digest-sources":{"label":"Digest my sources daily","prompt":"Pick the handful of sources I actually need to follow, and set up a daily trigger that reads them and sends me only what changed and why it matters."},"job-description":{"label":"Write a job description","prompt":"Write the job description for the role I most need to fill — what they will actually do in the first 90 days, not a wishlist of skills. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"cv-screen":{"label":"Screen CVs for me","prompt":"I am attaching CVs and the role. Score each against what the job actually needs, rank them, and tell me plainly which two I should talk to and why."},"interview-plan":{"label":"Plan an interview loop","prompt":"Design the interview loop for a role — who asks what, in what order, and what each stage is trying to find out. Include the questions."},"role-scorecard":{"label":"Write a role scorecard","prompt":"Write a scorecard for a role — the outcomes it owns, how we would know it is going well, and what failure looks like at 90 days. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"onboarding-plan":{"label":"Write a 30-60-90 plan","prompt":"Write a 30-60-90 day plan for someone joining my company — what they read, who they meet, and what they own by the end of each stage. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"team-handbook":{"label":"Write our team handbook","prompt":"Write the handbook a new person reads in week one — how we work, where things live, who to ask, what good looks like — from what is already in this repo and memory."},"reference-questions":{"label":"Write reference questions","prompt":"Write the reference-check questions that would actually tell me something — specific, hard to answer with a platitude — plus what a bad answer sounds like."},"comp-bands":{"label":"Draft compensation bands","prompt":"Research what people in our roles are paid in our market and draft honest salary bands with the reasoning. Cite your sources."},"review-template":{"label":"Write a review template","prompt":"Write the performance review template for my company — short, specific, about outcomes rather than personality — plus how to run the conversation."},"offer-letter":{"label":"Draft an offer letter","prompt":"Draft an offer letter for a role, leaving the numbers as placeholders, and flag which clauses a lawyer should look at rather than deciding them yourself."},"help-centre":{"label":"Build a help centre","prompt":"Build and publish a help centre for my product — the articles people actually need, written from what is in this repo — and send me the URL."},"canned-replies":{"label":"Write our canned replies","prompt":"Write the saved replies for the questions we answer over and over — helpful, human, and short enough that someone will actually use them."},"support-triage":{"label":"Triage my support backlog","prompt":"I am attaching our open tickets. Sort them into what needs me, what needs a reply, and what can be closed, and draft the replies for the second group."},"incident-note":{"label":"Write a customer incident note","prompt":"Something broke and I need to tell customers. Write the note — what happened, who it affected, what we are doing — honest, no hedging, no blame-shifting."},"faq-from-tickets":{"label":"Turn tickets into an FAQ","prompt":"I am attaching our support tickets. Find the questions that keep coming back, write the answers once, and publish them as an FAQ page."},"churn-analysis":{"label":"Work out why people leave","prompt":"I am attaching our churn data and any cancellation reasons. Find the real patterns, separate them from the noise, and tell me the one thing worth fixing first."},"nps-analysis":{"label":"Read our customer feedback","prompt":"I am attaching customer feedback. Group it by theme, tell me what people love and what they keep asking for, and quote the lines worth putting on the wall."},"onboarding-emails":{"label":"Write onboarding emails","prompt":"Write the emails a new customer gets in their first two weeks — each one earning its place by teaching something, not by checking in. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"refund-policy":{"label":"Draft a refund policy","prompt":"Draft a refund policy that is fair and unambiguous, publish it, and flag anything a lawyer should review before it goes live."},"vendor-list":{"label":"List our vendors and renewals","prompt":"Work out every tool and vendor we pay for, what each costs, and when it renews. Put it in a spreadsheet and flag the renewals in the next 60 days."},"meeting-agenda":{"label":"Write the meeting agenda","prompt":"Write the agenda for a meeting I have coming up — the decisions to make, the material to read first, and a time budget per item."},"ops-review":{"label":"Run my weekly review","prompt":"Run my weekly review: pull what changed in this repo and in memory, tell me what moved, what slipped, and the three things worth my attention on Monday."},"process-map":{"label":"Map how our work flows","prompt":"Map how work actually flows through my company from request to delivered, name where it gets stuck, and propose the one change that would help most. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"okr-draft":{"label":"Draft this quarter goals","prompt":"Draft this quarter's goals — three objectives, measurable results under each, and what we are explicitly not doing. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"decision-log":{"label":"Start a decision log","prompt":"Read this repo's history and memory, reconstruct the decisions that were actually made and why, and write them into a decision log I can keep adding to."},"risk-register":{"label":"Build a risk register","prompt":"List what could realistically go wrong for a company like mine, rank by likelihood and damage, and name the cheapest thing that reduces each. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"asset-inventory":{"label":"Inventory our accounts","prompt":"Work out every account, domain and service this company depends on, who controls each, and what breaks if we lose access. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"sop-library":{"label":"Build our SOP library","prompt":"Turn the things my company does repeatedly into written procedures, organised so someone can find the right one in ten seconds. Start with the three highest-value ones."},"calendar-audit":{"label":"Audit where my time goes","prompt":"I am attaching my calendar export. Tell me where my time actually goes, which meetings have no clear output, and what I should cut or shorten."},"north-star":{"label":"Define our north-star metric","prompt":"Work out the one number that best tells us whether this company is working, argue for it against the two runners-up, and say how we would measure it. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"tracking-plan":{"label":"Write an event tracking plan","prompt":"Write the event tracking plan for my product — the events worth capturing, their properties, and the questions each one answers. Skip the ones nobody will query."},"ab-test-design":{"label":"Design an A/B test","prompt":"Design an experiment for a change I am considering — the hypothesis, the metric, the sample size, and how long it has to run to mean anything."},"experiment-analysis":{"label":"Analyse an experiment","prompt":"I am attaching experiment results. Tell me whether the difference is real, what it would be worth if we shipped it, and be honest if the answer is inconclusive."},"funnel-analysis":{"label":"Find where the funnel leaks","prompt":"I am attaching funnel data. Find the step where we lose the most people, quantify what fixing it is worth, and suggest what to try."},"retention-curve":{"label":"Chart our retention","prompt":"I am attaching usage data. Chart retention over time, tell me whether the curve flattens, and what that says about whether we have found product-market fit."},"segment-analysis":{"label":"Find our best customers","prompt":"I am attaching customer data. Work out which segment retains and pays best, and tell me what they have in common that we could target deliberately."},"dashboard-spec":{"label":"Decide what to measure","prompt":"Tell me which numbers this company should actually watch weekly and which are vanity, then build the dashboard for the survivors."},"brand-palette":{"label":"Pick a brand palette","prompt":"Put together a brand palette and type scale for my company — the colours, where each is used, and the contrast ratios — as a one-page reference I can hand to anyone."},"design-review":{"label":"Review my design","prompt":"Look at my site or product and review the design — hierarchy, spacing, type, colour, contrast. Give me a prioritised list, worst first, with what to change."},"logo-brief":{"label":"Write a logo brief","prompt":"Write the brief I would hand a designer for our logo — what the company is, the feeling, what to avoid, and three directions worth exploring. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"slide-template":{"label":"Design a slide template","prompt":"Design a reusable slide template for my company — title, section, content, metric and quote layouts — and save it so future decks start from it."},"social-templates":{"label":"Design social templates","prompt":"Design the image templates we reuse for social posts, in our own colours and type, and save them so they are one edit away from ready."},"email-template":{"label":"Design an email template","prompt":"Design the HTML email template we send from — readable on a phone, degrades gracefully, no images required to make sense — and save it in the repo."},"ui-audit":{"label":"Audit our UI consistency","prompt":"Go through our product and find where the same thing looks different in two places — buttons, spacing, wording, states — and list the fixes worst first."},"icon-set":{"label":"Pick an icon set","prompt":"Pick an icon set that fits our brand, explain why it fits, and show it applied to the ten places we most use icons."},"privacy-policy":{"label":"Draft a privacy policy","prompt":"Draft a privacy policy that describes what we actually do with data rather than boilerplate, and list every claim a lawyer needs to confirm before it goes live."},"terms-of-service":{"label":"Draft terms of service","prompt":"Draft terms of service for my product in plain language, and flag every clause that needs a lawyer rather than deciding it yourself."},"security-questionnaire":{"label":"Answer a security questionnaire","prompt":"I am attaching a security questionnaire from a customer. Draft honest answers from what is actually true of this project, and mark clearly every one I have to verify myself."},"dpa-checklist":{"label":"Check our data agreements","prompt":"List the data-processing agreements a company like mine typically needs, what each one covers, and which ones we appear to be missing. Flag what to take to a lawyer."},"sow-draft":{"label":"Draft a scope of work","prompt":"Draft a scope of work — deliverables, milestones, what is out of scope, and what I need from the client. Flag anything a lawyer should look at. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."},"nda-explain":{"label":"Explain an NDA","prompt":"I am attaching an NDA. Tell me in plain language what I would be agreeing to, what is unusual about it, and the questions to ask before signing. Do not tell me whether to sign."},"plan-week":{"label":"Plan my week","prompt":"Look at what is actually going on in this project and plan my week — what matters, what can wait, and what I should say no to. Be opinionated."},"meeting-prep":{"label":"Prep me for a meeting","prompt":"I have a meeting coming up. Research who I am meeting, pull what we already know about them from memory, and give me a one-page brief with the three questions to ask."},"catch-up":{"label":"Tell me what I missed","prompt":"I have been away. Tell me what happened in this project while I was gone, what needs a decision from me, and what is on fire — in that order."},"draft-replies":{"label":"Draft my replies","prompt":"I am attaching messages I owe replies to. Draft each one in my voice, shortest acceptable version first, and flag the two I should handle personally."},"summarise-thread":{"label":"Summarise a long thread","prompt":"I am attaching a long thread. Tell me what was actually agreed, what is still open, and what I owe someone — and skip the small talk."},"daily-standup":{"label":"Write my standup","prompt":"Read what actually changed in this project since yesterday and write my standup from the evidence — done, doing, blocked — rather than asking me."},"follow-ups":{"label":"Chase my follow-ups","prompt":"Go through recent sessions and memory, find everything I said I would do and have not, and give me the list in the order I should clear it."},"reading-digest":{"label":"Digest what I saved","prompt":"I am attaching links and documents I saved and never read. Read them for me, tell me which two were worth it, and summarise those properly."},"explain-concept":{"label":"Explain this to my team","prompt":"Explain something technical to my team in language they will actually follow — no jargon, one worked example, and the two things people usually get wrong. Ask me the topic in one line."},"training-course":{"label":"Build a training course","prompt":"Build a short course that teaches someone to do one job at my company end to end — the lessons, the exercises, and how they know they have got it. Pick the job that would help most."},"glossary":{"label":"Write our glossary","prompt":"Write the glossary of terms my company uses — including the ones we use differently from everyone else — from what is already in this repo and memory."},"how-to-guide":{"label":"Write a how-to guide","prompt":"Write the how-to guide for the thing people keep asking me to explain, with screenshots or commands where they help. Publish it and send me the URL."},"runbook":{"label":"Write a runbook","prompt":"Write a runbook for a job my company does over and over, step by step, so someone else could run it without asking me. Pick the highest-value one and say why."},"onboarding-doc":{"label":"Write the onboarding doc","prompt":"Write the document a new hire reads in their first week — how we work, where things live, who to ask, what good looks like. Take what you can from project memory, and list anything you had to guess at the end rather than stopping to ask me."}}},"repositoryAccess":{"label":"Project repository access","enabled":"New sessions receive the project repository. Git permissions still apply. Existing sessions keep their access setting.","disabled":"New sessions run without the project repository. They can still create files and use granted tools. Existing sessions keep their access setting."},"modelAccess":{"manageProvider":"{name} settings","enableProviderAction":"Enable provider","disableProviderAction":"Disable provider","enabled":"Enabled","disabled":"Disabled","enableProvider":"Enable {name}","defaultProviderHint":"Choose a project default from another provider before disabling this provider.","credentialsHint":"Disable inference without removing credentials.","providerError":"Could not update provider access.","managedTitle":"Kortix Managed Models","managedDescription":"Managed models billed with Kortix credits. No API key needed.","textImage":"Text + image","textOnly":"Text only","zdrTitle":"Zero data retention","zdrDescription":"Zero data retention (ZDR) means the model provider processes your text and images, then does not keep the input or reply after the request. Kortix stores your project and conversation history separately.","usProvidersTitle":"US-based providers","usProvidersDescription":"Each Kortix model runs on one pinned inference provider headquartered in the US. Requests never fall back to another provider.","hiddenHint":"Hidden from the picker. Direct requests are still allowed; use the model menu to disable them.","hidden":"Hidden from picker","disableModel":"Disable model","modelError":"Could not update model access.","hiddenShort":"Hidden from the picker. Direct requests are still allowed.","resetError":"Could not reset the model list.","appReturn":"Back to the Kortix app","appReturnConnected":"Provider connected. Back to the Kortix app"},"projectChooser":{"invitations":"Invitations","invitedBy":"Invited by {email}","join":"Join","joinError":"Could not join. Try again.","unnamedWorkspace":"Workspace","noPermissionTitle":"No workspace yet","noPermissionBody":"Ask an owner or admin to invite {email}.","invitesTitle":"You're invited","invitesDescription":"Join a project your team shared, or start your own.","createProjectInstead":"Create a new project instead"},"projectSelector":{"welcome":"Welcome to Kortix","welcomeBack":"Welcome back","descriptionNew":"Create your first project, or join one your team shared.","descriptionReturning":"Open a project, or create a new one.","signedInAs":"Signed in as {email}","createTitle":"Create a new project","createBody":"A project holds your agents, files and sessions.","orContinue":"or open an existing project","invitations":"Invitations","sentTo":"Sent to {email}","invitedBy":"Invited by {email}","join":"Join","joinError":"Could not join. Try again.","unnamedWorkspace":"Workspace","search":"Find a project","noMatches":"No project matches “{query}”.","projectCount":"{count, plural, one {# project} other {# projects}}","role":{"owner":"Owner","admin":"Admin","member":"Member"},"openedAgo":"Opened {time}","neverOpened":"Not opened yet","showAll":"Show all {count}","showFewer":"Show fewer","createIn":"Create a project","emptyCreatable":"No projects in this workspace yet.","emptyMember":"No projects are shared with you here yet. Ask an owner or admin for access.","failed":"Could not load these projects.","retry":"Retry","noAccessTitle":"No projects yet","noAccessBody":"Ask an owner or admin to invite {email}.","loadErrorTitle":"Could not load your projects","loadErrorBody":"Check your connection and try again."},"sessionOversight":{"label":"Admins can open every session","description":"Account owners and admins can open any session in this account, including private ones. Every session opened this way is in the audit log.","ownerOnlyDescription":"Account owners and admins can open any session in this account, including private ones. Only an account owner can change this.","enableTitle":"Let admins open every session?","enableDescription":"Account owners and admins will be able to open every session in this account, including sessions members kept private. Members see a notice in the share dialog. Each session opened this way is recorded in the audit log.","enableConfirm":"Turn on","disableTitle":"Stop admins opening every session?","disableDescription":"Private sessions go back to owner-only. Admins keep access only to sessions shared with them.","disableConfirm":"Turn off","enabledToast":"Admins can now open every session","disabledToast":"Private sessions are owner-only again","failedToast":"Could not update this setting","shareDisclosure":"Account owners and admins can open every session in this account, whatever you choose here."},"agentPrincipals":{"title":"What this agent can do","description":"People who may run this agent act with these permissions.","kortixPermissions":"Kortix permissions","kortixPermissionsHelp":"Declared in kortix.yaml (agents.{agent}.kortix_permissions).","declaredAll":"All","declaredNone":"None","declaredCount":"{count, plural, one {# declared} other {# declared}}","effectiveCount":"{count, plural, one {# permission} other {# permissions}}","ceiling":"Ceiling role","ceilingHelp":"The project role an admin binds to this agent. Kortix permissions never exceed it.","ceilingHidden":"Visible to admins","ceilingDefault":"Default agent ceiling","changeCeiling":"Change","humanOnly":"Human only","humanOnlyHelp":"Managing members, deleting the project, and issuing credentials stay with people.","humanOnlyValue":"Never granted","effective":"Effective permissions","effectiveHelp":"Kortix permissions within the ceiling role, minus human-only permissions. project.read is always granted.","outsideCeiling":"Declared, but outside the ceiling role:","droppedHumanOnly":"Declared, but human-only:","agentBadge":"Agent","agentsSection":"Agents","searchWithAgents":"Search members, groups, or agents","ceilingNoteTitle":"An agent's role is its ceiling","ceilingNote":"The agent acts with its Kortix permissions from kortix.yaml, within this role. Managing members, deleting the project, and issuing credentials stay with people.","ceilingRemoved":"Agent role removed. The default agent ceiling applies.","ceilingRemoveFailed":"Could not remove the agent role.","rowMeta":"Ceiling for its Kortix permissions","removeCeilingTitle":"Remove the role of {agent}?","removeCeilingDescription":"The agent falls back to the default agent ceiling on {project}. Its Kortix permissions in kortix.yaml do not change.","appAgentsTitle":"Agents with access","appAgentsEmpty":"No agent lists this App. Add its slug to agents.<name>.apps in kortix.yaml.","appAgentsDeclared":"Declared in {file} (agents.{agent}.apps)","appAgentsGrantAll":"All Apps"},"connectorsAppReturn":{"done":"Done. Back to the Kortix app"},"ssoDomainVerification":{"title":"Domain verification","verified":"Verified","unverified":"Not verified","verifiedDescription":"Your identity provider is trusted for {domain}. Enforcing SSO applies to this domain.","unverifiedDescription":"Add this DNS TXT record to prove you control {domain}. Until then, SSO sign-in works only inside this account, and enforcing SSO has no effect.","recordName":"Name","recordValue":"Value","verify":"Verify domain","verifiedToast":"Domain verified","failedToast":"Domain not verified yet","enforceNeedsVerification":"Verify the domain first. Enforcing SSO applies only to a verified domain."}}