@arbium/enterprise-agent-connect 0.0.0-stage → 0.1.2-dev.d2aa5ca
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/LICENSE +202 -0
- package/README.md +264 -2
- package/dist/connectors/dell-techdirect/connector.json +39 -0
- package/dist/connectors/dell-techdirect/index.d.ts +8 -0
- package/dist/connectors/dell-techdirect/index.js +7 -0
- package/dist/connectors/dell-techdirect/index.js.map +1 -0
- package/dist/connectors/dell-techdirect/tools.d.ts +2 -0
- package/dist/connectors/dell-techdirect/tools.js +49 -0
- package/dist/connectors/dell-techdirect/tools.js.map +1 -0
- package/dist/connectors/dell-techdirect/vendor.d.ts +6 -0
- package/dist/connectors/dell-techdirect/vendor.js +57 -0
- package/dist/connectors/dell-techdirect/vendor.js.map +1 -0
- package/dist/connectors/dynamics-365/connector.json +213 -0
- package/dist/connectors/dynamics-365/index.d.ts +11 -0
- package/dist/connectors/dynamics-365/index.js +10 -0
- package/dist/connectors/dynamics-365/index.js.map +1 -0
- package/dist/connectors/dynamics-365/tools.d.ts +35 -0
- package/dist/connectors/dynamics-365/tools.js +806 -0
- package/dist/connectors/dynamics-365/tools.js.map +1 -0
- package/dist/connectors/dynamics-365/vendor.d.ts +9 -0
- package/dist/connectors/dynamics-365/vendor.js +110 -0
- package/dist/connectors/dynamics-365/vendor.js.map +1 -0
- package/dist/connectors/entra/connector.json +85 -0
- package/dist/connectors/entra/index.d.ts +2 -0
- package/dist/connectors/entra/index.js +4 -0
- package/dist/connectors/entra/index.js.map +1 -0
- package/dist/connectors/entra/tools.d.ts +14 -0
- package/dist/connectors/entra/tools.js +262 -0
- package/dist/connectors/entra/tools.js.map +1 -0
- package/dist/connectors/fedex/connector.json +118 -0
- package/dist/connectors/fedex/index.d.ts +8 -0
- package/dist/connectors/fedex/index.js +7 -0
- package/dist/connectors/fedex/index.js.map +1 -0
- package/dist/connectors/fedex/tools.d.ts +3 -0
- package/dist/connectors/fedex/tools.js +152 -0
- package/dist/connectors/fedex/tools.js.map +1 -0
- package/dist/connectors/fedex/vendor.d.ts +7 -0
- package/dist/connectors/fedex/vendor.js +98 -0
- package/dist/connectors/fedex/vendor.js.map +1 -0
- package/dist/connectors/gong/connector.json +127 -0
- package/dist/connectors/gong/index.d.ts +8 -0
- package/dist/connectors/gong/index.js +7 -0
- package/dist/connectors/gong/index.js.map +1 -0
- package/dist/connectors/gong/tools.d.ts +8 -0
- package/dist/connectors/gong/tools.js +424 -0
- package/dist/connectors/gong/tools.js.map +1 -0
- package/dist/connectors/gong/vendor.d.ts +4 -0
- package/dist/connectors/gong/vendor.js +97 -0
- package/dist/connectors/gong/vendor.js.map +1 -0
- package/dist/connectors/http/index.d.ts +38 -0
- package/dist/connectors/http/index.js +322 -0
- package/dist/connectors/http/index.js.map +1 -0
- package/dist/connectors/intune/connector.json +106 -0
- package/dist/connectors/intune/index.d.ts +2 -0
- package/dist/connectors/intune/index.js +4 -0
- package/dist/connectors/intune/index.js.map +1 -0
- package/dist/connectors/intune/tools.d.ts +12 -0
- package/dist/connectors/intune/tools.js +416 -0
- package/dist/connectors/intune/tools.js.map +1 -0
- package/dist/connectors/jamf/connector.json +182 -0
- package/dist/connectors/jamf/index.d.ts +8 -0
- package/dist/connectors/jamf/index.js +7 -0
- package/dist/connectors/jamf/index.js.map +1 -0
- package/dist/connectors/jamf/tools.d.ts +7 -0
- package/dist/connectors/jamf/tools.js +659 -0
- package/dist/connectors/jamf/tools.js.map +1 -0
- package/dist/connectors/jamf/vendor.d.ts +5 -0
- package/dist/connectors/jamf/vendor.js +66 -0
- package/dist/connectors/jamf/vendor.js.map +1 -0
- package/dist/connectors/jira/connector.json +272 -0
- package/dist/connectors/jira/index.d.ts +8 -0
- package/dist/connectors/jira/index.js +7 -0
- package/dist/connectors/jira/index.js.map +1 -0
- package/dist/connectors/jira/jql.d.ts +4 -0
- package/dist/connectors/jira/jql.js +67 -0
- package/dist/connectors/jira/jql.js.map +1 -0
- package/dist/connectors/jira/tools.d.ts +3 -0
- package/dist/connectors/jira/tools.js +464 -0
- package/dist/connectors/jira/tools.js.map +1 -0
- package/dist/connectors/jira/vendor.d.ts +3 -0
- package/dist/connectors/jira/vendor.js +94 -0
- package/dist/connectors/jira/vendor.js.map +1 -0
- package/dist/connectors/microsoft/client.d.ts +58 -0
- package/dist/connectors/microsoft/client.js +434 -0
- package/dist/connectors/microsoft/client.js.map +1 -0
- package/dist/connectors/microsoft/provider.json +118 -0
- package/dist/connectors/netsuite/connector.json +315 -0
- package/dist/connectors/netsuite/index.d.ts +8 -0
- package/dist/connectors/netsuite/index.js +7 -0
- package/dist/connectors/netsuite/index.js.map +1 -0
- package/dist/connectors/netsuite/tools.d.ts +24 -0
- package/dist/connectors/netsuite/tools.js +447 -0
- package/dist/connectors/netsuite/tools.js.map +1 -0
- package/dist/connectors/netsuite/vendor.d.ts +26 -0
- package/dist/connectors/netsuite/vendor.js +248 -0
- package/dist/connectors/netsuite/vendor.js.map +1 -0
- package/dist/connectors/odata/index.d.ts +36 -0
- package/dist/connectors/odata/index.js +460 -0
- package/dist/connectors/odata/index.js.map +1 -0
- package/dist/connectors/okta/connector.json +193 -0
- package/dist/connectors/okta/index.d.ts +8 -0
- package/dist/connectors/okta/index.js +7 -0
- package/dist/connectors/okta/index.js.map +1 -0
- package/dist/connectors/okta/tools.d.ts +6 -0
- package/dist/connectors/okta/tools.js +429 -0
- package/dist/connectors/okta/tools.js.map +1 -0
- package/dist/connectors/okta/vendor.d.ts +14 -0
- package/dist/connectors/okta/vendor.js +203 -0
- package/dist/connectors/okta/vendor.js.map +1 -0
- package/dist/connectors/outlook-calendar/connector.json +136 -0
- package/dist/connectors/outlook-calendar/index.d.ts +2 -0
- package/dist/connectors/outlook-calendar/index.js +4 -0
- package/dist/connectors/outlook-calendar/index.js.map +1 -0
- package/dist/connectors/outlook-calendar/tools.d.ts +65 -0
- package/dist/connectors/outlook-calendar/tools.js +398 -0
- package/dist/connectors/outlook-calendar/tools.js.map +1 -0
- package/dist/connectors/outlook-mail/connector.json +154 -0
- package/dist/connectors/outlook-mail/index.d.ts +2 -0
- package/dist/connectors/outlook-mail/index.js +4 -0
- package/dist/connectors/outlook-mail/index.js.map +1 -0
- package/dist/connectors/outlook-mail/tools.d.ts +8 -0
- package/dist/connectors/outlook-mail/tools.js +236 -0
- package/dist/connectors/outlook-mail/tools.js.map +1 -0
- package/dist/connectors/salesforce/connector.json +122 -0
- package/dist/connectors/salesforce/index.d.ts +8 -0
- package/dist/connectors/salesforce/index.js +7 -0
- package/dist/connectors/salesforce/index.js.map +1 -0
- package/dist/connectors/salesforce/soql.d.ts +3 -0
- package/dist/connectors/salesforce/soql.js +60 -0
- package/dist/connectors/salesforce/soql.js.map +1 -0
- package/dist/connectors/salesforce/tools.d.ts +9 -0
- package/dist/connectors/salesforce/tools.js +234 -0
- package/dist/connectors/salesforce/tools.js.map +1 -0
- package/dist/connectors/salesforce/vendor.d.ts +3 -0
- package/dist/connectors/salesforce/vendor.js +107 -0
- package/dist/connectors/salesforce/vendor.js.map +1 -0
- package/dist/connectors/sap-s4hana/connector.json +263 -0
- package/dist/connectors/sap-s4hana/index.d.ts +8 -0
- package/dist/connectors/sap-s4hana/index.js +7 -0
- package/dist/connectors/sap-s4hana/index.js.map +1 -0
- package/dist/connectors/sap-s4hana/tools.d.ts +4 -0
- package/dist/connectors/sap-s4hana/tools.js +761 -0
- package/dist/connectors/sap-s4hana/tools.js.map +1 -0
- package/dist/connectors/sap-s4hana/vendor.d.ts +5 -0
- package/dist/connectors/sap-s4hana/vendor.js +176 -0
- package/dist/connectors/sap-s4hana/vendor.js.map +1 -0
- package/dist/connectors/servicenow/connector.json +228 -0
- package/dist/connectors/servicenow/index.d.ts +8 -0
- package/dist/connectors/servicenow/index.js +7 -0
- package/dist/connectors/servicenow/index.js.map +1 -0
- package/dist/connectors/servicenow/tools.d.ts +4 -0
- package/dist/connectors/servicenow/tools.js +884 -0
- package/dist/connectors/servicenow/tools.js.map +1 -0
- package/dist/connectors/servicenow/vendor.d.ts +4 -0
- package/dist/connectors/servicenow/vendor.js +109 -0
- package/dist/connectors/servicenow/vendor.js.map +1 -0
- package/dist/connectors/sharepoint-files/connector.json +194 -0
- package/dist/connectors/sharepoint-files/excel.d.ts +16 -0
- package/dist/connectors/sharepoint-files/excel.js +300 -0
- package/dist/connectors/sharepoint-files/excel.js.map +1 -0
- package/dist/connectors/sharepoint-files/index.d.ts +11 -0
- package/dist/connectors/sharepoint-files/index.js +12 -0
- package/dist/connectors/sharepoint-files/index.js.map +1 -0
- package/dist/connectors/sharepoint-files/tools.d.ts +52 -0
- package/dist/connectors/sharepoint-files/tools.js +365 -0
- package/dist/connectors/sharepoint-files/tools.js.map +1 -0
- package/dist/connectors/sharepoint-files/vendor.d.ts +11 -0
- package/dist/connectors/sharepoint-files/vendor.js +167 -0
- package/dist/connectors/sharepoint-files/vendor.js.map +1 -0
- package/dist/connectors/slack/connector.json +148 -0
- package/dist/connectors/slack/index.d.ts +8 -0
- package/dist/connectors/slack/index.js +7 -0
- package/dist/connectors/slack/index.js.map +1 -0
- package/dist/connectors/slack/tools.d.ts +3 -0
- package/dist/connectors/slack/tools.js +355 -0
- package/dist/connectors/slack/tools.js.map +1 -0
- package/dist/connectors/slack/vendor.d.ts +17 -0
- package/dist/connectors/slack/vendor.js +195 -0
- package/dist/connectors/slack/vendor.js.map +1 -0
- package/dist/connectors/soap/index.d.ts +19 -0
- package/dist/connectors/soap/index.js +248 -0
- package/dist/connectors/soap/index.js.map +1 -0
- package/dist/connectors/soap/xml.d.ts +12 -0
- package/dist/connectors/soap/xml.js +126 -0
- package/dist/connectors/soap/xml.js.map +1 -0
- package/dist/connectors/sql/engines.d.ts +58 -0
- package/dist/connectors/sql/engines.js +292 -0
- package/dist/connectors/sql/engines.js.map +1 -0
- package/dist/connectors/sql/index.d.ts +19 -0
- package/dist/connectors/sql/index.js +212 -0
- package/dist/connectors/sql/index.js.map +1 -0
- package/dist/connectors/teams/connector.json +298 -0
- package/dist/connectors/teams/index.d.ts +2 -0
- package/dist/connectors/teams/index.js +5 -0
- package/dist/connectors/teams/index.js.map +1 -0
- package/dist/connectors/teams/tools.d.ts +2 -0
- package/dist/connectors/teams/tools.js +391 -0
- package/dist/connectors/teams/tools.js.map +1 -0
- package/dist/connectors/workday/connector.json +186 -0
- package/dist/connectors/workday/index.d.ts +8 -0
- package/dist/connectors/workday/index.js +7 -0
- package/dist/connectors/workday/index.js.map +1 -0
- package/dist/connectors/workday/tools.d.ts +33 -0
- package/dist/connectors/workday/tools.js +410 -0
- package/dist/connectors/workday/tools.js.map +1 -0
- package/dist/connectors/workday/vendor.d.ts +18 -0
- package/dist/connectors/workday/vendor.js +195 -0
- package/dist/connectors/workday/vendor.js.map +1 -0
- package/dist/packages/connector-kit/src/branding.d.ts +57 -0
- package/dist/packages/connector-kit/src/branding.js +102 -0
- package/dist/packages/connector-kit/src/branding.js.map +1 -0
- package/dist/packages/connector-kit/src/certificate.d.ts +19 -0
- package/dist/packages/connector-kit/src/certificate.js +84 -0
- package/dist/packages/connector-kit/src/certificate.js.map +1 -0
- package/dist/packages/connector-kit/src/common.d.ts +40 -0
- package/dist/packages/connector-kit/src/common.js +107 -0
- package/dist/packages/connector-kit/src/common.js.map +1 -0
- package/dist/packages/connector-kit/src/connector.d.ts +1346 -0
- package/dist/packages/connector-kit/src/connector.js +1034 -0
- package/dist/packages/connector-kit/src/connector.js.map +1 -0
- package/dist/packages/connector-kit/src/index.d.ts +5 -0
- package/dist/packages/connector-kit/src/index.js +5 -0
- package/dist/packages/connector-kit/src/index.js.map +1 -0
- package/dist/packages/connector-kit/src/oauth.d.ts +15 -0
- package/dist/packages/connector-kit/src/oauth.js +96 -0
- package/dist/packages/connector-kit/src/oauth.js.map +1 -0
- package/dist/packages/connector-kit/src/types.d.ts +85 -0
- package/dist/packages/connector-kit/src/types.js +20 -0
- package/dist/packages/connector-kit/src/types.js.map +1 -0
- package/dist/packages/server/migrations/0001_tables.sql +268 -0
- package/dist/packages/server/migrations/0002_organizations.sql +72 -0
- package/dist/packages/server/migrations/0003_drop_unused.sql +3 -0
- package/dist/packages/server/migrations/0004_trigger_runners.sql +15 -0
- package/dist/packages/server/migrations/0005_run_runner.sql +3 -0
- package/dist/packages/server/migrations/0006_approvals.sql +36 -0
- package/dist/packages/server/migrations/0007_app_events.sql +110 -0
- package/dist/packages/server/migrations/rollback/to-legacy.sql +90 -0
- package/dist/packages/server/src/api.d.ts +3714 -0
- package/dist/packages/server/src/api.js +818 -0
- package/dist/packages/server/src/api.js.map +1 -0
- package/dist/packages/server/src/app.d.ts +23 -0
- package/dist/packages/server/src/app.js +467 -0
- package/dist/packages/server/src/app.js.map +1 -0
- package/dist/packages/server/src/builtin.d.ts +4 -0
- package/dist/packages/server/src/builtin.js +42 -0
- package/dist/packages/server/src/builtin.js.map +1 -0
- package/dist/packages/server/src/consent.d.ts +27 -0
- package/dist/packages/server/src/consent.js +36 -0
- package/dist/packages/server/src/consent.js.map +1 -0
- package/dist/packages/server/src/events/admin.d.ts +156 -0
- package/dist/packages/server/src/events/admin.js +255 -0
- package/dist/packages/server/src/events/admin.js.map +1 -0
- package/dist/packages/server/src/events/deliver.d.ts +43 -0
- package/dist/packages/server/src/events/deliver.js +129 -0
- package/dist/packages/server/src/events/deliver.js.map +1 -0
- package/dist/packages/server/src/events/runtime.d.ts +28 -0
- package/dist/packages/server/src/events/runtime.js +397 -0
- package/dist/packages/server/src/events/runtime.js.map +1 -0
- package/dist/packages/server/src/events/store.d.ts +172 -0
- package/dist/packages/server/src/events/store.js +275 -0
- package/dist/packages/server/src/events/store.js.map +1 -0
- package/dist/packages/server/src/index.d.ts +40 -0
- package/dist/packages/server/src/index.js +185 -0
- package/dist/packages/server/src/index.js.map +1 -0
- package/dist/packages/server/src/migrate.d.ts +11 -0
- package/dist/packages/server/src/migrate.js +134 -0
- package/dist/packages/server/src/migrate.js.map +1 -0
- package/dist/packages/server/src/openapi.d.ts +4 -0
- package/dist/packages/server/src/openapi.js +101 -0
- package/dist/packages/server/src/openapi.js.map +1 -0
- package/dist/packages/server/src/queue.d.ts +10 -0
- package/dist/packages/server/src/queue.js +45 -0
- package/dist/packages/server/src/queue.js.map +1 -0
- package/dist/packages/server/src/secrets.d.ts +19 -0
- package/dist/packages/server/src/secrets.js +76 -0
- package/dist/packages/server/src/secrets.js.map +1 -0
- package/dist/packages/server/src/server.d.ts +1 -0
- package/dist/packages/server/src/server.js +82 -0
- package/dist/packages/server/src/server.js.map +1 -0
- package/dist/packages/server/src/service.d.ts +760 -0
- package/dist/packages/server/src/service.js +918 -0
- package/dist/packages/server/src/service.js.map +1 -0
- package/dist/packages/server/src/store.d.ts +158 -0
- package/dist/packages/server/src/store.js +415 -0
- package/dist/packages/server/src/store.js.map +1 -0
- package/dist/packages/server/src/teams/activity.d.ts +123 -0
- package/dist/packages/server/src/teams/activity.js +188 -0
- package/dist/packages/server/src/teams/activity.js.map +1 -0
- package/dist/packages/server/src/teams/admin.d.ts +335 -0
- package/dist/packages/server/src/teams/admin.js +699 -0
- package/dist/packages/server/src/teams/admin.js.map +1 -0
- package/dist/packages/server/src/teams/approval.d.ts +57 -0
- package/dist/packages/server/src/teams/approval.js +118 -0
- package/dist/packages/server/src/teams/approval.js.map +1 -0
- package/dist/packages/server/src/teams/bot.d.ts +25 -0
- package/dist/packages/server/src/teams/bot.js +124 -0
- package/dist/packages/server/src/teams/bot.js.map +1 -0
- package/dist/packages/server/src/teams/claude.d.ts +46 -0
- package/dist/packages/server/src/teams/claude.js +165 -0
- package/dist/packages/server/src/teams/claude.js.map +1 -0
- package/dist/packages/server/src/teams/jwt.d.ts +17 -0
- package/dist/packages/server/src/teams/jwt.js +121 -0
- package/dist/packages/server/src/teams/jwt.js.map +1 -0
- package/dist/packages/server/src/teams/package.d.ts +79 -0
- package/dist/packages/server/src/teams/package.js +319 -0
- package/dist/packages/server/src/teams/package.js.map +1 -0
- package/dist/packages/server/src/teams/provision.d.ts +84 -0
- package/dist/packages/server/src/teams/provision.js +505 -0
- package/dist/packages/server/src/teams/provision.js.map +1 -0
- package/dist/packages/server/src/teams/runner.d.ts +80 -0
- package/dist/packages/server/src/teams/runner.js +187 -0
- package/dist/packages/server/src/teams/runner.js.map +1 -0
- package/dist/packages/server/src/teams/runtime.d.ts +91 -0
- package/dist/packages/server/src/teams/runtime.js +679 -0
- package/dist/packages/server/src/teams/runtime.js.map +1 -0
- package/dist/packages/server/src/teams/store.d.ts +233 -0
- package/dist/packages/server/src/teams/store.js +507 -0
- package/dist/packages/server/src/teams/store.js.map +1 -0
- package/package.json +68 -4
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
-- The service's own organizations, and table names without the prefix they needed in public.
|
|
2
|
+
-- Index and constraint names keep their old spelling (a rename leaves them), so code matching
|
|
3
|
+
-- one works on every install.
|
|
4
|
+
|
|
5
|
+
create table organizations (
|
|
6
|
+
id uuid primary key default gen_random_uuid(),
|
|
7
|
+
-- Null for organizations taken over from rows saved before this table existed.
|
|
8
|
+
name text check (name is null or length(name) between 1 and 200),
|
|
9
|
+
created_at timestamptz not null default now()
|
|
10
|
+
);
|
|
11
|
+
alter table organizations enable row level security;
|
|
12
|
+
alter table organizations force row level security;
|
|
13
|
+
|
|
14
|
+
alter table agent_connect_agents rename to agents;
|
|
15
|
+
alter table agent_connect_providers rename to providers;
|
|
16
|
+
alter table agent_connect_connections rename to connections;
|
|
17
|
+
alter table agent_connect_grants rename to grants;
|
|
18
|
+
alter table agent_connect_audit rename to audit;
|
|
19
|
+
alter table agent_connect_confirmed rename to confirmed;
|
|
20
|
+
alter table agent_connect_teams_bots rename to teams_bots;
|
|
21
|
+
alter table agent_connect_teams_conversations rename to teams_conversations;
|
|
22
|
+
alter table agent_connect_teams_events rename to teams_events;
|
|
23
|
+
alter table agent_connect_teams_triggers rename to teams_triggers;
|
|
24
|
+
alter table agent_connect_teams_runs rename to teams_runs;
|
|
25
|
+
alter table agent_connect_teams_spend rename to teams_spend;
|
|
26
|
+
|
|
27
|
+
-- RLS stays forced. A role that owns these tables but cannot bypass RLS (one owning only this
|
|
28
|
+
-- schema) needs a policy to see any row, before the backfill below reads them; the role running
|
|
29
|
+
-- migrations is the service's own.
|
|
30
|
+
create policy service on organizations for all to current_user using (true) with check (true);
|
|
31
|
+
create policy service on agents for all to current_user using (true) with check (true);
|
|
32
|
+
create policy service on providers for all to current_user using (true) with check (true);
|
|
33
|
+
create policy service on connections for all to current_user using (true) with check (true);
|
|
34
|
+
create policy service on grants for all to current_user using (true) with check (true);
|
|
35
|
+
create policy service on audit for all to current_user using (true) with check (true);
|
|
36
|
+
create policy service on confirmed for all to current_user using (true) with check (true);
|
|
37
|
+
create policy service on teams_bots for all to current_user using (true) with check (true);
|
|
38
|
+
create policy service on teams_conversations for all to current_user using (true) with check (true);
|
|
39
|
+
create policy service on teams_events for all to current_user using (true) with check (true);
|
|
40
|
+
create policy service on teams_triggers for all to current_user using (true) with check (true);
|
|
41
|
+
create policy service on teams_runs for all to current_user using (true) with check (true);
|
|
42
|
+
create policy service on teams_spend for all to current_user using (true) with check (true);
|
|
43
|
+
|
|
44
|
+
-- Every organization already holding rows keeps its id.
|
|
45
|
+
insert into organizations (id)
|
|
46
|
+
select organization_id from agents
|
|
47
|
+
union select organization_id from providers
|
|
48
|
+
union select organization_id from connections
|
|
49
|
+
union select organization_id from audit
|
|
50
|
+
union select organization_id from confirmed
|
|
51
|
+
union select organization_id from teams_bots
|
|
52
|
+
on conflict do nothing;
|
|
53
|
+
|
|
54
|
+
-- An install adopted from public still points these at public.organizations.
|
|
55
|
+
alter table agents drop constraint if exists agent_connect_agents_organization_id_fkey,
|
|
56
|
+
add constraint agent_connect_agents_organization_id_fkey
|
|
57
|
+
foreign key (organization_id) references organizations (id) on delete restrict;
|
|
58
|
+
alter table providers drop constraint if exists agent_connect_providers_organization_id_fkey,
|
|
59
|
+
add constraint agent_connect_providers_organization_id_fkey
|
|
60
|
+
foreign key (organization_id) references organizations (id) on delete restrict;
|
|
61
|
+
alter table connections drop constraint if exists agent_connect_connections_organization_id_fkey,
|
|
62
|
+
add constraint agent_connect_connections_organization_id_fkey
|
|
63
|
+
foreign key (organization_id) references organizations (id) on delete restrict;
|
|
64
|
+
alter table audit drop constraint if exists agent_connect_audit_organization_id_fkey,
|
|
65
|
+
add constraint agent_connect_audit_organization_id_fkey
|
|
66
|
+
foreign key (organization_id) references organizations (id) on delete restrict;
|
|
67
|
+
alter table confirmed drop constraint if exists agent_connect_confirmed_organization_id_fkey,
|
|
68
|
+
add constraint agent_connect_confirmed_organization_id_fkey
|
|
69
|
+
foreign key (organization_id) references organizations (id) on delete restrict;
|
|
70
|
+
alter table teams_bots drop constraint if exists agent_connect_teams_bots_organization_id_fkey,
|
|
71
|
+
add constraint agent_connect_teams_bots_organization_id_fkey
|
|
72
|
+
foreign key (organization_id) references organizations (id) on delete restrict;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-- What answers a Teams trigger: Claude Managed Agents (every row before this, so the default)
|
|
2
|
+
-- or another runner, with its own settings and, for a signed webhook, a signing secret sealed
|
|
3
|
+
-- like other credentials. Only the Claude runner needs a Claude agent and environment.
|
|
4
|
+
alter table teams_triggers
|
|
5
|
+
add column runner text not null default 'claude-managed-agents'
|
|
6
|
+
check (runner ~ '^[a-z][a-z0-9-]{1,40}$'),
|
|
7
|
+
add column settings jsonb not null default '{}',
|
|
8
|
+
add column secret bytea,
|
|
9
|
+
add column secret_key_id text,
|
|
10
|
+
alter column managed_agent_id drop not null,
|
|
11
|
+
alter column environment_id drop not null,
|
|
12
|
+
add constraint teams_triggers_claude_ids check (
|
|
13
|
+
runner <> 'claude-managed-agents'
|
|
14
|
+
or (managed_agent_id is not null and environment_id is not null)
|
|
15
|
+
);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
-- Approval cards: an agent asks one person, through its Teams bot, to approve or reject. The
|
|
2
|
+
-- answer is a click (adaptiveCard/action) in a request authenticated by a Bot Framework token,
|
|
3
|
+
-- accepted only from that person's Entra object id, in the team or chat the card was posted in.
|
|
4
|
+
create table approvals (
|
|
5
|
+
id uuid primary key default gen_random_uuid(),
|
|
6
|
+
agent_id uuid not null references agents (id) on delete cascade,
|
|
7
|
+
bot_id uuid not null references teams_bots (id) on delete cascade,
|
|
8
|
+
-- What the agent holds is a random id; only its SHA-256 is kept.
|
|
9
|
+
token_hash text not null unique check (token_hash ~ '^[0-9a-f]{64}$'),
|
|
10
|
+
-- Where the card is: the installed place, its Bot Connector address, the conversation to edit
|
|
11
|
+
-- the card in (a channel thread or the chat) and the card's activity id (set once posted).
|
|
12
|
+
conversation_id text not null,
|
|
13
|
+
service_url text not null,
|
|
14
|
+
thread_id text,
|
|
15
|
+
activity_id text,
|
|
16
|
+
approver_aad_id uuid not null,
|
|
17
|
+
approver_name text not null,
|
|
18
|
+
-- What the card says, to show it again with the decision.
|
|
19
|
+
title text not null,
|
|
20
|
+
body text not null,
|
|
21
|
+
facts jsonb not null default '[]',
|
|
22
|
+
status text not null default 'pending' check (status in ('pending', 'approved', 'rejected')),
|
|
23
|
+
decided_by_aad_id uuid,
|
|
24
|
+
decided_by_name text,
|
|
25
|
+
decided_at timestamptz,
|
|
26
|
+
comment text,
|
|
27
|
+
created_at timestamptz not null default now(),
|
|
28
|
+
expires_at timestamptz not null,
|
|
29
|
+
check ((status = 'pending') = (decided_at is null))
|
|
30
|
+
);
|
|
31
|
+
create index agent_connect_approvals_bot on approvals (bot_id, created_at desc);
|
|
32
|
+
-- An agent's own lookups and the cascade when it is deleted.
|
|
33
|
+
create index agent_connect_approvals_agent on approvals (agent_id);
|
|
34
|
+
alter table approvals enable row level security;
|
|
35
|
+
alter table approvals force row level security;
|
|
36
|
+
create policy service on approvals for all to current_user using (true) with check (true);
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
-- Events from connected apps (a Jira issue created, ...) that start agents. An organization
|
|
2
|
+
-- subscribes once per app, by webhook (the app posts to /agent-connect/events/<id>, signed with
|
|
3
|
+
-- the subscription's secret) or by polling the app on an interval from a cursor.
|
|
4
|
+
create table event_subscriptions (
|
|
5
|
+
id uuid primary key default gen_random_uuid(),
|
|
6
|
+
organization_id uuid not null references organizations (id) on delete cascade,
|
|
7
|
+
connector_id text not null,
|
|
8
|
+
source text not null check (source in ('webhook', 'poll')),
|
|
9
|
+
-- The webhook's secret, sealed (event-subscription:<id>); null for a poll.
|
|
10
|
+
secret bytea,
|
|
11
|
+
secret_key_id text,
|
|
12
|
+
-- Narrows what the app sends or what a poll reads, in the app's own terms (Jira: JQL).
|
|
13
|
+
filter text not null default '',
|
|
14
|
+
interval_seconds int not null default 300 check (interval_seconds between 60 and 86400),
|
|
15
|
+
-- A poll's position: the newest change it has read.
|
|
16
|
+
cursor text,
|
|
17
|
+
polled_at timestamptz,
|
|
18
|
+
last_error text,
|
|
19
|
+
-- Where the app keeps the webhook when it was registered through its API.
|
|
20
|
+
registered text,
|
|
21
|
+
created_by text not null,
|
|
22
|
+
created_at timestamptz not null default now(),
|
|
23
|
+
unique (organization_id, connector_id),
|
|
24
|
+
check ((source = 'webhook') = (secret is not null))
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
-- Deliveries waiting to be matched against triggers, and those done (kept 30 days, so a signed
|
|
28
|
+
-- delivery cannot be replayed while its timestamp would still pass). Only the fields the
|
|
29
|
+
-- connector keeps are stored, sealed, and only until processed.
|
|
30
|
+
create table app_events (
|
|
31
|
+
id bigint generated always as identity primary key,
|
|
32
|
+
subscription_id uuid not null references event_subscriptions (id) on delete cascade,
|
|
33
|
+
delivery_id text not null,
|
|
34
|
+
event_type text not null,
|
|
35
|
+
state text not null default 'pending'
|
|
36
|
+
check (state in ('pending', 'processing', 'done', 'failed')),
|
|
37
|
+
reason text,
|
|
38
|
+
payload bytea,
|
|
39
|
+
payload_key_id text,
|
|
40
|
+
received_at timestamptz not null default now(),
|
|
41
|
+
claimed_at timestamptz,
|
|
42
|
+
unique (subscription_id, delivery_id)
|
|
43
|
+
);
|
|
44
|
+
create index agent_connect_app_events_pending on app_events (id)
|
|
45
|
+
where state in ('pending', 'processing');
|
|
46
|
+
create index agent_connect_app_events_received on app_events (received_at);
|
|
47
|
+
|
|
48
|
+
-- What an agent does when an app's event arrives: which events, conditions on their fields,
|
|
49
|
+
-- its instructions, what runs it (as teams_triggers: runner, settings, sealed signing secret,
|
|
50
|
+
-- the Claude agent) and its caps.
|
|
51
|
+
create table event_triggers (
|
|
52
|
+
id uuid primary key default gen_random_uuid(),
|
|
53
|
+
agent_id uuid not null references agents (id) on delete cascade,
|
|
54
|
+
connector_id text not null,
|
|
55
|
+
enabled boolean not null default false,
|
|
56
|
+
event_types text[] not null check (cardinality(event_types) > 0),
|
|
57
|
+
conditions jsonb not null default '[]',
|
|
58
|
+
prompt text not null check (length(prompt) between 1 and 4000),
|
|
59
|
+
runner text not null check (runner ~ '^[a-z][a-z0-9-]{1,40}$'),
|
|
60
|
+
settings jsonb not null default '{}',
|
|
61
|
+
secret bytea,
|
|
62
|
+
secret_key_id text,
|
|
63
|
+
managed_agent_id text check (managed_agent_id ~ '^[A-Za-z0-9_-]{1,128}$'),
|
|
64
|
+
environment_id text check (environment_id ~ '^[A-Za-z0-9_-]{1,128}$'),
|
|
65
|
+
vault_ids text[] not null default '{}',
|
|
66
|
+
budget_cents int not null check (budget_cents between 1 and 2000),
|
|
67
|
+
max_runs_per_hour int not null default 20 check (max_runs_per_hour between 1 and 100),
|
|
68
|
+
max_cents_per_day int not null default 500 check (max_cents_per_day between 1 and 100000),
|
|
69
|
+
max_concurrent int not null default 2 check (max_concurrent between 1 and 10),
|
|
70
|
+
updated_by text,
|
|
71
|
+
updated_at timestamptz not null default now(),
|
|
72
|
+
unique (agent_id, connector_id),
|
|
73
|
+
check (
|
|
74
|
+
runner <> 'claude-managed-agents'
|
|
75
|
+
or (managed_agent_id is not null and environment_id is not null)
|
|
76
|
+
)
|
|
77
|
+
);
|
|
78
|
+
create index agent_connect_event_triggers_app on event_triggers (connector_id);
|
|
79
|
+
|
|
80
|
+
create table event_runs (
|
|
81
|
+
id uuid primary key default gen_random_uuid(),
|
|
82
|
+
agent_id uuid not null references agents (id) on delete cascade,
|
|
83
|
+
trigger_id uuid not null references event_triggers (id) on delete cascade,
|
|
84
|
+
event_id bigint references app_events (id) on delete set null,
|
|
85
|
+
event_type text not null,
|
|
86
|
+
delivery_id text not null,
|
|
87
|
+
runner text not null,
|
|
88
|
+
session_id text,
|
|
89
|
+
state text not null check (state in ('starting', 'running', 'ended', 'failed')),
|
|
90
|
+
error text,
|
|
91
|
+
cost_cents int,
|
|
92
|
+
started_at timestamptz not null default now(),
|
|
93
|
+
finished_at timestamptz
|
|
94
|
+
);
|
|
95
|
+
create index agent_connect_event_runs_trigger on event_runs (trigger_id, started_at desc);
|
|
96
|
+
create index agent_connect_event_runs_agent on event_runs (agent_id, started_at desc);
|
|
97
|
+
create index agent_connect_event_runs_live on event_runs (state) where state in ('starting', 'running');
|
|
98
|
+
|
|
99
|
+
alter table event_subscriptions enable row level security;
|
|
100
|
+
alter table event_subscriptions force row level security;
|
|
101
|
+
create policy service on event_subscriptions for all to current_user using (true) with check (true);
|
|
102
|
+
alter table app_events enable row level security;
|
|
103
|
+
alter table app_events force row level security;
|
|
104
|
+
create policy service on app_events for all to current_user using (true) with check (true);
|
|
105
|
+
alter table event_triggers enable row level security;
|
|
106
|
+
alter table event_triggers force row level security;
|
|
107
|
+
create policy service on event_triggers for all to current_user using (true) with check (true);
|
|
108
|
+
alter table event_runs enable row level security;
|
|
109
|
+
alter table event_runs force row level security;
|
|
110
|
+
create policy service on event_runs for all to current_user using (true) with check (true);
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
-- Rolls an install back to the earlier layout: the tables back in public under their old
|
|
2
|
+
-- names, pointing at public.organizations, and the service's schema gone. By hand, only to run
|
|
3
|
+
-- an older image again, in one transaction:
|
|
4
|
+
-- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -1 -f migrations/rollback/to-legacy.sql
|
|
5
|
+
-- Written for the default schema agent_connect. Fails, changing nothing, if an organization
|
|
6
|
+
-- here is missing from public.organizations.
|
|
7
|
+
|
|
8
|
+
-- The views migrate() made for the previous release, in the way of the tables' old names.
|
|
9
|
+
drop view if exists public.agent_connect_agents, public.agent_connect_providers,
|
|
10
|
+
public.agent_connect_connections, public.agent_connect_grants, public.agent_connect_audit,
|
|
11
|
+
public.agent_connect_confirmed, public.agent_connect_teams_bots,
|
|
12
|
+
public.agent_connect_teams_conversations, public.agent_connect_teams_events,
|
|
13
|
+
public.agent_connect_teams_triggers, public.agent_connect_teams_runs,
|
|
14
|
+
public.agent_connect_teams_spend;
|
|
15
|
+
-- 0007: app events and their triggers, which 0.7.5 does not have.
|
|
16
|
+
drop table agent_connect.event_runs, agent_connect.event_triggers, agent_connect.app_events,
|
|
17
|
+
agent_connect.event_subscriptions;
|
|
18
|
+
-- 0006: approval cards, which 0.7.5 does not have.
|
|
19
|
+
drop table agent_connect.approvals;
|
|
20
|
+
-- 0005: the runner of each session.
|
|
21
|
+
alter table agent_connect.teams_runs drop column runner;
|
|
22
|
+
-- 0004: triggers of other runners than Claude Managed Agents, which 0.7.5 cannot run, go.
|
|
23
|
+
delete from agent_connect.teams_triggers where runner <> 'claude-managed-agents';
|
|
24
|
+
alter table agent_connect.teams_triggers
|
|
25
|
+
drop constraint teams_triggers_claude_ids,
|
|
26
|
+
drop column runner,
|
|
27
|
+
drop column settings,
|
|
28
|
+
drop column secret,
|
|
29
|
+
drop column secret_key_id,
|
|
30
|
+
alter column managed_agent_id set not null,
|
|
31
|
+
alter column environment_id set not null;
|
|
32
|
+
alter table agent_connect.connections add column access_ceiling text;
|
|
33
|
+
alter table agent_connect.grants add column access_level text;
|
|
34
|
+
drop policy service on agent_connect.organizations;
|
|
35
|
+
drop policy service on agent_connect.agents;
|
|
36
|
+
drop policy service on agent_connect.providers;
|
|
37
|
+
drop policy service on agent_connect.connections;
|
|
38
|
+
drop policy service on agent_connect.grants;
|
|
39
|
+
drop policy service on agent_connect.audit;
|
|
40
|
+
drop policy service on agent_connect.confirmed;
|
|
41
|
+
drop policy service on agent_connect.teams_bots;
|
|
42
|
+
drop policy service on agent_connect.teams_conversations;
|
|
43
|
+
drop policy service on agent_connect.teams_events;
|
|
44
|
+
drop policy service on agent_connect.teams_triggers;
|
|
45
|
+
drop policy service on agent_connect.teams_runs;
|
|
46
|
+
drop policy service on agent_connect.teams_spend;
|
|
47
|
+
alter table agent_connect.agents drop constraint agent_connect_agents_organization_id_fkey,
|
|
48
|
+
add constraint agent_connect_agents_organization_id_fkey
|
|
49
|
+
foreign key (organization_id) references public.organizations (id) on delete restrict;
|
|
50
|
+
alter table agent_connect.providers drop constraint agent_connect_providers_organization_id_fkey,
|
|
51
|
+
add constraint agent_connect_providers_organization_id_fkey
|
|
52
|
+
foreign key (organization_id) references public.organizations (id) on delete restrict;
|
|
53
|
+
alter table agent_connect.connections drop constraint agent_connect_connections_organization_id_fkey,
|
|
54
|
+
add constraint agent_connect_connections_organization_id_fkey
|
|
55
|
+
foreign key (organization_id) references public.organizations (id) on delete restrict;
|
|
56
|
+
alter table agent_connect.audit drop constraint agent_connect_audit_organization_id_fkey,
|
|
57
|
+
add constraint agent_connect_audit_organization_id_fkey
|
|
58
|
+
foreign key (organization_id) references public.organizations (id) on delete restrict;
|
|
59
|
+
alter table agent_connect.confirmed drop constraint agent_connect_confirmed_organization_id_fkey,
|
|
60
|
+
add constraint agent_connect_confirmed_organization_id_fkey
|
|
61
|
+
foreign key (organization_id) references public.organizations (id) on delete restrict;
|
|
62
|
+
alter table agent_connect.teams_bots drop constraint agent_connect_teams_bots_organization_id_fkey,
|
|
63
|
+
add constraint agent_connect_teams_bots_organization_id_fkey
|
|
64
|
+
foreign key (organization_id) references public.organizations (id) on delete restrict;
|
|
65
|
+
alter table agent_connect.agents rename to agent_connect_agents;
|
|
66
|
+
alter table agent_connect.providers rename to agent_connect_providers;
|
|
67
|
+
alter table agent_connect.connections rename to agent_connect_connections;
|
|
68
|
+
alter table agent_connect.grants rename to agent_connect_grants;
|
|
69
|
+
alter table agent_connect.audit rename to agent_connect_audit;
|
|
70
|
+
alter table agent_connect.confirmed rename to agent_connect_confirmed;
|
|
71
|
+
alter table agent_connect.teams_bots rename to agent_connect_teams_bots;
|
|
72
|
+
alter table agent_connect.teams_conversations rename to agent_connect_teams_conversations;
|
|
73
|
+
alter table agent_connect.teams_events rename to agent_connect_teams_events;
|
|
74
|
+
alter table agent_connect.teams_triggers rename to agent_connect_teams_triggers;
|
|
75
|
+
alter table agent_connect.teams_runs rename to agent_connect_teams_runs;
|
|
76
|
+
alter table agent_connect.teams_spend rename to agent_connect_teams_spend;
|
|
77
|
+
alter table agent_connect.agent_connect_agents set schema public;
|
|
78
|
+
alter table agent_connect.agent_connect_providers set schema public;
|
|
79
|
+
alter table agent_connect.agent_connect_connections set schema public;
|
|
80
|
+
alter table agent_connect.agent_connect_grants set schema public;
|
|
81
|
+
alter table agent_connect.agent_connect_audit set schema public;
|
|
82
|
+
alter table agent_connect.agent_connect_confirmed set schema public;
|
|
83
|
+
alter table agent_connect.agent_connect_teams_bots set schema public;
|
|
84
|
+
alter table agent_connect.agent_connect_teams_conversations set schema public;
|
|
85
|
+
alter table agent_connect.agent_connect_teams_events set schema public;
|
|
86
|
+
alter table agent_connect.agent_connect_teams_triggers set schema public;
|
|
87
|
+
alter table agent_connect.agent_connect_teams_runs set schema public;
|
|
88
|
+
alter table agent_connect.agent_connect_teams_spend set schema public;
|
|
89
|
+
drop table agent_connect.organizations, agent_connect.schema_migrations;
|
|
90
|
+
drop schema agent_connect;
|