@agenticmail/enterprise 0.5.327 → 0.5.328
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dashboard/app.js +1 -1
- package/logs/cloudflared-error.log +6 -0
- package/logs/enterprise-out.log +1 -0
- package/package.json +1 -1
- package/src/admin/page-registry.ts +0 -290
- package/src/admin/routes.ts +0 -2968
- package/src/agent-tools/common.ts +0 -260
- package/src/agent-tools/index.ts +0 -542
- package/src/agent-tools/merge.ts +0 -62
- package/src/agent-tools/middleware.ts +0 -436
- package/src/agent-tools/schema/typebox.ts +0 -25
- package/src/agent-tools/security.ts +0 -352
- package/src/agent-tools/tool-resolver.ts +0 -1018
- package/src/agent-tools/tools/agenticmail.ts +0 -1017
- package/src/agent-tools/tools/bash.ts +0 -179
- package/src/agent-tools/tools/browser-tool.schema.ts +0 -112
- package/src/agent-tools/tools/browser-tool.ts +0 -388
- package/src/agent-tools/tools/browser.ts +0 -764
- package/src/agent-tools/tools/edit.ts +0 -100
- package/src/agent-tools/tools/enterprise-code-sandbox.ts +0 -395
- package/src/agent-tools/tools/enterprise-database.ts +0 -377
- package/src/agent-tools/tools/enterprise-diff.ts +0 -580
- package/src/agent-tools/tools/enterprise-documents.ts +0 -896
- package/src/agent-tools/tools/enterprise-http.ts +0 -485
- package/src/agent-tools/tools/enterprise-security-scan.ts +0 -528
- package/src/agent-tools/tools/enterprise-spreadsheet.ts +0 -825
- package/src/agent-tools/tools/glob.ts +0 -129
- package/src/agent-tools/tools/google/calendar.ts +0 -230
- package/src/agent-tools/tools/google/chat.ts +0 -725
- package/src/agent-tools/tools/google/contacts.ts +0 -209
- package/src/agent-tools/tools/google/docs.ts +0 -162
- package/src/agent-tools/tools/google/drive.ts +0 -392
- package/src/agent-tools/tools/google/forms.ts +0 -367
- package/src/agent-tools/tools/google/gmail.ts +0 -897
- package/src/agent-tools/tools/google/index.ts +0 -86
- package/src/agent-tools/tools/google/maps.ts +0 -543
- package/src/agent-tools/tools/google/meeting-voice.ts +0 -885
- package/src/agent-tools/tools/google/meetings.ts +0 -1094
- package/src/agent-tools/tools/google/sheets.ts +0 -215
- package/src/agent-tools/tools/google/slides.ts +0 -559
- package/src/agent-tools/tools/google/tasks.ts +0 -200
- package/src/agent-tools/tools/grep.ts +0 -178
- package/src/agent-tools/tools/integrations/_factory.ts +0 -102
- package/src/agent-tools/tools/integrations/activecampaign.ts +0 -14
- package/src/agent-tools/tools/integrations/adobe-sign.ts +0 -14
- package/src/agent-tools/tools/integrations/adp.ts +0 -14
- package/src/agent-tools/tools/integrations/airtable.ts +0 -14
- package/src/agent-tools/tools/integrations/apollo.ts +0 -14
- package/src/agent-tools/tools/integrations/asana.ts +0 -14
- package/src/agent-tools/tools/integrations/auth0.ts +0 -14
- package/src/agent-tools/tools/integrations/aws.ts +0 -14
- package/src/agent-tools/tools/integrations/azure-devops.ts +0 -14
- package/src/agent-tools/tools/integrations/bamboohr.ts +0 -14
- package/src/agent-tools/tools/integrations/basecamp.ts +0 -14
- package/src/agent-tools/tools/integrations/bigcommerce.ts +0 -14
- package/src/agent-tools/tools/integrations/bitbucket.ts +0 -14
- package/src/agent-tools/tools/integrations/box.ts +0 -14
- package/src/agent-tools/tools/integrations/brex.ts +0 -14
- package/src/agent-tools/tools/integrations/buffer.ts +0 -14
- package/src/agent-tools/tools/integrations/calendly.ts +0 -14
- package/src/agent-tools/tools/integrations/canva.ts +0 -14
- package/src/agent-tools/tools/integrations/chargebee.ts +0 -14
- package/src/agent-tools/tools/integrations/circleci.ts +0 -14
- package/src/agent-tools/tools/integrations/clickup.ts +0 -14
- package/src/agent-tools/tools/integrations/close.ts +0 -14
- package/src/agent-tools/tools/integrations/cloudflare.ts +0 -14
- package/src/agent-tools/tools/integrations/confluence.ts +0 -14
- package/src/agent-tools/tools/integrations/contentful.ts +0 -14
- package/src/agent-tools/tools/integrations/copper.ts +0 -14
- package/src/agent-tools/tools/integrations/crisp.ts +0 -14
- package/src/agent-tools/tools/integrations/crowdstrike.ts +0 -14
- package/src/agent-tools/tools/integrations/datadog.ts +0 -14
- package/src/agent-tools/tools/integrations/digitalocean.ts +0 -14
- package/src/agent-tools/tools/integrations/discord.ts +0 -14
- package/src/agent-tools/tools/integrations/docker.ts +0 -14
- package/src/agent-tools/tools/integrations/docusign.ts +0 -14
- package/src/agent-tools/tools/integrations/drift.ts +0 -14
- package/src/agent-tools/tools/integrations/dropbox.ts +0 -14
- package/src/agent-tools/tools/integrations/figma.ts +0 -14
- package/src/agent-tools/tools/integrations/firebase.ts +0 -14
- package/src/agent-tools/tools/integrations/flyio.ts +0 -14
- package/src/agent-tools/tools/integrations/freshbooks.ts +0 -14
- package/src/agent-tools/tools/integrations/freshdesk.ts +0 -14
- package/src/agent-tools/tools/integrations/freshsales.ts +0 -14
- package/src/agent-tools/tools/integrations/freshservice.ts +0 -14
- package/src/agent-tools/tools/integrations/front.ts +0 -14
- package/src/agent-tools/tools/integrations/github-actions.ts +0 -14
- package/src/agent-tools/tools/integrations/github.ts +0 -14
- package/src/agent-tools/tools/integrations/gitlab.ts +0 -14
- package/src/agent-tools/tools/integrations/gong.ts +0 -14
- package/src/agent-tools/tools/integrations/google-ads.ts +0 -14
- package/src/agent-tools/tools/integrations/google-analytics.ts +0 -14
- package/src/agent-tools/tools/integrations/google-cloud.ts +0 -14
- package/src/agent-tools/tools/integrations/gotomeeting.ts +0 -14
- package/src/agent-tools/tools/integrations/grafana.ts +0 -14
- package/src/agent-tools/tools/integrations/greenhouse.ts +0 -14
- package/src/agent-tools/tools/integrations/gusto.ts +0 -14
- package/src/agent-tools/tools/integrations/hashicorp-vault.ts +0 -14
- package/src/agent-tools/tools/integrations/heroku.ts +0 -14
- package/src/agent-tools/tools/integrations/hibob.ts +0 -14
- package/src/agent-tools/tools/integrations/hootsuite.ts +0 -14
- package/src/agent-tools/tools/integrations/hubspot.ts +0 -14
- package/src/agent-tools/tools/integrations/huggingface.ts +0 -14
- package/src/agent-tools/tools/integrations/index.ts +0 -474
- package/src/agent-tools/tools/integrations/intercom.ts +0 -14
- package/src/agent-tools/tools/integrations/jira.ts +0 -14
- package/src/agent-tools/tools/integrations/klaviyo.ts +0 -14
- package/src/agent-tools/tools/integrations/kubernetes.ts +0 -14
- package/src/agent-tools/tools/integrations/lattice.ts +0 -14
- package/src/agent-tools/tools/integrations/launchdarkly.ts +0 -14
- package/src/agent-tools/tools/integrations/lever.ts +0 -14
- package/src/agent-tools/tools/integrations/linear.ts +0 -14
- package/src/agent-tools/tools/integrations/linkedin.ts +0 -14
- package/src/agent-tools/tools/integrations/livechat.ts +0 -14
- package/src/agent-tools/tools/integrations/loom.ts +0 -14
- package/src/agent-tools/tools/integrations/mailchimp.ts +0 -14
- package/src/agent-tools/tools/integrations/mailgun.ts +0 -14
- package/src/agent-tools/tools/integrations/miro.ts +0 -14
- package/src/agent-tools/tools/integrations/mixpanel.ts +0 -14
- package/src/agent-tools/tools/integrations/monday.ts +0 -14
- package/src/agent-tools/tools/integrations/mongodb-atlas.ts +0 -14
- package/src/agent-tools/tools/integrations/neon.ts +0 -14
- package/src/agent-tools/tools/integrations/netlify.ts +0 -14
- package/src/agent-tools/tools/integrations/netsuite.ts +0 -14
- package/src/agent-tools/tools/integrations/newrelic.ts +0 -14
- package/src/agent-tools/tools/integrations/notion.ts +0 -14
- package/src/agent-tools/tools/integrations/okta.ts +0 -14
- package/src/agent-tools/tools/integrations/openai.ts +0 -14
- package/src/agent-tools/tools/integrations/opsgenie.ts +0 -14
- package/src/agent-tools/tools/integrations/outreach.ts +0 -14
- package/src/agent-tools/tools/integrations/paddle.ts +0 -14
- package/src/agent-tools/tools/integrations/pagerduty.ts +0 -14
- package/src/agent-tools/tools/integrations/pandadoc.ts +0 -14
- package/src/agent-tools/tools/integrations/paypal.ts +0 -14
- package/src/agent-tools/tools/integrations/personio.ts +0 -14
- package/src/agent-tools/tools/integrations/pinecone.ts +0 -14
- package/src/agent-tools/tools/integrations/pipedrive.ts +0 -14
- package/src/agent-tools/tools/integrations/plaid.ts +0 -14
- package/src/agent-tools/tools/integrations/postmark.ts +0 -14
- package/src/agent-tools/tools/integrations/power-automate.ts +0 -14
- package/src/agent-tools/tools/integrations/quickbooks.ts +0 -14
- package/src/agent-tools/tools/integrations/recurly.ts +0 -14
- package/src/agent-tools/tools/integrations/reddit.ts +0 -14
- package/src/agent-tools/tools/integrations/render.ts +0 -14
- package/src/agent-tools/tools/integrations/ringcentral.ts +0 -14
- package/src/agent-tools/tools/integrations/rippling.ts +0 -14
- package/src/agent-tools/tools/integrations/salesforce.ts +0 -14
- package/src/agent-tools/tools/integrations/salesloft.ts +0 -14
- package/src/agent-tools/tools/integrations/sanity.ts +0 -14
- package/src/agent-tools/tools/integrations/sap.ts +0 -14
- package/src/agent-tools/tools/integrations/segment.ts +0 -14
- package/src/agent-tools/tools/integrations/sendgrid.ts +0 -14
- package/src/agent-tools/tools/integrations/sentry.ts +0 -14
- package/src/agent-tools/tools/integrations/servicenow.ts +0 -14
- package/src/agent-tools/tools/integrations/shopify.ts +0 -14
- package/src/agent-tools/tools/integrations/shortcut.ts +0 -14
- package/src/agent-tools/tools/integrations/slack.ts +0 -14
- package/src/agent-tools/tools/integrations/smartsheet.ts +0 -14
- package/src/agent-tools/tools/integrations/snowflake.ts +0 -14
- package/src/agent-tools/tools/integrations/snyk.ts +0 -14
- package/src/agent-tools/tools/integrations/splunk.ts +0 -14
- package/src/agent-tools/tools/integrations/square.ts +0 -14
- package/src/agent-tools/tools/integrations/statuspage.ts +0 -14
- package/src/agent-tools/tools/integrations/stripe.ts +0 -14
- package/src/agent-tools/tools/integrations/supabase.ts +0 -14
- package/src/agent-tools/tools/integrations/teamwork.ts +0 -14
- package/src/agent-tools/tools/integrations/telegram.ts +0 -14
- package/src/agent-tools/tools/integrations/terraform.ts +0 -14
- package/src/agent-tools/tools/integrations/todoist.ts +0 -14
- package/src/agent-tools/tools/integrations/trello.ts +0 -14
- package/src/agent-tools/tools/integrations/twilio.ts +0 -14
- package/src/agent-tools/tools/integrations/twitter.ts +0 -14
- package/src/agent-tools/tools/integrations/vercel.ts +0 -14
- package/src/agent-tools/tools/integrations/weaviate.ts +0 -14
- package/src/agent-tools/tools/integrations/webex.ts +0 -14
- package/src/agent-tools/tools/integrations/webflow.ts +0 -14
- package/src/agent-tools/tools/integrations/whatsapp.ts +0 -14
- package/src/agent-tools/tools/integrations/whereby.ts +0 -14
- package/src/agent-tools/tools/integrations/woocommerce.ts +0 -14
- package/src/agent-tools/tools/integrations/wordpress.ts +0 -14
- package/src/agent-tools/tools/integrations/workday.ts +0 -14
- package/src/agent-tools/tools/integrations/wrike.ts +0 -14
- package/src/agent-tools/tools/integrations/xero.ts +0 -14
- package/src/agent-tools/tools/integrations/youtube.ts +0 -14
- package/src/agent-tools/tools/integrations/zendesk.ts +0 -14
- package/src/agent-tools/tools/integrations/zoho-crm.ts +0 -14
- package/src/agent-tools/tools/integrations/zoom.ts +0 -14
- package/src/agent-tools/tools/integrations/zuora.ts +0 -14
- package/src/agent-tools/tools/knowledge-search.ts +0 -318
- package/src/agent-tools/tools/local/coding.ts +0 -626
- package/src/agent-tools/tools/local/dependency-manager.ts +0 -647
- package/src/agent-tools/tools/local/file-edit.ts +0 -31
- package/src/agent-tools/tools/local/file-list.ts +0 -39
- package/src/agent-tools/tools/local/file-ops.ts +0 -48
- package/src/agent-tools/tools/local/file-read.ts +0 -39
- package/src/agent-tools/tools/local/file-search.ts +0 -46
- package/src/agent-tools/tools/local/file-write.ts +0 -28
- package/src/agent-tools/tools/local/filesystem.ts +0 -5
- package/src/agent-tools/tools/local/index.ts +0 -55
- package/src/agent-tools/tools/local/resolve-path.ts +0 -18
- package/src/agent-tools/tools/local/shell.ts +0 -277
- package/src/agent-tools/tools/local/system-info.ts +0 -29
- package/src/agent-tools/tools/management.ts +0 -425
- package/src/agent-tools/tools/mcp-bridge.ts +0 -142
- package/src/agent-tools/tools/mcp-server-tools.ts +0 -91
- package/src/agent-tools/tools/meeting-lifecycle.ts +0 -438
- package/src/agent-tools/tools/memory.ts +0 -509
- package/src/agent-tools/tools/messaging/index.ts +0 -6
- package/src/agent-tools/tools/messaging/telegram.ts +0 -167
- package/src/agent-tools/tools/messaging/whatsapp.ts +0 -651
- package/src/agent-tools/tools/microsoft/contacts.ts +0 -176
- package/src/agent-tools/tools/microsoft/excel-vba.ts +0 -331
- package/src/agent-tools/tools/microsoft/excel.ts +0 -261
- package/src/agent-tools/tools/microsoft/graph-api.ts +0 -161
- package/src/agent-tools/tools/microsoft/index.ts +0 -95
- package/src/agent-tools/tools/microsoft/onedrive.ts +0 -429
- package/src/agent-tools/tools/microsoft/onenote.ts +0 -186
- package/src/agent-tools/tools/microsoft/outlook-calendar.ts +0 -286
- package/src/agent-tools/tools/microsoft/outlook-mail.ts +0 -723
- package/src/agent-tools/tools/microsoft/planner.ts +0 -200
- package/src/agent-tools/tools/microsoft/powerbi.ts +0 -266
- package/src/agent-tools/tools/microsoft/powerpoint.ts +0 -186
- package/src/agent-tools/tools/microsoft/sharepoint.ts +0 -328
- package/src/agent-tools/tools/microsoft/teams.ts +0 -463
- package/src/agent-tools/tools/microsoft/todo.ts +0 -181
- package/src/agent-tools/tools/oauth-token-provider.ts +0 -101
- package/src/agent-tools/tools/read.ts +0 -160
- package/src/agent-tools/tools/visual-memory/capture.ts +0 -217
- package/src/agent-tools/tools/visual-memory/diff.ts +0 -283
- package/src/agent-tools/tools/visual-memory/index.ts +0 -698
- package/src/agent-tools/tools/visual-memory/phash.ts +0 -120
- package/src/agent-tools/tools/visual-memory/similarity.ts +0 -354
- package/src/agent-tools/tools/visual-memory/storage.ts +0 -534
- package/src/agent-tools/tools/visual-memory/types.ts +0 -100
- package/src/agent-tools/tools/web-fetch-utils.ts +0 -202
- package/src/agent-tools/tools/web-fetch.ts +0 -464
- package/src/agent-tools/tools/web-search.ts +0 -480
- package/src/agent-tools/tools/web-shared.ts +0 -232
- package/src/agent-tools/tools/write.ts +0 -68
- package/src/agent-tools/types.ts +0 -214
- package/src/agenticmail/index.ts +0 -34
- package/src/agenticmail/manager.ts +0 -253
- package/src/agenticmail/providers/google.ts +0 -391
- package/src/agenticmail/providers/imap.ts +0 -454
- package/src/agenticmail/providers/index.ts +0 -28
- package/src/agenticmail/providers/microsoft.ts +0 -260
- package/src/agenticmail/types.ts +0 -173
- package/src/auth/routes.ts +0 -1589
- package/src/browser/bridge-auth-registry.ts +0 -34
- package/src/browser/bridge-server.ts +0 -93
- package/src/browser/cdp.helpers.ts +0 -180
- package/src/browser/cdp.ts +0 -466
- package/src/browser/chrome.executables.ts +0 -625
- package/src/browser/chrome.profile-decoration.ts +0 -198
- package/src/browser/chrome.ts +0 -349
- package/src/browser/client-actions-core.ts +0 -259
- package/src/browser/client-actions-observe.ts +0 -184
- package/src/browser/client-actions-state.ts +0 -284
- package/src/browser/client-actions-types.ts +0 -16
- package/src/browser/client-actions-url.ts +0 -11
- package/src/browser/client-actions.ts +0 -4
- package/src/browser/client-fetch.ts +0 -253
- package/src/browser/client.ts +0 -337
- package/src/browser/config.ts +0 -301
- package/src/browser/constants.ts +0 -8
- package/src/browser/control-auth.ts +0 -94
- package/src/browser/control-service.ts +0 -81
- package/src/browser/csrf.ts +0 -87
- package/src/browser/enterprise-compat.ts +0 -562
- package/src/browser/extension-relay.ts +0 -834
- package/src/browser/http-auth.ts +0 -63
- package/src/browser/navigation-guard.ts +0 -50
- package/src/browser/paths.ts +0 -49
- package/src/browser/playwright.d.ts +0 -12
- package/src/browser/profiles-service.ts +0 -187
- package/src/browser/profiles.ts +0 -114
- package/src/browser/proxy-files.ts +0 -41
- package/src/browser/pw-ai-module.ts +0 -52
- package/src/browser/pw-ai-state.ts +0 -9
- package/src/browser/pw-ai.ts +0 -65
- package/src/browser/pw-role-snapshot.ts +0 -434
- package/src/browser/pw-session.ts +0 -810
- package/src/browser/pw-tools-core.activity.ts +0 -68
- package/src/browser/pw-tools-core.downloads.ts +0 -281
- package/src/browser/pw-tools-core.interactions.ts +0 -646
- package/src/browser/pw-tools-core.responses.ts +0 -124
- package/src/browser/pw-tools-core.shared.ts +0 -70
- package/src/browser/pw-tools-core.snapshot.ts +0 -213
- package/src/browser/pw-tools-core.state.ts +0 -209
- package/src/browser/pw-tools-core.storage.ts +0 -128
- package/src/browser/pw-tools-core.trace.ts +0 -37
- package/src/browser/pw-tools-core.ts +0 -8
- package/src/browser/resolved-config-refresh.ts +0 -59
- package/src/browser/routes/agent.act.shared.ts +0 -52
- package/src/browser/routes/agent.act.ts +0 -575
- package/src/browser/routes/agent.debug.ts +0 -149
- package/src/browser/routes/agent.shared.ts +0 -143
- package/src/browser/routes/agent.snapshot.ts +0 -333
- package/src/browser/routes/agent.storage.ts +0 -451
- package/src/browser/routes/agent.ts +0 -13
- package/src/browser/routes/basic.ts +0 -202
- package/src/browser/routes/dispatcher.ts +0 -126
- package/src/browser/routes/index.ts +0 -11
- package/src/browser/routes/path-output.ts +0 -1
- package/src/browser/routes/tabs.ts +0 -217
- package/src/browser/routes/types.ts +0 -26
- package/src/browser/routes/utils.ts +0 -73
- package/src/browser/screenshot.ts +0 -54
- package/src/browser/server-context.ts +0 -688
- package/src/browser/server-context.types.ts +0 -65
- package/src/browser/server-lifecycle.ts +0 -48
- package/src/browser/server-middleware.ts +0 -37
- package/src/browser/server.ts +0 -110
- package/src/browser/target-id.ts +0 -30
- package/src/browser/trash.ts +0 -21
- package/src/cli-agent.ts +0 -2452
- package/src/cli-reset-password.ts +0 -138
- package/src/cli-serve.ts +0 -314
- package/src/cli.ts +0 -103
- package/src/dashboard/HELP-TOOLTIPS-GUIDE.md +0 -45
- package/src/dashboard/app.js +0 -579
- package/src/dashboard/assets/brand-logos.js +0 -350
- package/src/dashboard/assets/icons/emoji-icons.js +0 -893
- package/src/dashboard/assets/logo.png +0 -0
- package/src/dashboard/assets/provider-logos.js +0 -139
- package/src/dashboard/components/error-boundary.js +0 -21
- package/src/dashboard/components/help-button.js +0 -65
- package/src/dashboard/components/icons.js +0 -64
- package/src/dashboard/components/knowledge-link.js +0 -79
- package/src/dashboard/components/modal.js +0 -125
- package/src/dashboard/components/org-switcher.js +0 -156
- package/src/dashboard/components/persona-fields.js +0 -460
- package/src/dashboard/components/settings-help.js +0 -193
- package/src/dashboard/components/tag-input.js +0 -96
- package/src/dashboard/components/timezones.js +0 -352
- package/src/dashboard/components/transport-encryption.js +0 -288
- package/src/dashboard/components/utils.js +0 -205
- package/src/dashboard/data/countries.js +0 -255
- package/src/dashboard/docs/activity.html +0 -253
- package/src/dashboard/docs/agent-activity.html +0 -199
- package/src/dashboard/docs/agent-autonomy.html +0 -161
- package/src/dashboard/docs/agent-budget.html +0 -190
- package/src/dashboard/docs/agent-channels.html +0 -189
- package/src/dashboard/docs/agent-communication.html +0 -171
- package/src/dashboard/docs/agent-configuration.html +0 -194
- package/src/dashboard/docs/agent-deployment.html +0 -323
- package/src/dashboard/docs/agent-email.html +0 -184
- package/src/dashboard/docs/agent-guardrails.html +0 -206
- package/src/dashboard/docs/agent-manager.html +0 -226
- package/src/dashboard/docs/agent-memory.html +0 -215
- package/src/dashboard/docs/agent-overview.html +0 -226
- package/src/dashboard/docs/agent-permissions.html +0 -305
- package/src/dashboard/docs/agent-personal.html +0 -155
- package/src/dashboard/docs/agent-security.html +0 -188
- package/src/dashboard/docs/agent-skills.html +0 -224
- package/src/dashboard/docs/agent-tool-security.html +0 -205
- package/src/dashboard/docs/agent-tools.html +0 -238
- package/src/dashboard/docs/agent-whatsapp.html +0 -210
- package/src/dashboard/docs/agent-workforce.html +0 -199
- package/src/dashboard/docs/agents.html +0 -258
- package/src/dashboard/docs/approvals.html +0 -200
- package/src/dashboard/docs/audit.html +0 -206
- package/src/dashboard/docs/browser-providers.html +0 -313
- package/src/dashboard/docs/cluster.html +0 -285
- package/src/dashboard/docs/community-skills.html +0 -253
- package/src/dashboard/docs/compliance.html +0 -221
- package/src/dashboard/docs/dashboard.html +0 -84
- package/src/dashboard/docs/database-access.html +0 -322
- package/src/dashboard/docs/dlp.html +0 -268
- package/src/dashboard/docs/docs-style.css +0 -26
- package/src/dashboard/docs/domain-status.html +0 -294
- package/src/dashboard/docs/guardrails.html +0 -265
- package/src/dashboard/docs/journal.html +0 -197
- package/src/dashboard/docs/knowledge-contributions.html +0 -286
- package/src/dashboard/docs/knowledge.html +0 -268
- package/src/dashboard/docs/memory-transfer.html +0 -311
- package/src/dashboard/docs/messages.html +0 -217
- package/src/dashboard/docs/multi-tenant.html +0 -311
- package/src/dashboard/docs/org-chart.html +0 -239
- package/src/dashboard/docs/organizations.html +0 -182
- package/src/dashboard/docs/roles.html +0 -195
- package/src/dashboard/docs/settings-network.html +0 -321
- package/src/dashboard/docs/settings-security.html +0 -347
- package/src/dashboard/docs/settings-tool-security.html +0 -176
- package/src/dashboard/docs/settings.html +0 -280
- package/src/dashboard/docs/skill-connections.html +0 -270
- package/src/dashboard/docs/skills.html +0 -206
- package/src/dashboard/docs/task-pipeline.html +0 -261
- package/src/dashboard/docs/transport-encryption.html +0 -359
- package/src/dashboard/docs/users.html +0 -225
- package/src/dashboard/docs/vault.html +0 -260
- package/src/dashboard/docs/workforce.html +0 -245
- package/src/dashboard/index.html +0 -444
- package/src/dashboard/pages/activity.js +0 -379
- package/src/dashboard/pages/agent-detail/activity.js +0 -277
- package/src/dashboard/pages/agent-detail/autonomy.js +0 -244
- package/src/dashboard/pages/agent-detail/budget.js +0 -269
- package/src/dashboard/pages/agent-detail/channels.js +0 -494
- package/src/dashboard/pages/agent-detail/communication.js +0 -296
- package/src/dashboard/pages/agent-detail/configuration.js +0 -882
- package/src/dashboard/pages/agent-detail/deployment.js +0 -958
- package/src/dashboard/pages/agent-detail/email.js +0 -674
- package/src/dashboard/pages/agent-detail/guardrails.js +0 -521
- package/src/dashboard/pages/agent-detail/index.js +0 -261
- package/src/dashboard/pages/agent-detail/manager.js +0 -357
- package/src/dashboard/pages/agent-detail/meeting-browser.js +0 -933
- package/src/dashboard/pages/agent-detail/memory.js +0 -368
- package/src/dashboard/pages/agent-detail/overview.js +0 -844
- package/src/dashboard/pages/agent-detail/permissions.js +0 -1163
- package/src/dashboard/pages/agent-detail/personal-details.js +0 -404
- package/src/dashboard/pages/agent-detail/security.js +0 -409
- package/src/dashboard/pages/agent-detail/shared.js +0 -85
- package/src/dashboard/pages/agent-detail/skills-section.js +0 -183
- package/src/dashboard/pages/agent-detail/tool-security.js +0 -380
- package/src/dashboard/pages/agent-detail/tools.js +0 -322
- package/src/dashboard/pages/agent-detail/whatsapp.js +0 -824
- package/src/dashboard/pages/agent-detail/workforce.js +0 -683
- package/src/dashboard/pages/agents.js +0 -1242
- package/src/dashboard/pages/approvals.js +0 -100
- package/src/dashboard/pages/audit.js +0 -198
- package/src/dashboard/pages/cluster.js +0 -512
- package/src/dashboard/pages/community-skills.js +0 -1219
- package/src/dashboard/pages/compliance.js +0 -475
- package/src/dashboard/pages/dashboard.js +0 -180
- package/src/dashboard/pages/database-access.js +0 -812
- package/src/dashboard/pages/dlp.js +0 -293
- package/src/dashboard/pages/domain-status.js +0 -951
- package/src/dashboard/pages/guardrails.js +0 -1035
- package/src/dashboard/pages/journal.js +0 -172
- package/src/dashboard/pages/knowledge-contributions.js +0 -1682
- package/src/dashboard/pages/knowledge-import.js +0 -455
- package/src/dashboard/pages/knowledge.js +0 -582
- package/src/dashboard/pages/login.js +0 -1056
- package/src/dashboard/pages/memory-transfer.js +0 -631
- package/src/dashboard/pages/messages.js +0 -303
- package/src/dashboard/pages/org-chart.js +0 -349
- package/src/dashboard/pages/organizations.js +0 -1081
- package/src/dashboard/pages/roles.js +0 -780
- package/src/dashboard/pages/settings.js +0 -3790
- package/src/dashboard/pages/skill-connections.js +0 -982
- package/src/dashboard/pages/skills.js +0 -879
- package/src/dashboard/pages/task-pipeline.js +0 -684
- package/src/dashboard/pages/users.js +0 -867
- package/src/dashboard/pages/vault.js +0 -791
- package/src/dashboard/pages/workforce.js +0 -851
- package/src/dashboard/vendor/react-dom.development.js +0 -29924
- package/src/dashboard/vendor/react-dom.production.min.js +0 -267
- package/src/dashboard/vendor/react.development.js +0 -3343
- package/src/dashboard/vendor/react.production.min.js +0 -31
- package/src/database-access/agent-tools.ts +0 -193
- package/src/database-access/connection-manager.ts +0 -1341
- package/src/database-access/index.ts +0 -21
- package/src/database-access/query-sanitizer.ts +0 -220
- package/src/database-access/routes.ts +0 -226
- package/src/database-access/types.ts +0 -226
- package/src/db/adapter.ts +0 -510
- package/src/db/dynamodb.ts +0 -454
- package/src/db/factory.ts +0 -129
- package/src/db/mongodb.ts +0 -360
- package/src/db/mysql.ts +0 -531
- package/src/db/postgres.ts +0 -863
- package/src/db/proxy.ts +0 -39
- package/src/db/resolve-driver.ts +0 -29
- package/src/db/sql-schema.ts +0 -124
- package/src/db/sqlite.ts +0 -493
- package/src/db/turso.ts +0 -470
- package/src/deploy/fly.ts +0 -368
- package/src/deploy/managed.ts +0 -235
- package/src/domain-lock/cli-recover.ts +0 -591
- package/src/domain-lock/cli-verify.ts +0 -190
- package/src/domain-lock/index.ts +0 -220
- package/src/engine/activity-routes.ts +0 -154
- package/src/engine/activity.ts +0 -568
- package/src/engine/agent-autonomy.ts +0 -974
- package/src/engine/agent-config.ts +0 -646
- package/src/engine/agent-heartbeat.ts +0 -720
- package/src/engine/agent-hierarchy.ts +0 -1064
- package/src/engine/agent-memory.ts +0 -806
- package/src/engine/agent-notify.ts +0 -50
- package/src/engine/agent-routes.ts +0 -2583
- package/src/engine/agent-status.ts +0 -311
- package/src/engine/ambient-memory.ts +0 -401
- package/src/engine/approvals.ts +0 -615
- package/src/engine/assets/thinking-hum.mp3 +0 -0
- package/src/engine/catalog-routes.ts +0 -232
- package/src/engine/chat-poller.ts +0 -913
- package/src/engine/chat-webhook-routes.ts +0 -304
- package/src/engine/cli-build-skill.ts +0 -285
- package/src/engine/cli-submit-skill.ts +0 -200
- package/src/engine/cli-validate.ts +0 -188
- package/src/engine/cluster.ts +0 -278
- package/src/engine/communication-routes.ts +0 -139
- package/src/engine/communication.ts +0 -765
- package/src/engine/community-registry.ts +0 -1529
- package/src/engine/community-routes.ts +0 -260
- package/src/engine/compliance-routes.ts +0 -133
- package/src/engine/compliance.ts +0 -1679
- package/src/engine/config-bus.ts +0 -103
- package/src/engine/db-adapter.ts +0 -1156
- package/src/engine/db-schema.ts +0 -1945
- package/src/engine/deploy-schema-routes.ts +0 -176
- package/src/engine/deployer.ts +0 -957
- package/src/engine/dlp-routes.ts +0 -101
- package/src/engine/dlp.ts +0 -410
- package/src/engine/email-poller.ts +0 -855
- package/src/engine/emoji.ts +0 -106
- package/src/engine/guardrail-routes.ts +0 -125
- package/src/engine/guardrails.ts +0 -465
- package/src/engine/index.ts +0 -255
- package/src/engine/journal-routes.ts +0 -56
- package/src/engine/journal.ts +0 -249
- package/src/engine/knowledge-contribution-routes.ts +0 -633
- package/src/engine/knowledge-contribution.ts +0 -1386
- package/src/engine/knowledge-import/chunker.ts +0 -241
- package/src/engine/knowledge-import/import-manager.ts +0 -416
- package/src/engine/knowledge-import/index.ts +0 -27
- package/src/engine/knowledge-import/processors/clean.ts +0 -149
- package/src/engine/knowledge-import/processors/extract-gdrive.ts +0 -102
- package/src/engine/knowledge-import/processors/extract-github.ts +0 -74
- package/src/engine/knowledge-import/processors/extract-sharepoint.ts +0 -69
- package/src/engine/knowledge-import/processors/extract-web.ts +0 -275
- package/src/engine/knowledge-import/processors/index.ts +0 -18
- package/src/engine/knowledge-import/processors/pipeline.ts +0 -171
- package/src/engine/knowledge-import/processors/types.ts +0 -78
- package/src/engine/knowledge-import/processors/validate.ts +0 -150
- package/src/engine/knowledge-import/provider-file-upload.ts +0 -95
- package/src/engine/knowledge-import/provider-github.ts +0 -144
- package/src/engine/knowledge-import/provider-google-sites.ts +0 -323
- package/src/engine/knowledge-import/provider-sharepoint.ts +0 -276
- package/src/engine/knowledge-import/provider-url.ts +0 -218
- package/src/engine/knowledge-import/routes.ts +0 -94
- package/src/engine/knowledge-import/types.ts +0 -92
- package/src/engine/knowledge-routes.ts +0 -231
- package/src/engine/knowledge.ts +0 -587
- package/src/engine/lifecycle.ts +0 -1420
- package/src/engine/mcp-process-manager.ts +0 -573
- package/src/engine/meeting-monitor.ts +0 -483
- package/src/engine/meeting-voice-intelligence.ts +0 -340
- package/src/engine/memory-routes.ts +0 -142
- package/src/engine/memory-transfer-routes.ts +0 -339
- package/src/engine/messaging-history.ts +0 -177
- package/src/engine/messaging-poller.ts +0 -786
- package/src/engine/model-fallback.ts +0 -141
- package/src/engine/oauth-connect-routes.ts +0 -603
- package/src/engine/oauth-connect.ts +0 -304
- package/src/engine/onboarding-routes.ts +0 -148
- package/src/engine/onboarding.ts +0 -574
- package/src/engine/org-approval-routes.ts +0 -146
- package/src/engine/org-integration-routes.ts +0 -399
- package/src/engine/org-integrations.ts +0 -608
- package/src/engine/org-policies.ts +0 -502
- package/src/engine/policy-import-routes.ts +0 -125
- package/src/engine/policy-import.ts +0 -1186
- package/src/engine/policy-routes.ts +0 -163
- package/src/engine/routes.ts +0 -1236
- package/src/engine/screen-unlock.ts +0 -136
- package/src/engine/session-router.ts +0 -212
- package/src/engine/skill-updater-routes.ts +0 -132
- package/src/engine/skill-updater.ts +0 -480
- package/src/engine/skill-validator.ts +0 -331
- package/src/engine/skills/agent-management.ts +0 -119
- package/src/engine/skills/agent-memory.ts +0 -19
- package/src/engine/skills/agenticmail.ts +0 -116
- package/src/engine/skills/core-tools.ts +0 -25
- package/src/engine/skills/database-access.ts +0 -78
- package/src/engine/skills/enterprise-code-sandbox.ts +0 -113
- package/src/engine/skills/enterprise-database.ts +0 -123
- package/src/engine/skills/enterprise-diff.ts +0 -95
- package/src/engine/skills/enterprise-documents.ts +0 -162
- package/src/engine/skills/enterprise-http.ts +0 -99
- package/src/engine/skills/enterprise-security-scan.ts +0 -125
- package/src/engine/skills/enterprise-spreadsheet.ts +0 -171
- package/src/engine/skills/gws-admin.ts +0 -18
- package/src/engine/skills/gws-calendar.ts +0 -21
- package/src/engine/skills/gws-chat.ts +0 -29
- package/src/engine/skills/gws-contacts.ts +0 -20
- package/src/engine/skills/gws-docs.ts +0 -18
- package/src/engine/skills/gws-drive.ts +0 -23
- package/src/engine/skills/gws-forms.ts +0 -23
- package/src/engine/skills/gws-gmail.ts +0 -30
- package/src/engine/skills/gws-groups.ts +0 -17
- package/src/engine/skills/gws-keep.ts +0 -17
- package/src/engine/skills/gws-maps.ts +0 -25
- package/src/engine/skills/gws-meet.ts +0 -23
- package/src/engine/skills/gws-sheets.ts +0 -22
- package/src/engine/skills/gws-sites.ts +0 -16
- package/src/engine/skills/gws-slides.ts +0 -27
- package/src/engine/skills/gws-tasks.ts +0 -22
- package/src/engine/skills/gws-vault.ts +0 -17
- package/src/engine/skills/index.ts +0 -159
- package/src/engine/skills/knowledge-search.ts +0 -18
- package/src/engine/skills/local-system.ts +0 -61
- package/src/engine/skills/m365-admin.ts +0 -18
- package/src/engine/skills/m365-bookings.ts +0 -17
- package/src/engine/skills/m365-copilot.ts +0 -17
- package/src/engine/skills/m365-excel.ts +0 -60
- package/src/engine/skills/m365-forms.ts +0 -17
- package/src/engine/skills/m365-onedrive.ts +0 -60
- package/src/engine/skills/m365-onenote.ts +0 -17
- package/src/engine/skills/m365-outlook.ts +0 -27
- package/src/engine/skills/m365-planner.ts +0 -18
- package/src/engine/skills/m365-power-automate.ts +0 -18
- package/src/engine/skills/m365-power-bi.ts +0 -19
- package/src/engine/skills/m365-powerpoint.ts +0 -33
- package/src/engine/skills/m365-sharepoint.ts +0 -20
- package/src/engine/skills/m365-teams.ts +0 -21
- package/src/engine/skills/m365-todo.ts +0 -17
- package/src/engine/skills/m365-whiteboard.ts +0 -16
- package/src/engine/skills/m365-word.ts +0 -42
- package/src/engine/skills/mcp-bridge.ts +0 -45
- package/src/engine/skills/meeting-lifecycle.ts +0 -20
- package/src/engine/skills/messaging.ts +0 -46
- package/src/engine/skills/visual-memory.ts +0 -25
- package/src/engine/skills.ts +0 -688
- package/src/engine/soul-library.ts +0 -142
- package/src/engine/soul-templates.json +0 -1525
- package/src/engine/storage-manager.ts +0 -252
- package/src/engine/storage-routes.ts +0 -113
- package/src/engine/storage.ts +0 -528
- package/src/engine/task-poller.ts +0 -394
- package/src/engine/task-queue-after-spawn.ts +0 -66
- package/src/engine/task-queue-before-spawn.ts +0 -113
- package/src/engine/task-queue-routes.ts +0 -161
- package/src/engine/task-queue.ts +0 -664
- package/src/engine/tenant.ts +0 -409
- package/src/engine/tool-catalog.ts +0 -354
- package/src/engine/vault-routes.ts +0 -134
- package/src/engine/vault.ts +0 -601
- package/src/engine/workforce-routes.ts +0 -331
- package/src/engine/workforce.ts +0 -1161
- package/src/index.ts +0 -77
- package/src/lib/cidr.ts +0 -122
- package/src/lib/config-store.ts +0 -86
- package/src/lib/resilience.ts +0 -326
- package/src/lib/text-search.ts +0 -358
- package/src/mcp/adapters/activecampaign.adapter.ts +0 -391
- package/src/mcp/adapters/adobe-sign.adapter.ts +0 -469
- package/src/mcp/adapters/adp.adapter.ts +0 -358
- package/src/mcp/adapters/airtable.adapter.ts +0 -273
- package/src/mcp/adapters/apollo.adapter.ts +0 -420
- package/src/mcp/adapters/asana.adapter.ts +0 -315
- package/src/mcp/adapters/auth0.adapter.ts +0 -386
- package/src/mcp/adapters/aws.adapter.ts +0 -345
- package/src/mcp/adapters/azure-devops.adapter.ts +0 -389
- package/src/mcp/adapters/bamboohr.adapter.ts +0 -376
- package/src/mcp/adapters/basecamp.adapter.ts +0 -366
- package/src/mcp/adapters/bigcommerce.adapter.ts +0 -429
- package/src/mcp/adapters/bitbucket.adapter.ts +0 -260
- package/src/mcp/adapters/box.adapter.ts +0 -350
- package/src/mcp/adapters/brex.adapter.ts +0 -367
- package/src/mcp/adapters/buffer.adapter.ts +0 -303
- package/src/mcp/adapters/calendly.adapter.ts +0 -262
- package/src/mcp/adapters/canva.adapter.ts +0 -256
- package/src/mcp/adapters/chargebee.adapter.ts +0 -448
- package/src/mcp/adapters/circleci.adapter.ts +0 -216
- package/src/mcp/adapters/clickup.adapter.ts +0 -335
- package/src/mcp/adapters/close.adapter.ts +0 -390
- package/src/mcp/adapters/cloudflare.adapter.ts +0 -378
- package/src/mcp/adapters/confluence.adapter.ts +0 -301
- package/src/mcp/adapters/contentful.adapter.ts +0 -355
- package/src/mcp/adapters/copper.adapter.ts +0 -468
- package/src/mcp/adapters/crisp.adapter.ts +0 -415
- package/src/mcp/adapters/crowdstrike.adapter.ts +0 -413
- package/src/mcp/adapters/datadog.adapter.ts +0 -373
- package/src/mcp/adapters/digitalocean.adapter.ts +0 -336
- package/src/mcp/adapters/discord.adapter.ts +0 -248
- package/src/mcp/adapters/docker.adapter.ts +0 -238
- package/src/mcp/adapters/docusign.adapter.ts +0 -431
- package/src/mcp/adapters/drift.adapter.ts +0 -386
- package/src/mcp/adapters/dropbox.adapter.ts +0 -315
- package/src/mcp/adapters/figma.adapter.ts +0 -302
- package/src/mcp/adapters/firebase.adapter.ts +0 -446
- package/src/mcp/adapters/flyio.adapter.ts +0 -302
- package/src/mcp/adapters/freshbooks.adapter.ts +0 -474
- package/src/mcp/adapters/freshdesk.adapter.ts +0 -441
- package/src/mcp/adapters/freshsales.adapter.ts +0 -457
- package/src/mcp/adapters/freshservice.adapter.ts +0 -481
- package/src/mcp/adapters/front.adapter.ts +0 -357
- package/src/mcp/adapters/github-actions.adapter.ts +0 -329
- package/src/mcp/adapters/github.adapter.ts +0 -387
- package/src/mcp/adapters/gitlab.adapter.ts +0 -368
- package/src/mcp/adapters/gong.adapter.ts +0 -386
- package/src/mcp/adapters/google-ads.adapter.ts +0 -363
- package/src/mcp/adapters/google-analytics.adapter.ts +0 -316
- package/src/mcp/adapters/google-cloud.adapter.ts +0 -312
- package/src/mcp/adapters/gotomeeting.adapter.ts +0 -255
- package/src/mcp/adapters/grafana.adapter.ts +0 -361
- package/src/mcp/adapters/greenhouse.adapter.ts +0 -354
- package/src/mcp/adapters/gusto.adapter.ts +0 -329
- package/src/mcp/adapters/hashicorp-vault.adapter.ts +0 -355
- package/src/mcp/adapters/heroku.adapter.ts +0 -291
- package/src/mcp/adapters/hibob.adapter.ts +0 -334
- package/src/mcp/adapters/hootsuite.adapter.ts +0 -322
- package/src/mcp/adapters/hubspot.adapter.ts +0 -400
- package/src/mcp/adapters/huggingface.adapter.ts +0 -349
- package/src/mcp/adapters/index.ts +0 -524
- package/src/mcp/adapters/intercom.adapter.ts +0 -269
- package/src/mcp/adapters/jira.adapter.ts +0 -482
- package/src/mcp/adapters/klaviyo.adapter.ts +0 -353
- package/src/mcp/adapters/kubernetes.adapter.ts +0 -431
- package/src/mcp/adapters/lattice.adapter.ts +0 -339
- package/src/mcp/adapters/launchdarkly.adapter.ts +0 -368
- package/src/mcp/adapters/lever.adapter.ts +0 -347
- package/src/mcp/adapters/linear.adapter.ts +0 -300
- package/src/mcp/adapters/linkedin.adapter.ts +0 -331
- package/src/mcp/adapters/livechat.adapter.ts +0 -259
- package/src/mcp/adapters/loom.adapter.ts +0 -230
- package/src/mcp/adapters/mailchimp.adapter.ts +0 -394
- package/src/mcp/adapters/mailgun.adapter.ts +0 -425
- package/src/mcp/adapters/miro.adapter.ts +0 -274
- package/src/mcp/adapters/mixpanel.adapter.ts +0 -324
- package/src/mcp/adapters/monday.adapter.ts +0 -308
- package/src/mcp/adapters/mongodb-atlas.adapter.ts +0 -345
- package/src/mcp/adapters/neon.adapter.ts +0 -312
- package/src/mcp/adapters/netlify.adapter.ts +0 -324
- package/src/mcp/adapters/netsuite.adapter.ts +0 -411
- package/src/mcp/adapters/newrelic.adapter.ts +0 -339
- package/src/mcp/adapters/notion.adapter.ts +0 -338
- package/src/mcp/adapters/okta.adapter.ts +0 -394
- package/src/mcp/adapters/openai.adapter.ts +0 -315
- package/src/mcp/adapters/opsgenie.adapter.ts +0 -375
- package/src/mcp/adapters/outreach.adapter.ts +0 -372
- package/src/mcp/adapters/paddle.adapter.ts +0 -467
- package/src/mcp/adapters/pagerduty.adapter.ts +0 -412
- package/src/mcp/adapters/pandadoc.adapter.ts +0 -389
- package/src/mcp/adapters/paypal.adapter.ts +0 -465
- package/src/mcp/adapters/personio.adapter.ts +0 -401
- package/src/mcp/adapters/pinecone.adapter.ts +0 -340
- package/src/mcp/adapters/pipedrive.adapter.ts +0 -324
- package/src/mcp/adapters/plaid.adapter.ts +0 -444
- package/src/mcp/adapters/postmark.adapter.ts +0 -387
- package/src/mcp/adapters/power-automate.adapter.ts +0 -388
- package/src/mcp/adapters/quickbooks.adapter.ts +0 -431
- package/src/mcp/adapters/recurly.adapter.ts +0 -433
- package/src/mcp/adapters/reddit.adapter.ts +0 -371
- package/src/mcp/adapters/render.adapter.ts +0 -332
- package/src/mcp/adapters/ringcentral.adapter.ts +0 -281
- package/src/mcp/adapters/rippling.adapter.ts +0 -287
- package/src/mcp/adapters/salesforce.adapter.ts +0 -321
- package/src/mcp/adapters/salesloft.adapter.ts +0 -413
- package/src/mcp/adapters/sanity.adapter.ts +0 -363
- package/src/mcp/adapters/sap.adapter.ts +0 -483
- package/src/mcp/adapters/segment.adapter.ts +0 -260
- package/src/mcp/adapters/sendgrid.adapter.ts +0 -265
- package/src/mcp/adapters/sentry.adapter.ts +0 -331
- package/src/mcp/adapters/servicenow.adapter.ts +0 -468
- package/src/mcp/adapters/shopify.adapter.ts +0 -451
- package/src/mcp/adapters/shortcut.adapter.ts +0 -290
- package/src/mcp/adapters/slack.adapter.ts +0 -380
- package/src/mcp/adapters/smartsheet.adapter.ts +0 -326
- package/src/mcp/adapters/snowflake.adapter.ts +0 -347
- package/src/mcp/adapters/snyk.adapter.ts +0 -394
- package/src/mcp/adapters/splunk.adapter.ts +0 -403
- package/src/mcp/adapters/square.adapter.ts +0 -467
- package/src/mcp/adapters/statuspage.adapter.ts +0 -401
- package/src/mcp/adapters/stripe.adapter.ts +0 -380
- package/src/mcp/adapters/supabase.adapter.ts +0 -334
- package/src/mcp/adapters/teamwork.adapter.ts +0 -404
- package/src/mcp/adapters/telegram.adapter.ts +0 -299
- package/src/mcp/adapters/terraform.adapter.ts +0 -300
- package/src/mcp/adapters/todoist.adapter.ts +0 -239
- package/src/mcp/adapters/trello.adapter.ts +0 -316
- package/src/mcp/adapters/twilio.adapter.ts +0 -233
- package/src/mcp/adapters/twitter.adapter.ts +0 -348
- package/src/mcp/adapters/vercel.adapter.ts +0 -219
- package/src/mcp/adapters/weaviate.adapter.ts +0 -371
- package/src/mcp/adapters/webex.adapter.ts +0 -237
- package/src/mcp/adapters/webflow.adapter.ts +0 -287
- package/src/mcp/adapters/whatsapp.adapter.ts +0 -273
- package/src/mcp/adapters/whereby.adapter.ts +0 -240
- package/src/mcp/adapters/woocommerce.adapter.ts +0 -454
- package/src/mcp/adapters/wordpress.adapter.ts +0 -455
- package/src/mcp/adapters/workday.adapter.ts +0 -354
- package/src/mcp/adapters/wrike.adapter.ts +0 -349
- package/src/mcp/adapters/xero.adapter.ts +0 -472
- package/src/mcp/adapters/youtube.adapter.ts +0 -401
- package/src/mcp/adapters/zendesk.adapter.ts +0 -399
- package/src/mcp/adapters/zoho-crm.adapter.ts +0 -410
- package/src/mcp/adapters/zoom.adapter.ts +0 -241
- package/src/mcp/adapters/zuora.adapter.ts +0 -476
- package/src/mcp/framework/api-executor.ts +0 -192
- package/src/mcp/framework/aws-sigv4.ts +0 -216
- package/src/mcp/framework/credential-resolver.ts +0 -128
- package/src/mcp/framework/oauth-token-manager.ts +0 -22
- package/src/mcp/framework/skill-mcp-framework.ts +0 -226
- package/src/mcp/framework/types.ts +0 -130
- package/src/mcp/index.ts +0 -124
- package/src/mcp/integration-catalog.ts +0 -178
- package/src/middleware/dns-rebinding.ts +0 -44
- package/src/middleware/egress-filter.ts +0 -104
- package/src/middleware/firewall.ts +0 -192
- package/src/middleware/geo-ip.ts +0 -156
- package/src/middleware/index.ts +0 -390
- package/src/middleware/network-config.ts +0 -90
- package/src/middleware/proxy-config.ts +0 -71
- package/src/middleware/request-limits.ts +0 -59
- package/src/middleware/transport-encryption.ts +0 -398
- package/src/registry/cli.ts +0 -63
- package/src/registry/server.ts +0 -504
- package/src/runtime/agent-loop.ts +0 -779
- package/src/runtime/compaction.ts +0 -638
- package/src/runtime/email-channel.ts +0 -120
- package/src/runtime/environment.ts +0 -300
- package/src/runtime/followup.ts +0 -211
- package/src/runtime/gateway.ts +0 -260
- package/src/runtime/hooks.ts +0 -564
- package/src/runtime/index.ts +0 -1110
- package/src/runtime/llm-client.ts +0 -1056
- package/src/runtime/model-router.ts +0 -97
- package/src/runtime/providers.ts +0 -228
- package/src/runtime/session-manager.ts +0 -345
- package/src/runtime/subagent.ts +0 -153
- package/src/runtime/tool-executor.ts +0 -208
- package/src/runtime/types.ts +0 -255
- package/src/security/brute-force.ts +0 -423
- package/src/security/config.ts +0 -159
- package/src/security/csp.ts +0 -407
- package/src/security/external-content.ts +0 -299
- package/src/security/index.ts +0 -557
- package/src/security/input-sanitizer.ts +0 -452
- package/src/security/output-filter.ts +0 -575
- package/src/security/port-scanner.ts +0 -342
- package/src/security/prompt-guard.ts +0 -387
- package/src/security/sql-guard.ts +0 -338
- package/src/security/threat-logger.ts +0 -484
- package/src/server.ts +0 -828
- package/src/setup/company.ts +0 -183
- package/src/setup/database.ts +0 -153
- package/src/setup/deployment.ts +0 -561
- package/src/setup/domain.ts +0 -112
- package/src/setup/index.ts +0 -171
- package/src/setup/provision.ts +0 -532
- package/src/setup/registration.ts +0 -302
- package/src/system-prompts/catchup.ts +0 -48
- package/src/system-prompts/google/calendar.ts +0 -37
- package/src/system-prompts/google/chat.ts +0 -92
- package/src/system-prompts/google/contacts.ts +0 -25
- package/src/system-prompts/google/docs.ts +0 -29
- package/src/system-prompts/google/drive.ts +0 -34
- package/src/system-prompts/google/forms.ts +0 -25
- package/src/system-prompts/google/gmail.ts +0 -50
- package/src/system-prompts/google/index.ts +0 -23
- package/src/system-prompts/google/maps.ts +0 -20
- package/src/system-prompts/google/meet.ts +0 -130
- package/src/system-prompts/google/sheets.ts +0 -32
- package/src/system-prompts/google/slides.ts +0 -26
- package/src/system-prompts/google/tasks.ts +0 -27
- package/src/system-prompts/index.ts +0 -88
- package/src/system-prompts/microsoft/contacts.ts +0 -34
- package/src/system-prompts/microsoft/excel.ts +0 -52
- package/src/system-prompts/microsoft/index.ts +0 -31
- package/src/system-prompts/microsoft/onedrive.ts +0 -41
- package/src/system-prompts/microsoft/onenote.ts +0 -36
- package/src/system-prompts/microsoft/outlook-calendar.ts +0 -37
- package/src/system-prompts/microsoft/outlook-mail.ts +0 -46
- package/src/system-prompts/microsoft/planner.ts +0 -37
- package/src/system-prompts/microsoft/powerbi.ts +0 -38
- package/src/system-prompts/microsoft/powerpoint.ts +0 -35
- package/src/system-prompts/microsoft/sharepoint.ts +0 -44
- package/src/system-prompts/microsoft/teams.ts +0 -49
- package/src/system-prompts/microsoft/todo.ts +0 -37
- package/src/system-prompts/shared-blocks.ts +0 -87
- package/src/system-prompts/task.ts +0 -21
- package/src/system-prompts/triage.ts +0 -34
- package/src/types/hono-env.ts +0 -18
- package/src/types/optional-deps.d.ts +0 -10
package/src/db/proxy.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Database Adapter Proxy — Hot-Swap Support
|
|
3
|
-
*
|
|
4
|
-
* Creates a transparent JS Proxy wrapper around any DatabaseAdapter.
|
|
5
|
-
* All method calls delegate to the current underlying adapter.
|
|
6
|
-
* When swapped via __swap(), all existing references seamlessly
|
|
7
|
-
* use the new adapter — no restart required.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { DatabaseAdapter } from './adapter.js';
|
|
11
|
-
|
|
12
|
-
export interface DbProxy extends DatabaseAdapter {
|
|
13
|
-
/** Swap the underlying adapter. Returns the previous one. */
|
|
14
|
-
__swap(adapter: DatabaseAdapter): DatabaseAdapter;
|
|
15
|
-
/** Access the current underlying adapter. */
|
|
16
|
-
__target: DatabaseAdapter;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function createDbProxy(initial: DatabaseAdapter): DbProxy {
|
|
20
|
-
let target = initial;
|
|
21
|
-
|
|
22
|
-
const proxy = new Proxy({} as any, {
|
|
23
|
-
get(_, prop) {
|
|
24
|
-
if (prop === '__swap') {
|
|
25
|
-
return (newAdapter: DatabaseAdapter) => {
|
|
26
|
-
const old = target;
|
|
27
|
-
target = newAdapter;
|
|
28
|
-
return old;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
if (prop === '__target') return target;
|
|
32
|
-
|
|
33
|
-
const val = (target as any)[prop];
|
|
34
|
-
return typeof val === 'function' ? val.bind(target) : val;
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
return proxy as DbProxy;
|
|
39
|
-
}
|
package/src/db/resolve-driver.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve a native driver module using multiple strategies.
|
|
3
|
-
* Works even when running from npx cache where ESM import() can't find
|
|
4
|
-
* packages installed in cwd.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { createRequire } from 'module';
|
|
8
|
-
import { join } from 'path';
|
|
9
|
-
|
|
10
|
-
export async function resolveDriver(name: string, errorMessage: string): Promise<any> {
|
|
11
|
-
// 1. Standard ESM import
|
|
12
|
-
try { return await import(name); } catch {}
|
|
13
|
-
|
|
14
|
-
// 2. CJS require from cwd (covers npm install in user's directory)
|
|
15
|
-
try {
|
|
16
|
-
const req = createRequire(join(process.cwd(), 'index.js'));
|
|
17
|
-
return req(name);
|
|
18
|
-
} catch {}
|
|
19
|
-
|
|
20
|
-
// 3. CJS require from global prefix
|
|
21
|
-
try {
|
|
22
|
-
const { execSync } = await import('child_process');
|
|
23
|
-
const globalPrefix = execSync('npm prefix -g', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
|
|
24
|
-
const req = createRequire(join(globalPrefix, 'lib', 'node_modules', '.package-lock.json'));
|
|
25
|
-
return req(name);
|
|
26
|
-
} catch {}
|
|
27
|
-
|
|
28
|
-
throw new Error(errorMessage);
|
|
29
|
-
}
|
package/src/db/sql-schema.ts
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared SQL schema for Postgres, MySQL, SQLite, CockroachDB, etc.
|
|
3
|
-
* Each adapter translates these to dialect-specific DDL.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export const TABLES = {
|
|
7
|
-
company: `
|
|
8
|
-
CREATE TABLE IF NOT EXISTS company_settings (
|
|
9
|
-
id TEXT PRIMARY KEY DEFAULT 'default',
|
|
10
|
-
name TEXT NOT NULL,
|
|
11
|
-
domain TEXT,
|
|
12
|
-
subdomain TEXT NOT NULL UNIQUE,
|
|
13
|
-
smtp_host TEXT,
|
|
14
|
-
smtp_port INTEGER,
|
|
15
|
-
smtp_user TEXT,
|
|
16
|
-
smtp_pass TEXT,
|
|
17
|
-
dkim_private_key TEXT,
|
|
18
|
-
logo_url TEXT,
|
|
19
|
-
primary_color TEXT DEFAULT '#6366f1',
|
|
20
|
-
sso_config TEXT DEFAULT '{}',
|
|
21
|
-
plan TEXT NOT NULL DEFAULT 'self-hosted',
|
|
22
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
23
|
-
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
24
|
-
)`,
|
|
25
|
-
|
|
26
|
-
agents: `
|
|
27
|
-
CREATE TABLE IF NOT EXISTS agents (
|
|
28
|
-
id TEXT PRIMARY KEY,
|
|
29
|
-
name TEXT NOT NULL UNIQUE,
|
|
30
|
-
email TEXT NOT NULL UNIQUE,
|
|
31
|
-
role TEXT NOT NULL DEFAULT 'assistant',
|
|
32
|
-
status TEXT NOT NULL DEFAULT 'active',
|
|
33
|
-
metadata TEXT DEFAULT '{}',
|
|
34
|
-
created_by TEXT NOT NULL,
|
|
35
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
36
|
-
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
37
|
-
)`,
|
|
38
|
-
|
|
39
|
-
users: `
|
|
40
|
-
CREATE TABLE IF NOT EXISTS users (
|
|
41
|
-
id TEXT PRIMARY KEY,
|
|
42
|
-
email TEXT NOT NULL UNIQUE,
|
|
43
|
-
name TEXT NOT NULL,
|
|
44
|
-
role TEXT NOT NULL DEFAULT 'member',
|
|
45
|
-
password_hash TEXT,
|
|
46
|
-
sso_provider TEXT,
|
|
47
|
-
sso_subject TEXT,
|
|
48
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
49
|
-
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
50
|
-
last_login_at TIMESTAMP
|
|
51
|
-
)`,
|
|
52
|
-
|
|
53
|
-
audit_log: `
|
|
54
|
-
CREATE TABLE IF NOT EXISTS audit_log (
|
|
55
|
-
id TEXT PRIMARY KEY,
|
|
56
|
-
timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
57
|
-
actor TEXT NOT NULL,
|
|
58
|
-
actor_type TEXT NOT NULL DEFAULT 'user',
|
|
59
|
-
action TEXT NOT NULL,
|
|
60
|
-
resource TEXT NOT NULL,
|
|
61
|
-
details TEXT DEFAULT '{}',
|
|
62
|
-
ip TEXT
|
|
63
|
-
)`,
|
|
64
|
-
|
|
65
|
-
api_keys: `
|
|
66
|
-
CREATE TABLE IF NOT EXISTS api_keys (
|
|
67
|
-
id TEXT PRIMARY KEY,
|
|
68
|
-
name TEXT NOT NULL,
|
|
69
|
-
key_hash TEXT NOT NULL,
|
|
70
|
-
key_prefix TEXT NOT NULL,
|
|
71
|
-
scopes TEXT NOT NULL DEFAULT '[]',
|
|
72
|
-
created_by TEXT NOT NULL,
|
|
73
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
74
|
-
last_used_at TIMESTAMP,
|
|
75
|
-
expires_at TIMESTAMP,
|
|
76
|
-
revoked INTEGER NOT NULL DEFAULT 0
|
|
77
|
-
)`,
|
|
78
|
-
|
|
79
|
-
email_rules: `
|
|
80
|
-
CREATE TABLE IF NOT EXISTS email_rules (
|
|
81
|
-
id TEXT PRIMARY KEY,
|
|
82
|
-
name TEXT NOT NULL,
|
|
83
|
-
agent_id TEXT,
|
|
84
|
-
conditions TEXT NOT NULL DEFAULT '{}',
|
|
85
|
-
actions TEXT NOT NULL DEFAULT '{}',
|
|
86
|
-
priority INTEGER NOT NULL DEFAULT 0,
|
|
87
|
-
enabled INTEGER NOT NULL DEFAULT 1,
|
|
88
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
89
|
-
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
90
|
-
)`,
|
|
91
|
-
|
|
92
|
-
retention_policy: `
|
|
93
|
-
CREATE TABLE IF NOT EXISTS retention_policy (
|
|
94
|
-
id TEXT PRIMARY KEY DEFAULT 'default',
|
|
95
|
-
enabled INTEGER NOT NULL DEFAULT 0,
|
|
96
|
-
retain_days INTEGER NOT NULL DEFAULT 365,
|
|
97
|
-
exclude_tags TEXT DEFAULT '[]',
|
|
98
|
-
archive_first INTEGER NOT NULL DEFAULT 1
|
|
99
|
-
)`,
|
|
100
|
-
|
|
101
|
-
// Indexes
|
|
102
|
-
indexes: [
|
|
103
|
-
'CREATE INDEX IF NOT EXISTS idx_agents_status ON agents(status)',
|
|
104
|
-
'CREATE INDEX IF NOT EXISTS idx_agents_name ON agents(name)',
|
|
105
|
-
'CREATE INDEX IF NOT EXISTS idx_users_email ON users(email)',
|
|
106
|
-
'CREATE INDEX IF NOT EXISTS idx_users_sso ON users(sso_provider, sso_subject)',
|
|
107
|
-
'CREATE INDEX IF NOT EXISTS idx_audit_timestamp ON audit_log(timestamp)',
|
|
108
|
-
'CREATE INDEX IF NOT EXISTS idx_audit_actor ON audit_log(actor)',
|
|
109
|
-
'CREATE INDEX IF NOT EXISTS idx_audit_action ON audit_log(action)',
|
|
110
|
-
'CREATE INDEX IF NOT EXISTS idx_api_keys_hash ON api_keys(key_hash)',
|
|
111
|
-
'CREATE INDEX IF NOT EXISTS idx_api_keys_prefix ON api_keys(key_prefix)',
|
|
112
|
-
'CREATE INDEX IF NOT EXISTS idx_email_rules_agent ON email_rules(agent_id)',
|
|
113
|
-
],
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
export function getAllCreateStatements(): string[] {
|
|
117
|
-
const stmts: string[] = [];
|
|
118
|
-
for (const [key, value] of Object.entries(TABLES)) {
|
|
119
|
-
if (key === 'indexes') continue;
|
|
120
|
-
stmts.push(value as string);
|
|
121
|
-
}
|
|
122
|
-
stmts.push(...TABLES.indexes);
|
|
123
|
-
return stmts;
|
|
124
|
-
}
|
package/src/db/sqlite.ts
DELETED
|
@@ -1,493 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite Database Adapter
|
|
3
|
-
*
|
|
4
|
-
* For development, small teams, or self-hosted single-server deployments.
|
|
5
|
-
* Uses better-sqlite3 for sync performance.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { randomUUID, createHash } from 'crypto';
|
|
9
|
-
import {
|
|
10
|
-
DatabaseAdapter, DatabaseConfig,
|
|
11
|
-
Agent, AgentInput, User, UserInput,
|
|
12
|
-
AuditEvent, AuditFilters, ApiKey, ApiKeyInput,
|
|
13
|
-
EmailRule, RetentionPolicy, CompanySettings,
|
|
14
|
-
} from './adapter.js';
|
|
15
|
-
import { getAllCreateStatements } from './sql-schema.js';
|
|
16
|
-
|
|
17
|
-
let Database: any;
|
|
18
|
-
|
|
19
|
-
async function getSqlite() {
|
|
20
|
-
if (!Database) {
|
|
21
|
-
try {
|
|
22
|
-
const { resolveDriver } = await import("./resolve-driver.js"); const mod = await resolveDriver("better-sqlite3", "SQLite driver not found. Install it: npm install better-sqlite3");
|
|
23
|
-
Database = mod.default;
|
|
24
|
-
} catch {
|
|
25
|
-
throw new Error('SQLite driver not found. Install it: npm install better-sqlite3');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return Database;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export class SqliteAdapter extends DatabaseAdapter {
|
|
32
|
-
readonly type = 'sqlite' as const;
|
|
33
|
-
private db: any = null;
|
|
34
|
-
|
|
35
|
-
async connect(config: DatabaseConfig): Promise<void> {
|
|
36
|
-
const Db = await getSqlite();
|
|
37
|
-
const path = config.connectionString || config.database || './agenticmail-enterprise.db';
|
|
38
|
-
this.db = new Db(path);
|
|
39
|
-
this.db.pragma('journal_mode = WAL');
|
|
40
|
-
this.db.pragma('foreign_keys = ON');
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async disconnect(): Promise<void> {
|
|
44
|
-
if (this.db) this.db.close();
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
isConnected(): boolean {
|
|
48
|
-
return this.db !== null;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
async migrate(): Promise<void> {
|
|
52
|
-
const stmts = getAllCreateStatements();
|
|
53
|
-
const tx = this.db.transaction(() => {
|
|
54
|
-
for (const stmt of stmts) this.db.exec(stmt);
|
|
55
|
-
// Seed defaults
|
|
56
|
-
this.db.prepare(
|
|
57
|
-
`INSERT OR IGNORE INTO retention_policy (id) VALUES ('default')`
|
|
58
|
-
).run();
|
|
59
|
-
this.db.prepare(
|
|
60
|
-
`INSERT OR IGNORE INTO company_settings (id, name, subdomain) VALUES ('default', 'My Company', 'my-company')`
|
|
61
|
-
).run();
|
|
62
|
-
// Add permissions column if missing
|
|
63
|
-
try { this.db.exec(`ALTER TABLE users ADD COLUMN permissions TEXT DEFAULT '"*"'`); } catch { /* exists */ }
|
|
64
|
-
try { this.db.exec(`ALTER TABLE users ADD COLUMN must_reset_password INTEGER DEFAULT 0`); } catch { /* exists */ }
|
|
65
|
-
try { this.db.exec(`ALTER TABLE users ADD COLUMN is_active INTEGER DEFAULT 1`); } catch { /* exists */ }
|
|
66
|
-
try { this.db.exec(`ALTER TABLE users ADD COLUMN client_org_id TEXT`); } catch { /* exists */ }
|
|
67
|
-
try { this.db.exec(`ALTER TABLE agents ADD COLUMN billing_rate REAL DEFAULT 0`); } catch { /* exists */ }
|
|
68
|
-
// ─── Client Organizations ────────────────────────────
|
|
69
|
-
this.db.exec(`
|
|
70
|
-
CREATE TABLE IF NOT EXISTS client_organizations (
|
|
71
|
-
id TEXT PRIMARY KEY,
|
|
72
|
-
name TEXT NOT NULL,
|
|
73
|
-
slug TEXT NOT NULL UNIQUE,
|
|
74
|
-
contact_name TEXT,
|
|
75
|
-
contact_email TEXT,
|
|
76
|
-
description TEXT,
|
|
77
|
-
is_active INTEGER DEFAULT 1,
|
|
78
|
-
settings TEXT DEFAULT '{}',
|
|
79
|
-
created_at TEXT DEFAULT (datetime('now')),
|
|
80
|
-
updated_at TEXT DEFAULT (datetime('now'))
|
|
81
|
-
);
|
|
82
|
-
`);
|
|
83
|
-
try { this.db.exec(`ALTER TABLE client_organizations ADD COLUMN billing_rate_per_agent REAL DEFAULT 0`); } catch { /* exists */ }
|
|
84
|
-
try { this.db.exec(`ALTER TABLE client_organizations ADD COLUMN currency TEXT DEFAULT 'USD'`); } catch { /* exists */ }
|
|
85
|
-
try { this.db.exec(`ALTER TABLE agents ADD COLUMN client_org_id TEXT REFERENCES client_organizations(id)`); } catch { /* exists */ }
|
|
86
|
-
this.db.exec(`CREATE TABLE IF NOT EXISTS org_billing_records (
|
|
87
|
-
id TEXT PRIMARY KEY, org_id TEXT NOT NULL, agent_id TEXT, month TEXT NOT NULL,
|
|
88
|
-
revenue REAL DEFAULT 0, token_cost REAL DEFAULT 0, input_tokens INTEGER DEFAULT 0,
|
|
89
|
-
output_tokens INTEGER DEFAULT 0, notes TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
90
|
-
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, UNIQUE(org_id, agent_id, month)
|
|
91
|
-
)`);
|
|
92
|
-
this.db.exec(`
|
|
93
|
-
CREATE TABLE IF NOT EXISTS agent_knowledge_access (
|
|
94
|
-
id TEXT PRIMARY KEY,
|
|
95
|
-
agent_id TEXT NOT NULL,
|
|
96
|
-
knowledge_base_id TEXT NOT NULL,
|
|
97
|
-
access_type TEXT NOT NULL DEFAULT 'read',
|
|
98
|
-
created_at TEXT DEFAULT (datetime('now')),
|
|
99
|
-
UNIQUE(agent_id, knowledge_base_id)
|
|
100
|
-
);
|
|
101
|
-
`);
|
|
102
|
-
});
|
|
103
|
-
tx();
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// ─── Engine Integration ──────────────────────────────────
|
|
107
|
-
|
|
108
|
-
getEngineDB() {
|
|
109
|
-
if (!this.db) return null;
|
|
110
|
-
const db = this.db;
|
|
111
|
-
return {
|
|
112
|
-
run: async (sql: string, params?: any[]) => { db.prepare(sql).run(...(params || [])); },
|
|
113
|
-
get: async <T = any>(sql: string, params?: any[]): Promise<T | undefined> => {
|
|
114
|
-
return db.prepare(sql).get(...(params || [])) as T | undefined;
|
|
115
|
-
},
|
|
116
|
-
all: async <T = any>(sql: string, params?: any[]): Promise<T[]> => {
|
|
117
|
-
return db.prepare(sql).all(...(params || [])) as T[];
|
|
118
|
-
},
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// ─── Company ─────────────────────────────────────────────
|
|
123
|
-
|
|
124
|
-
async getSettings(): Promise<CompanySettings> {
|
|
125
|
-
const r = this.db.prepare('SELECT * FROM company_settings WHERE id = ?').get('default');
|
|
126
|
-
return r ? this.mapSettings(r) : null!;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
async updateSettings(updates: Partial<CompanySettings>): Promise<CompanySettings> {
|
|
130
|
-
const map: Record<string, string> = {
|
|
131
|
-
name: 'name', domain: 'domain', subdomain: 'subdomain',
|
|
132
|
-
smtpHost: 'smtp_host', smtpPort: 'smtp_port', smtpUser: 'smtp_user',
|
|
133
|
-
smtpPass: 'smtp_pass', dkimPrivateKey: 'dkim_private_key',
|
|
134
|
-
logoUrl: 'logo_url', primaryColor: 'primary_color', plan: 'plan',
|
|
135
|
-
deploymentKeyHash: 'deployment_key_hash',
|
|
136
|
-
domainRegistrationId: 'domain_registration_id',
|
|
137
|
-
domainDnsChallenge: 'domain_dns_challenge',
|
|
138
|
-
domainVerifiedAt: 'domain_verified_at',
|
|
139
|
-
domainRegisteredAt: 'domain_registered_at',
|
|
140
|
-
domainStatus: 'domain_status',
|
|
141
|
-
};
|
|
142
|
-
const sets: string[] = [];
|
|
143
|
-
const vals: any[] = [];
|
|
144
|
-
for (const [key, col] of Object.entries(map)) {
|
|
145
|
-
if ((updates as any)[key] !== undefined) {
|
|
146
|
-
sets.push(`${col} = ?`);
|
|
147
|
-
vals.push((updates as any)[key]);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (updates.ssoConfig !== undefined) {
|
|
151
|
-
sets.push('sso_config = ?');
|
|
152
|
-
vals.push(JSON.stringify(updates.ssoConfig));
|
|
153
|
-
}
|
|
154
|
-
if (updates.toolSecurityConfig !== undefined) {
|
|
155
|
-
sets.push('tool_security_config = ?');
|
|
156
|
-
vals.push(JSON.stringify(updates.toolSecurityConfig));
|
|
157
|
-
}
|
|
158
|
-
if (updates.firewallConfig !== undefined) {
|
|
159
|
-
sets.push('firewall_config = ?');
|
|
160
|
-
vals.push(JSON.stringify(updates.firewallConfig));
|
|
161
|
-
}
|
|
162
|
-
if (updates.modelPricingConfig !== undefined) {
|
|
163
|
-
sets.push('model_pricing_config = ?');
|
|
164
|
-
vals.push(JSON.stringify(updates.modelPricingConfig));
|
|
165
|
-
}
|
|
166
|
-
if (updates.securityConfig !== undefined) {
|
|
167
|
-
sets.push('security_config = ?');
|
|
168
|
-
vals.push(JSON.stringify(updates.securityConfig));
|
|
169
|
-
}
|
|
170
|
-
sets.push("updated_at = datetime('now')");
|
|
171
|
-
vals.push('default');
|
|
172
|
-
this.db.prepare(`UPDATE company_settings SET ${sets.join(', ')} WHERE id = ?`).run(...vals);
|
|
173
|
-
return this.getSettings();
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
// ─── Agents ──────────────────────────────────────────────
|
|
177
|
-
|
|
178
|
-
async createAgent(input: AgentInput): Promise<Agent> {
|
|
179
|
-
const id = input.id || randomUUID();
|
|
180
|
-
const email = input.email || `${input.name.toLowerCase().replace(/\s+/g, '-')}@localhost`;
|
|
181
|
-
this.db.prepare(
|
|
182
|
-
`INSERT INTO agents (id, name, email, role, metadata, created_by) VALUES (?, ?, ?, ?, ?, ?)`
|
|
183
|
-
).run(id, input.name, email, input.role || 'assistant', JSON.stringify(input.metadata || {}), input.createdBy);
|
|
184
|
-
return (await this.getAgent(id))!;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
async getAgent(id: string): Promise<Agent | null> {
|
|
188
|
-
const r = this.db.prepare('SELECT * FROM agents WHERE id = ?').get(id);
|
|
189
|
-
return r ? this.mapAgent(r) : null;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
async getAgentByName(name: string): Promise<Agent | null> {
|
|
193
|
-
const r = this.db.prepare('SELECT * FROM agents WHERE name = ?').get(name);
|
|
194
|
-
return r ? this.mapAgent(r) : null;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
async listAgents(opts?: { status?: string; limit?: number; offset?: number }): Promise<Agent[]> {
|
|
198
|
-
let q = 'SELECT * FROM agents';
|
|
199
|
-
const params: any[] = [];
|
|
200
|
-
if (opts?.status) { q += ' WHERE status = ?'; params.push(opts.status); }
|
|
201
|
-
q += ' ORDER BY created_at DESC';
|
|
202
|
-
if (opts?.limit) q += ` LIMIT ${opts.limit}`;
|
|
203
|
-
if (opts?.offset) q += ` OFFSET ${opts.offset}`;
|
|
204
|
-
return this.db.prepare(q).all(...params).map((r: any) => this.mapAgent(r));
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
async updateAgent(id: string, updates: Partial<Agent>): Promise<Agent> {
|
|
208
|
-
const fields: string[] = [];
|
|
209
|
-
const vals: any[] = [];
|
|
210
|
-
for (const [key, col] of Object.entries({ name: 'name', email: 'email', role: 'role', status: 'status' })) {
|
|
211
|
-
if ((updates as any)[key] !== undefined) { fields.push(`${col} = ?`); vals.push((updates as any)[key]); }
|
|
212
|
-
}
|
|
213
|
-
if (updates.metadata) { fields.push('metadata = ?'); vals.push(JSON.stringify(updates.metadata)); }
|
|
214
|
-
fields.push("updated_at = datetime('now')");
|
|
215
|
-
vals.push(id);
|
|
216
|
-
this.db.prepare(`UPDATE agents SET ${fields.join(', ')} WHERE id = ?`).run(...vals);
|
|
217
|
-
return (await this.getAgent(id))!;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
async archiveAgent(id: string): Promise<void> {
|
|
221
|
-
this.db.prepare("UPDATE agents SET status = 'archived', updated_at = datetime('now') WHERE id = ?").run(id);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
async deleteAgent(id: string): Promise<void> {
|
|
225
|
-
this.db.prepare('DELETE FROM agents WHERE id = ?').run(id);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
async countAgents(status?: string): Promise<number> {
|
|
229
|
-
const r = status
|
|
230
|
-
? this.db.prepare('SELECT COUNT(*) as c FROM agents WHERE status = ?').get(status)
|
|
231
|
-
: this.db.prepare('SELECT COUNT(*) as c FROM agents').get();
|
|
232
|
-
return r.c;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// ─── Users ───────────────────────────────────────────────
|
|
236
|
-
|
|
237
|
-
async createUser(input: UserInput): Promise<User> {
|
|
238
|
-
const id = randomUUID();
|
|
239
|
-
let passwordHash: string | null = null;
|
|
240
|
-
if (input.password) {
|
|
241
|
-
const { default: bcrypt } = await import('bcryptjs');
|
|
242
|
-
passwordHash = await bcrypt.hash(input.password, 12);
|
|
243
|
-
}
|
|
244
|
-
this.db.prepare(
|
|
245
|
-
`INSERT INTO users (id, email, name, role, password_hash, sso_provider, sso_subject)
|
|
246
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)`
|
|
247
|
-
).run(id, input.email, input.name, input.role, passwordHash, input.ssoProvider || null, input.ssoSubject || null);
|
|
248
|
-
return (await this.getUser(id))!;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
async getUser(id: string): Promise<User | null> {
|
|
252
|
-
const r = this.db.prepare('SELECT * FROM users WHERE id = ?').get(id);
|
|
253
|
-
return r ? this.mapUser(r) : null;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
async getUserByEmail(email: string): Promise<User | null> {
|
|
257
|
-
const r = this.db.prepare('SELECT * FROM users WHERE email = ?').get(email);
|
|
258
|
-
return r ? this.mapUser(r) : null;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
async getUserBySso(provider: string, subject: string): Promise<User | null> {
|
|
262
|
-
const r = this.db.prepare('SELECT * FROM users WHERE sso_provider = ? AND sso_subject = ?').get(provider, subject);
|
|
263
|
-
return r ? this.mapUser(r) : null;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
async listUsers(opts?: { limit?: number; offset?: number }): Promise<User[]> {
|
|
267
|
-
let q = 'SELECT * FROM users ORDER BY created_at DESC';
|
|
268
|
-
if (opts?.limit) q += ` LIMIT ${opts.limit}`;
|
|
269
|
-
if (opts?.offset) q += ` OFFSET ${opts.offset}`;
|
|
270
|
-
return this.db.prepare(q).all().map((r: any) => this.mapUser(r));
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
async updateUser(id: string, updates: Partial<User>): Promise<User> {
|
|
274
|
-
const fields: string[] = [];
|
|
275
|
-
const vals: any[] = [];
|
|
276
|
-
for (const key of ['email', 'name', 'role']) {
|
|
277
|
-
if ((updates as any)[key] !== undefined) { fields.push(`${key} = ?`); vals.push((updates as any)[key]); }
|
|
278
|
-
}
|
|
279
|
-
fields.push("updated_at = datetime('now')");
|
|
280
|
-
vals.push(id);
|
|
281
|
-
this.db.prepare(`UPDATE users SET ${fields.join(', ')} WHERE id = ?`).run(...vals);
|
|
282
|
-
return (await this.getUser(id))!;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
async deleteUser(id: string): Promise<void> {
|
|
286
|
-
this.db.prepare('DELETE FROM users WHERE id = ?').run(id);
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
// ─── Audit ───────────────────────────────────────────────
|
|
290
|
-
|
|
291
|
-
async logEvent(event: Omit<AuditEvent, 'id' | 'timestamp'>): Promise<void> {
|
|
292
|
-
this.db.prepare(
|
|
293
|
-
`INSERT INTO audit_log (id, actor, actor_type, action, resource, details, ip) VALUES (?, ?, ?, ?, ?, ?, ?)`
|
|
294
|
-
).run(randomUUID(), event.actor, event.actorType, event.action, event.resource,
|
|
295
|
-
JSON.stringify(event.details || {}), event.ip || null);
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
async queryAudit(filters: AuditFilters): Promise<{ events: AuditEvent[]; total: number }> {
|
|
299
|
-
const where: string[] = [];
|
|
300
|
-
const params: any[] = [];
|
|
301
|
-
if (filters.actor) { where.push('actor = ?'); params.push(filters.actor); }
|
|
302
|
-
if (filters.action) { where.push('action = ?'); params.push(filters.action); }
|
|
303
|
-
if (filters.resource) { where.push('resource LIKE ?'); params.push(`%${filters.resource}%`); }
|
|
304
|
-
if (filters.from) { where.push('timestamp >= ?'); params.push(filters.from.toISOString()); }
|
|
305
|
-
if (filters.to) { where.push('timestamp <= ?'); params.push(filters.to.toISOString()); }
|
|
306
|
-
const wc = where.length > 0 ? `WHERE ${where.join(' AND ')}` : '';
|
|
307
|
-
const total = this.db.prepare(`SELECT COUNT(*) as c FROM audit_log ${wc}`).get(...params).c;
|
|
308
|
-
let q = `SELECT * FROM audit_log ${wc} ORDER BY timestamp DESC`;
|
|
309
|
-
if (filters.limit) q += ` LIMIT ${filters.limit}`;
|
|
310
|
-
if (filters.offset) q += ` OFFSET ${filters.offset}`;
|
|
311
|
-
const rows = this.db.prepare(q).all(...params);
|
|
312
|
-
return {
|
|
313
|
-
events: rows.map((r: any) => ({
|
|
314
|
-
id: r.id, timestamp: new Date(r.timestamp), actor: r.actor, actorType: r.actor_type,
|
|
315
|
-
action: r.action, resource: r.resource, details: JSON.parse(r.details || '{}'), ip: r.ip,
|
|
316
|
-
})),
|
|
317
|
-
total,
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
// ─── API Keys ────────────────────────────────────────────
|
|
322
|
-
|
|
323
|
-
async createApiKey(input: ApiKeyInput): Promise<{ key: ApiKey; plaintext: string }> {
|
|
324
|
-
const id = randomUUID();
|
|
325
|
-
const plaintext = `ek_${randomUUID().replace(/-/g, '')}`;
|
|
326
|
-
const keyHash = createHash('sha256').update(plaintext).digest('hex');
|
|
327
|
-
const keyPrefix = plaintext.substring(0, 11);
|
|
328
|
-
this.db.prepare(
|
|
329
|
-
`INSERT INTO api_keys (id, name, key_hash, key_prefix, scopes, created_by, expires_at)
|
|
330
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)`
|
|
331
|
-
).run(id, input.name, keyHash, keyPrefix, JSON.stringify(input.scopes), input.createdBy, input.expiresAt?.toISOString() || null);
|
|
332
|
-
return { key: (await this.getApiKey(id))!, plaintext };
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
async getApiKey(id: string): Promise<ApiKey | null> {
|
|
336
|
-
const r = this.db.prepare('SELECT * FROM api_keys WHERE id = ?').get(id);
|
|
337
|
-
return r ? this.mapApiKey(r) : null;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
async validateApiKey(plaintext: string): Promise<ApiKey | null> {
|
|
341
|
-
const keyHash = createHash('sha256').update(plaintext).digest('hex');
|
|
342
|
-
const r = this.db.prepare('SELECT * FROM api_keys WHERE key_hash = ? AND revoked = 0').get(keyHash);
|
|
343
|
-
if (!r) return null;
|
|
344
|
-
const key = this.mapApiKey(r);
|
|
345
|
-
if (key.expiresAt && new Date() > key.expiresAt) return null;
|
|
346
|
-
this.db.prepare("UPDATE api_keys SET last_used_at = datetime('now') WHERE id = ?").run(key.id);
|
|
347
|
-
return key;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
async listApiKeys(opts?: { createdBy?: string }): Promise<ApiKey[]> {
|
|
351
|
-
let q = 'SELECT * FROM api_keys WHERE revoked = 0';
|
|
352
|
-
const params: any[] = [];
|
|
353
|
-
if (opts?.createdBy) { q += ' AND created_by = ?'; params.push(opts.createdBy); }
|
|
354
|
-
q += ' ORDER BY created_at DESC';
|
|
355
|
-
return this.db.prepare(q).all(...params).map((r: any) => this.mapApiKey(r));
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
async revokeApiKey(id: string): Promise<void> {
|
|
359
|
-
this.db.prepare('UPDATE api_keys SET revoked = 1 WHERE id = ?').run(id);
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
// ─── Rules ───────────────────────────────────────────────
|
|
363
|
-
|
|
364
|
-
async createRule(rule: Omit<EmailRule, 'id' | 'createdAt' | 'updatedAt'>): Promise<EmailRule> {
|
|
365
|
-
const id = randomUUID();
|
|
366
|
-
this.db.prepare(
|
|
367
|
-
`INSERT INTO email_rules (id, name, agent_id, conditions, actions, priority, enabled)
|
|
368
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)`
|
|
369
|
-
).run(id, rule.name, rule.agentId || null, JSON.stringify(rule.conditions), JSON.stringify(rule.actions),
|
|
370
|
-
rule.priority, rule.enabled ? 1 : 0);
|
|
371
|
-
const r = this.db.prepare('SELECT * FROM email_rules WHERE id = ?').get(id);
|
|
372
|
-
return this.mapRule(r);
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
async getRules(agentId?: string): Promise<EmailRule[]> {
|
|
376
|
-
let q = 'SELECT * FROM email_rules';
|
|
377
|
-
const params: any[] = [];
|
|
378
|
-
if (agentId) { q += ' WHERE agent_id = ? OR agent_id IS NULL'; params.push(agentId); }
|
|
379
|
-
q += ' ORDER BY priority DESC';
|
|
380
|
-
return this.db.prepare(q).all(...params).map((r: any) => this.mapRule(r));
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
async updateRule(id: string, updates: Partial<EmailRule>): Promise<EmailRule> {
|
|
384
|
-
const fields: string[] = [];
|
|
385
|
-
const vals: any[] = [];
|
|
386
|
-
if (updates.name !== undefined) { fields.push('name = ?'); vals.push(updates.name); }
|
|
387
|
-
if (updates.conditions) { fields.push('conditions = ?'); vals.push(JSON.stringify(updates.conditions)); }
|
|
388
|
-
if (updates.actions) { fields.push('actions = ?'); vals.push(JSON.stringify(updates.actions)); }
|
|
389
|
-
if (updates.priority !== undefined) { fields.push('priority = ?'); vals.push(updates.priority); }
|
|
390
|
-
if (updates.enabled !== undefined) { fields.push('enabled = ?'); vals.push(updates.enabled ? 1 : 0); }
|
|
391
|
-
fields.push("updated_at = datetime('now')");
|
|
392
|
-
vals.push(id);
|
|
393
|
-
this.db.prepare(`UPDATE email_rules SET ${fields.join(', ')} WHERE id = ?`).run(...vals);
|
|
394
|
-
const r = this.db.prepare('SELECT * FROM email_rules WHERE id = ?').get(id);
|
|
395
|
-
return this.mapRule(r);
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
async deleteRule(id: string): Promise<void> {
|
|
399
|
-
this.db.prepare('DELETE FROM email_rules WHERE id = ?').run(id);
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
// ─── Retention ───────────────────────────────────────────
|
|
403
|
-
|
|
404
|
-
async getRetentionPolicy(): Promise<RetentionPolicy> {
|
|
405
|
-
const r = this.db.prepare('SELECT * FROM retention_policy WHERE id = ?').get('default');
|
|
406
|
-
if (!r) return { enabled: false, retainDays: 365, archiveFirst: true };
|
|
407
|
-
return { enabled: !!r.enabled, retainDays: r.retain_days, excludeTags: JSON.parse(r.exclude_tags || '[]'), archiveFirst: !!r.archive_first };
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
async setRetentionPolicy(policy: RetentionPolicy): Promise<void> {
|
|
411
|
-
this.db.prepare(
|
|
412
|
-
`UPDATE retention_policy SET enabled = ?, retain_days = ?, exclude_tags = ?, archive_first = ? WHERE id = 'default'`
|
|
413
|
-
).run(policy.enabled ? 1 : 0, policy.retainDays, JSON.stringify(policy.excludeTags || []), policy.archiveFirst ? 1 : 0);
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
// ─── Stats ───────────────────────────────────────────────
|
|
417
|
-
|
|
418
|
-
async getStats() {
|
|
419
|
-
return {
|
|
420
|
-
totalAgents: this.db.prepare('SELECT COUNT(*) as c FROM agents').get().c,
|
|
421
|
-
activeAgents: this.db.prepare("SELECT COUNT(*) as c FROM agents WHERE status = 'active'").get().c,
|
|
422
|
-
totalUsers: this.db.prepare('SELECT COUNT(*) as c FROM users').get().c,
|
|
423
|
-
totalEmails: 0,
|
|
424
|
-
totalAuditEvents: this.db.prepare('SELECT COUNT(*) as c FROM audit_log').get().c,
|
|
425
|
-
};
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
// ─── Mappers ─────────────────────────────────────────────
|
|
429
|
-
|
|
430
|
-
private mapAgent(r: any): Agent {
|
|
431
|
-
return {
|
|
432
|
-
id: r.id, name: r.name, email: r.email, role: r.role, status: r.status,
|
|
433
|
-
metadata: typeof r.metadata === 'string' ? JSON.parse(r.metadata) : r.metadata,
|
|
434
|
-
createdAt: new Date(r.created_at), updatedAt: new Date(r.updated_at), createdBy: r.created_by,
|
|
435
|
-
client_org_id: r.client_org_id || null,
|
|
436
|
-
};
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
private mapUser(r: any): User {
|
|
440
|
-
return {
|
|
441
|
-
id: r.id, email: r.email, name: r.name, role: r.role,
|
|
442
|
-
passwordHash: r.password_hash, ssoProvider: r.sso_provider, ssoSubject: r.sso_subject,
|
|
443
|
-
totpSecret: r.totp_secret, totpEnabled: !!r.totp_enabled, totpBackupCodes: r.totp_backup_codes,
|
|
444
|
-
permissions: r.permissions != null ? (typeof r.permissions === 'string' ? (() => { try { return JSON.parse(r.permissions); } catch { return '*'; } })() : r.permissions) : '*',
|
|
445
|
-
mustResetPassword: !!r.must_reset_password,
|
|
446
|
-
isActive: r.is_active !== 0 && r.is_active !== false,
|
|
447
|
-
clientOrgId: r.client_org_id || null,
|
|
448
|
-
createdAt: new Date(r.created_at), updatedAt: new Date(r.updated_at),
|
|
449
|
-
lastLoginAt: r.last_login_at ? new Date(r.last_login_at) : undefined,
|
|
450
|
-
};
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
private mapApiKey(r: any): ApiKey {
|
|
454
|
-
return {
|
|
455
|
-
id: r.id, name: r.name, keyHash: r.key_hash, keyPrefix: r.key_prefix,
|
|
456
|
-
scopes: typeof r.scopes === 'string' ? JSON.parse(r.scopes) : r.scopes,
|
|
457
|
-
createdBy: r.created_by, createdAt: new Date(r.created_at),
|
|
458
|
-
lastUsedAt: r.last_used_at ? new Date(r.last_used_at) : undefined,
|
|
459
|
-
expiresAt: r.expires_at ? new Date(r.expires_at) : undefined,
|
|
460
|
-
revoked: !!r.revoked,
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
private mapRule(r: any): EmailRule {
|
|
465
|
-
return {
|
|
466
|
-
id: r.id, name: r.name, agentId: r.agent_id,
|
|
467
|
-
conditions: typeof r.conditions === 'string' ? JSON.parse(r.conditions) : r.conditions,
|
|
468
|
-
actions: typeof r.actions === 'string' ? JSON.parse(r.actions) : r.actions,
|
|
469
|
-
priority: r.priority, enabled: !!r.enabled,
|
|
470
|
-
createdAt: new Date(r.created_at), updatedAt: new Date(r.updated_at),
|
|
471
|
-
};
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
private mapSettings(r: any): CompanySettings {
|
|
475
|
-
return {
|
|
476
|
-
id: r.id, name: r.name, domain: r.domain, subdomain: r.subdomain,
|
|
477
|
-
smtpHost: r.smtp_host, smtpPort: r.smtp_port, smtpUser: r.smtp_user, smtpPass: r.smtp_pass,
|
|
478
|
-
dkimPrivateKey: r.dkim_private_key, logoUrl: r.logo_url, primaryColor: r.primary_color,
|
|
479
|
-
ssoConfig: r.sso_config ? (typeof r.sso_config === 'string' ? JSON.parse(r.sso_config) : r.sso_config) : undefined,
|
|
480
|
-
toolSecurityConfig: r.tool_security_config ? (typeof r.tool_security_config === 'string' ? JSON.parse(r.tool_security_config) : r.tool_security_config) : {},
|
|
481
|
-
firewallConfig: r.firewall_config ? (typeof r.firewall_config === 'string' ? JSON.parse(r.firewall_config) : r.firewall_config) : {},
|
|
482
|
-
modelPricingConfig: r.model_pricing_config ? (typeof r.model_pricing_config === 'string' ? JSON.parse(r.model_pricing_config) : r.model_pricing_config) : {},
|
|
483
|
-
securityConfig: r.security_config ? (typeof r.security_config === 'string' ? JSON.parse(r.security_config) : r.security_config) : {},
|
|
484
|
-
plan: r.plan, createdAt: new Date(r.created_at), updatedAt: new Date(r.updated_at),
|
|
485
|
-
deploymentKeyHash: r.deployment_key_hash,
|
|
486
|
-
domainRegistrationId: r.domain_registration_id,
|
|
487
|
-
domainDnsChallenge: r.domain_dns_challenge,
|
|
488
|
-
domainVerifiedAt: r.domain_verified_at || undefined,
|
|
489
|
-
domainRegisteredAt: r.domain_registered_at || undefined,
|
|
490
|
-
domainStatus: r.domain_status || 'unregistered',
|
|
491
|
-
};
|
|
492
|
-
}
|
|
493
|
-
}
|