@opengeni/db 0.28.1 → 0.31.1
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/attached-browser-devices.d.ts +42 -0
- package/dist/attempt-tool-catalogs.d.ts +16 -0
- package/dist/browser-auth.d.ts +91 -0
- package/dist/browser-identities.d.ts +128 -0
- package/dist/browser-sessions.d.ts +272 -0
- package/dist/browser-state-artifacts.d.ts +17 -0
- package/dist/capability-components.d.ts +37 -0
- package/dist/capability-integrations.d.ts +192 -0
- package/dist/chunk-F5FT7BEZ.js +3535 -0
- package/dist/chunk-F5FT7BEZ.js.map +1 -0
- package/dist/chunk-ISI2TIUG.js +639 -0
- package/dist/chunk-ISI2TIUG.js.map +1 -0
- package/dist/chunk-MWDVXQOL.js +11639 -0
- package/dist/chunk-MWDVXQOL.js.map +1 -0
- package/dist/chunk-NBE6CHRI.js +955 -0
- package/dist/chunk-NBE6CHRI.js.map +1 -0
- package/dist/{chunk-DBS5HPEW.js → chunk-YHZXQ7HP.js} +760 -11
- package/dist/chunk-YHZXQ7HP.js.map +1 -0
- package/dist/codemode-operations.d.ts +117 -0
- package/dist/codex-token-resolver.d.ts +2 -2
- package/dist/company-profile-schema.d.ts +798 -0
- package/dist/company-profile.d.ts +268 -0
- package/dist/computer-sessions.d.ts +109 -0
- package/dist/connection-token-resolver.d.ts +9 -4
- package/dist/database.d.ts +52 -3
- package/dist/editable-artifact-durable-export.d.ts +153 -0
- package/dist/editable-artifact-durable-export.js +788 -0
- package/dist/editable-artifact-durable-export.js.map +1 -0
- package/dist/editable-artifact-materialization.d.ts +123 -0
- package/dist/editable-artifacts-schema.d.ts +4152 -0
- package/dist/editable-artifacts.d.ts +610 -0
- package/dist/editable-artifacts.js +26 -0
- package/dist/editable-artifacts.js.map +1 -0
- package/dist/environment-crypto.d.ts +8 -4
- package/dist/generated-images.d.ts +139 -0
- package/dist/index.d.ts +958 -126
- package/dist/index.js +31204 -12172
- package/dist/index.js.map +1 -1
- package/dist/insights.d.ts +51 -4
- package/dist/integration-bindings.d.ts +70 -0
- package/dist/integration-features.d.ts +99 -0
- package/dist/interaction-revisions.d.ts +3 -0
- package/dist/interaction-schema.d.ts +5372 -0
- package/dist/knowledge-source-sync-schema.d.ts +1679 -0
- package/dist/knowledge-source-sync.d.ts +274 -0
- package/dist/lossless-columns.d.ts +58 -0
- package/dist/lossless-json.d.ts +39 -0
- package/dist/memory-domain.d.ts +3 -6
- package/dist/memory-governance.d.ts +2 -2
- package/dist/memory-slack-delivery.d.ts +101 -0
- package/dist/new-session-drafts.d.ts +2 -2
- package/dist/pack-components.d.ts +76 -0
- package/dist/pack-installations.d.ts +86 -0
- package/dist/persistence-errors.d.ts +7 -14
- package/dist/plugin-packages.d.ts +126 -0
- package/dist/preference-registry.d.ts +1 -1
- package/dist/provision-roles.d.ts +9 -1
- package/dist/provision-roles.js +1 -1
- package/dist/runtime-posture.d.ts +18 -6
- package/dist/schema.d.ts +19122 -8731
- package/dist/schema.js +173 -1
- package/dist/scoped-knowledge.d.ts +97 -1
- package/dist/session-control.d.ts +4 -4
- package/dist/session-queue-commands.d.ts +19 -11
- package/dist/session-realtime-context.d.ts +2 -2
- package/dist/session-realtime-ledger.d.ts +4 -4
- package/dist/session-realtime-mirror.d.ts +2 -2
- package/dist/session-realtime-state.d.ts +1 -1
- package/dist/session-realtime-terminal.d.ts +8 -1
- package/dist/session-realtime.d.ts +7 -7
- package/dist/session-tool-call-settlement.d.ts +1 -1
- package/dist/slack-user-link-access.d.ts +54 -0
- package/dist/transcription-recordings-schema.d.ts +44 -6
- package/dist/transcription-recordings.d.ts +3 -3
- package/dist/turn-initiator.d.ts +2 -2
- package/dist/video-generation.d.ts +216 -0
- package/dist/video-generation.js +66 -0
- package/dist/video-generation.js.map +1 -0
- package/dist/workspace-artifacts.d.ts +1 -1
- package/dist/workspace-instruction-policies.d.ts +1 -1
- package/dist/workspace-learning-policy-schema.d.ts +932 -0
- package/dist/workspace-learning-policy.d.ts +161 -0
- package/drizzle/0065_enrollment_credential_generation.sql +10 -0
- package/drizzle/0140_retained_screenshot_artifacts.sql +192 -0
- package/drizzle/0176_lossless_canonical_json.sql +975 -0
- package/drizzle/0177_session_events_workspace_turn_type_index.sql +5 -0
- package/drizzle/0178_permissioned_secret_reads.sql +14 -0
- package/drizzle/0179_slack_private_shortcut_delivery_gate.sql +85 -0
- package/drizzle/0180_retained_screenshot_lifecycle_fences.sql +273 -0
- package/drizzle/0181_connected_machine_removal.sql +52 -0
- package/drizzle/0182_connected_machine_remove_session_default.sql +77 -0
- package/drizzle/0183_model_call_provider_cost_estimates.sql +39 -0
- package/drizzle/0184_sandbox_drain_teardown_fence.sql +682 -0
- package/drizzle/0185_temporal_schedule_cleanup_outbox.sql +168 -0
- package/drizzle/0186_sandbox_capture_provider_contract.sql +400 -0
- package/drizzle/0187_generated_image_artifacts.sql +173 -0
- package/drizzle/0188_image_generation_retention_failure.sql +25 -0
- package/drizzle/0189_retained_session_image_formats.sql +13 -0
- package/drizzle/0190_timeline_annotations.sql +31 -0
- package/drizzle/0191_editable_artifact_engine.sql +3853 -0
- package/drizzle/0192_editable_artifact_live_tickets.sql +338 -0
- package/drizzle/0193_editable_artifact_authorization.sql +190 -0
- package/drizzle/0194_editable_artifact_durable_exports.sql +160 -0
- package/drizzle/0195_editable_artifact_import_authorization.sql +203 -0
- package/drizzle/0196_rig_provider_images.sql +152 -0
- package/drizzle/0197_knowledge_source_sync_schedules.sql +523 -0
- package/drizzle/0198_memory_slack_publication_delivery.sql +393 -0
- package/drizzle/0199_workspace_learning_policy.sql +980 -0
- package/drizzle/0201_company_profile_authority.sql +849 -0
- package/drizzle/0202_document_index_checkpoints.sql +85 -0
- package/drizzle/0203_durable_video_generation.sql +353 -0
- package/drizzle/0204_video_generation_funding.sql +44 -0
- package/drizzle/0205_attempt_tool_catalogs.sql +230 -0
- package/drizzle/0206_browser_sessions.sql +646 -0
- package/drizzle/0207_browser_identities.sql +379 -0
- package/drizzle/0208_attached_browser_devices.sql +165 -0
- package/drizzle/0209_computer_sessions.sql +575 -0
- package/drizzle/0210_browser_auth_network_interventions.sql +441 -0
- package/drizzle/0211_editable_artifact_session_links.sql +58 -0
- package/drizzle/0212_slack_installation_bindings.sql +348 -0
- package/drizzle/0213_slack_user_link_access_requests.sql +177 -0
- package/drizzle/0214_session_activity_commit_gate.sql +262 -0
- package/drizzle/0215_capabilities_platform.sql +980 -0
- package/drizzle/0216_pack_component_ownership.sql +235 -0
- package/drizzle/0217_capability_definition_delete_authority.sql +32 -0
- package/package.json +18 -5
- package/src/attached-browser-devices.ts +371 -0
- package/src/attempt-tool-catalogs.ts +131 -0
- package/src/browser-auth.ts +1896 -0
- package/src/browser-identities.ts +1168 -0
- package/src/browser-sessions.ts +2005 -0
- package/src/browser-state-artifacts.ts +59 -0
- package/src/capability-components.ts +166 -0
- package/src/capability-integrations.ts +1663 -0
- package/src/codemode-operations.ts +674 -0
- package/src/company-profile-schema.ts +143 -0
- package/src/company-profile.ts +968 -0
- package/src/computer-sessions.ts +1130 -0
- package/src/connection-token-resolver.ts +270 -25
- package/src/database.ts +434 -24
- package/src/editable-artifact-durable-export.ts +1201 -0
- package/src/editable-artifact-materialization.ts +893 -0
- package/src/editable-artifacts-schema.ts +879 -0
- package/src/editable-artifacts.ts +5404 -0
- package/src/environment-crypto.ts +22 -9
- package/src/generated-images.ts +740 -0
- package/src/index.ts +10117 -2730
- package/src/insights.ts +160 -13
- package/src/integration-bindings.ts +455 -0
- package/src/integration-features.ts +859 -0
- package/src/interaction-revisions.ts +40 -0
- package/src/interaction-schema.ts +1303 -0
- package/src/knowledge-source-sync-schema.ts +192 -0
- package/src/knowledge-source-sync.ts +1922 -0
- package/src/lossless-columns.ts +35 -0
- package/src/lossless-json.ts +322 -0
- package/src/memory-domain.ts +5 -44
- package/src/memory-slack-delivery.ts +801 -0
- package/src/pack-components.ts +954 -0
- package/src/pack-installations.ts +929 -0
- package/src/persistence-errors.ts +26 -34
- package/src/plugin-packages.ts +1186 -0
- package/src/provision-roles.ts +302 -1
- package/src/runtime-posture-cli.ts +9 -0
- package/src/runtime-posture.ts +514 -5
- package/src/schema.ts +5177 -2957
- package/src/scoped-knowledge-schema.ts +1 -1
- package/src/scoped-knowledge.ts +655 -3
- package/src/session-control.ts +133 -81
- package/src/session-queue-commands.ts +511 -247
- package/src/session-realtime-context.ts +20 -7
- package/src/session-realtime-ledger.ts +32 -10
- package/src/session-realtime-mirror.ts +4 -2
- package/src/session-realtime-terminal.ts +89 -21
- package/src/session-realtime.ts +10 -9
- package/src/session-tool-call-settlement.ts +38 -15
- package/src/slack-user-link-access.ts +702 -0
- package/src/transcription-recordings-schema.ts +5 -2
- package/src/transcription-recordings.ts +70 -40
- package/src/video-generation.ts +1452 -0
- package/src/workspace-learning-policy-schema.ts +139 -0
- package/src/workspace-learning-policy.ts +595 -0
- package/dist/chunk-DBS5HPEW.js.map +0 -1
- package/dist/chunk-HT5T62CC.js +0 -6803
- package/dist/chunk-HT5T62CC.js.map +0 -1
- package/dist/event-payload-sanitizer.d.ts +0 -32
- package/src/event-payload-sanitizer.ts +0 -377
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
-- deployment-mode: maintenance
|
|
2
|
+
-- Canonical Codemode authority boundary. Application processes are upgraded as
|
|
3
|
+
-- one exact release; the legacy counter name is removed rather than dual-read.
|
|
4
|
+
SET LOCAL lock_timeout = '5s';
|
|
5
|
+
SET LOCAL statement_timeout = '30s';
|
|
6
|
+
|
|
7
|
+
ALTER TABLE "session_turns"
|
|
8
|
+
RENAME COLUMN "toolspace_call_count" TO "codemode_call_count";
|
|
9
|
+
|
|
10
|
+
CREATE TABLE "session_attempt_tool_catalogs" (
|
|
11
|
+
"attempt_id" uuid PRIMARY KEY,
|
|
12
|
+
"account_id" uuid NOT NULL,
|
|
13
|
+
"workspace_id" uuid NOT NULL,
|
|
14
|
+
"session_id" uuid NOT NULL,
|
|
15
|
+
"turn_id" uuid NOT NULL,
|
|
16
|
+
"execution_generation" integer NOT NULL,
|
|
17
|
+
"catalog_version" integer NOT NULL,
|
|
18
|
+
"generation" integer NOT NULL,
|
|
19
|
+
"digest" text NOT NULL,
|
|
20
|
+
"catalog" jsonb NOT NULL,
|
|
21
|
+
"created_at" timestamptz NOT NULL,
|
|
22
|
+
CONSTRAINT "session_attempt_tool_catalogs_attempt_owner_fk"
|
|
23
|
+
FOREIGN KEY ("account_id", "workspace_id", "session_id", "turn_id", "attempt_id")
|
|
24
|
+
REFERENCES "session_turn_attempts"(
|
|
25
|
+
"account_id", "workspace_id", "session_id", "turn_id", "id"
|
|
26
|
+
) ON DELETE CASCADE,
|
|
27
|
+
CONSTRAINT "session_attempt_tool_catalogs_version_check"
|
|
28
|
+
CHECK ("catalog_version" = 1 AND "generation" > 0 AND "execution_generation" > 0),
|
|
29
|
+
CONSTRAINT "session_attempt_tool_catalogs_digest_check"
|
|
30
|
+
CHECK ("digest" ~ '^[0-9a-f]{64}$'),
|
|
31
|
+
CONSTRAINT "session_attempt_tool_catalogs_size_check"
|
|
32
|
+
CHECK (octet_length("catalog"::text) BETWEEN 2 AND 16777216),
|
|
33
|
+
CONSTRAINT "session_attempt_tool_catalogs_catalog_identity_check"
|
|
34
|
+
CHECK (
|
|
35
|
+
jsonb_typeof("catalog") = 'object'
|
|
36
|
+
AND "catalog" ?& ARRAY[
|
|
37
|
+
'version', 'accountId', 'workspaceId', 'sessionId', 'turnId',
|
|
38
|
+
'attemptId', 'executionGeneration', 'generation', 'createdAt',
|
|
39
|
+
'digest', 'entries'
|
|
40
|
+
]::text[]
|
|
41
|
+
AND "catalog"->>'accountId' = "account_id"::text
|
|
42
|
+
AND "catalog"->>'workspaceId' = "workspace_id"::text
|
|
43
|
+
AND "catalog"->>'sessionId' = "session_id"::text
|
|
44
|
+
AND "catalog"->>'turnId' = "turn_id"::text
|
|
45
|
+
AND "catalog"->>'attemptId' = "attempt_id"::text
|
|
46
|
+
AND ("catalog"->>'executionGeneration')::integer = "execution_generation"
|
|
47
|
+
AND ("catalog"->>'version')::integer = "catalog_version"
|
|
48
|
+
AND ("catalog"->>'generation')::integer = "generation"
|
|
49
|
+
AND "catalog"->>'digest' = "digest"
|
|
50
|
+
AND jsonb_typeof("catalog"->'entries') = 'array'
|
|
51
|
+
AND jsonb_array_length("catalog"->'entries') <= 4096
|
|
52
|
+
)
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
CREATE INDEX "session_attempt_tool_catalogs_session_turn_idx"
|
|
56
|
+
ON "session_attempt_tool_catalogs" ("workspace_id", "session_id", "turn_id");
|
|
57
|
+
|
|
58
|
+
CREATE UNIQUE INDEX "session_attempt_tool_catalogs_exact_authority_digest_uidx"
|
|
59
|
+
ON "session_attempt_tool_catalogs" (
|
|
60
|
+
"account_id", "workspace_id", "session_id", "turn_id", "attempt_id",
|
|
61
|
+
"execution_generation", "digest"
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
CREATE TABLE "session_attempt_codemode_calls" (
|
|
65
|
+
"operation_id" uuid PRIMARY KEY,
|
|
66
|
+
"account_id" uuid NOT NULL,
|
|
67
|
+
"workspace_id" uuid NOT NULL,
|
|
68
|
+
"session_id" uuid NOT NULL,
|
|
69
|
+
"turn_id" uuid NOT NULL,
|
|
70
|
+
"attempt_id" uuid NOT NULL,
|
|
71
|
+
"execution_generation" integer NOT NULL,
|
|
72
|
+
"catalog_digest" text NOT NULL,
|
|
73
|
+
"request_digest" text NOT NULL,
|
|
74
|
+
"server_id" text NOT NULL,
|
|
75
|
+
"tool_name" text NOT NULL,
|
|
76
|
+
"arguments" jsonb NOT NULL,
|
|
77
|
+
"caller_subject_id" text NOT NULL,
|
|
78
|
+
"state" text NOT NULL DEFAULT 'queued',
|
|
79
|
+
"claim_id" uuid,
|
|
80
|
+
"result" jsonb,
|
|
81
|
+
"error_code" text,
|
|
82
|
+
"error_message" text,
|
|
83
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
84
|
+
"claimed_at" timestamptz,
|
|
85
|
+
"execution_started_at" timestamptz,
|
|
86
|
+
"claim_expires_at" timestamptz,
|
|
87
|
+
"completed_at" timestamptz,
|
|
88
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
89
|
+
CONSTRAINT "session_attempt_codemode_calls_catalog_fk"
|
|
90
|
+
FOREIGN KEY (
|
|
91
|
+
"account_id", "workspace_id", "session_id", "turn_id", "attempt_id",
|
|
92
|
+
"execution_generation", "catalog_digest"
|
|
93
|
+
)
|
|
94
|
+
REFERENCES "session_attempt_tool_catalogs"(
|
|
95
|
+
"account_id", "workspace_id", "session_id", "turn_id", "attempt_id",
|
|
96
|
+
"execution_generation", "digest"
|
|
97
|
+
) ON DELETE CASCADE,
|
|
98
|
+
CONSTRAINT "session_attempt_codemode_calls_generation_check"
|
|
99
|
+
CHECK ("execution_generation" > 0),
|
|
100
|
+
CONSTRAINT "session_attempt_codemode_calls_digests_check"
|
|
101
|
+
CHECK (
|
|
102
|
+
"catalog_digest" ~ '^[0-9a-f]{64}$'
|
|
103
|
+
AND "request_digest" ~ '^[0-9a-f]{64}$'
|
|
104
|
+
),
|
|
105
|
+
CONSTRAINT "session_attempt_codemode_calls_identity_check"
|
|
106
|
+
CHECK (
|
|
107
|
+
octet_length("server_id") BETWEEN 1 AND 256
|
|
108
|
+
AND octet_length("tool_name") BETWEEN 1 AND 512
|
|
109
|
+
AND octet_length("caller_subject_id") BETWEEN 1 AND 1024
|
|
110
|
+
),
|
|
111
|
+
CONSTRAINT "session_attempt_codemode_calls_arguments_size_check"
|
|
112
|
+
CHECK (
|
|
113
|
+
jsonb_typeof("arguments") = 'object'
|
|
114
|
+
AND octet_length("arguments"::text) BETWEEN 2 AND 4194304
|
|
115
|
+
),
|
|
116
|
+
CONSTRAINT "session_attempt_codemode_calls_result_size_check"
|
|
117
|
+
CHECK (
|
|
118
|
+
"result" IS NULL OR (
|
|
119
|
+
jsonb_typeof("result") = 'object'
|
|
120
|
+
AND octet_length("result"::text) BETWEEN 2 AND 16777216
|
|
121
|
+
)
|
|
122
|
+
),
|
|
123
|
+
CONSTRAINT "session_attempt_codemode_calls_lifecycle_check"
|
|
124
|
+
CHECK (
|
|
125
|
+
(
|
|
126
|
+
"state" = 'queued'
|
|
127
|
+
AND "claim_id" IS NULL
|
|
128
|
+
AND "claimed_at" IS NULL
|
|
129
|
+
AND "execution_started_at" IS NULL
|
|
130
|
+
AND "claim_expires_at" IS NULL
|
|
131
|
+
AND "completed_at" IS NULL
|
|
132
|
+
AND "result" IS NULL
|
|
133
|
+
AND "error_code" IS NULL
|
|
134
|
+
AND "error_message" IS NULL
|
|
135
|
+
) OR (
|
|
136
|
+
"state" = 'running'
|
|
137
|
+
AND "claim_id" IS NOT NULL
|
|
138
|
+
AND "claimed_at" IS NOT NULL
|
|
139
|
+
AND "claim_expires_at" IS NOT NULL
|
|
140
|
+
AND "completed_at" IS NULL
|
|
141
|
+
AND "result" IS NULL
|
|
142
|
+
AND "error_code" IS NULL
|
|
143
|
+
AND "error_message" IS NULL
|
|
144
|
+
) OR (
|
|
145
|
+
"state" = 'completed'
|
|
146
|
+
AND "claim_id" IS NOT NULL
|
|
147
|
+
AND "claimed_at" IS NOT NULL
|
|
148
|
+
AND "execution_started_at" IS NOT NULL
|
|
149
|
+
AND "claim_expires_at" IS NOT NULL
|
|
150
|
+
AND "completed_at" IS NOT NULL
|
|
151
|
+
AND "result" IS NOT NULL
|
|
152
|
+
AND "error_code" IS NULL
|
|
153
|
+
AND "error_message" IS NULL
|
|
154
|
+
) OR (
|
|
155
|
+
"state" = 'failed'
|
|
156
|
+
AND "claim_id" IS NOT NULL
|
|
157
|
+
AND "claimed_at" IS NOT NULL
|
|
158
|
+
AND "claim_expires_at" IS NOT NULL
|
|
159
|
+
AND "completed_at" IS NOT NULL
|
|
160
|
+
AND "result" IS NULL
|
|
161
|
+
AND "error_code" IS NOT NULL
|
|
162
|
+
AND "error_message" IS NOT NULL
|
|
163
|
+
) OR (
|
|
164
|
+
"state" = 'outcome_unknown'
|
|
165
|
+
AND "claim_id" IS NOT NULL
|
|
166
|
+
AND "claimed_at" IS NOT NULL
|
|
167
|
+
AND "execution_started_at" IS NOT NULL
|
|
168
|
+
AND "claim_expires_at" IS NOT NULL
|
|
169
|
+
AND "completed_at" IS NOT NULL
|
|
170
|
+
AND "result" IS NULL
|
|
171
|
+
AND "error_code" IS NOT NULL
|
|
172
|
+
AND "error_message" IS NOT NULL
|
|
173
|
+
) OR (
|
|
174
|
+
"state" = 'cancelled'
|
|
175
|
+
AND "claim_id" IS NULL
|
|
176
|
+
AND "claimed_at" IS NULL
|
|
177
|
+
AND "execution_started_at" IS NULL
|
|
178
|
+
AND "claim_expires_at" IS NULL
|
|
179
|
+
AND "completed_at" IS NOT NULL
|
|
180
|
+
AND "result" IS NULL
|
|
181
|
+
AND "error_code" IS NOT NULL
|
|
182
|
+
AND "error_message" IS NOT NULL
|
|
183
|
+
)
|
|
184
|
+
)
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
CREATE INDEX "session_attempt_codemode_calls_session_turn_idx"
|
|
188
|
+
ON "session_attempt_codemode_calls" (
|
|
189
|
+
"workspace_id", "session_id", "turn_id", "created_at"
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
CREATE INDEX "session_attempt_codemode_calls_active_attempt_idx"
|
|
193
|
+
ON "session_attempt_codemode_calls" ("workspace_id", "attempt_id", "state")
|
|
194
|
+
WHERE "state" IN ('queued', 'running');
|
|
195
|
+
|
|
196
|
+
ALTER TABLE "session_attempt_tool_catalogs" ENABLE ROW LEVEL SECURITY;
|
|
197
|
+
ALTER TABLE "session_attempt_tool_catalogs" FORCE ROW LEVEL SECURITY;
|
|
198
|
+
CREATE POLICY workspace_isolation ON "session_attempt_tool_catalogs"
|
|
199
|
+
USING (opengeni_private.workspace_rls_visible("account_id", "workspace_id"))
|
|
200
|
+
WITH CHECK (opengeni_private.workspace_rls_visible("account_id", "workspace_id"));
|
|
201
|
+
|
|
202
|
+
ALTER TABLE "session_attempt_codemode_calls" ENABLE ROW LEVEL SECURITY;
|
|
203
|
+
ALTER TABLE "session_attempt_codemode_calls" FORCE ROW LEVEL SECURITY;
|
|
204
|
+
CREATE POLICY workspace_isolation ON "session_attempt_codemode_calls"
|
|
205
|
+
USING (opengeni_private.workspace_rls_visible("account_id", "workspace_id"))
|
|
206
|
+
WITH CHECK (opengeni_private.workspace_rls_visible("account_id", "workspace_id"));
|
|
207
|
+
|
|
208
|
+
DO $grants$
|
|
209
|
+
DECLARE target_schema text := current_schema();
|
|
210
|
+
BEGIN
|
|
211
|
+
IF EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'opengeni_app') THEN
|
|
212
|
+
EXECUTE format(
|
|
213
|
+
'REVOKE ALL ON TABLE %I.session_attempt_tool_catalogs FROM opengeni_app',
|
|
214
|
+
target_schema
|
|
215
|
+
);
|
|
216
|
+
EXECUTE format(
|
|
217
|
+
'GRANT SELECT, INSERT ON TABLE %I.session_attempt_tool_catalogs TO opengeni_app',
|
|
218
|
+
target_schema
|
|
219
|
+
);
|
|
220
|
+
EXECUTE format(
|
|
221
|
+
'REVOKE ALL ON TABLE %I.session_attempt_codemode_calls FROM opengeni_app',
|
|
222
|
+
target_schema
|
|
223
|
+
);
|
|
224
|
+
EXECUTE format(
|
|
225
|
+
'GRANT SELECT, INSERT, UPDATE ON TABLE %I.session_attempt_codemode_calls TO opengeni_app',
|
|
226
|
+
target_schema
|
|
227
|
+
);
|
|
228
|
+
END IF;
|
|
229
|
+
END
|
|
230
|
+
$grants$;
|