@opengeni/db 0.28.9 → 0.36.0
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 +299 -0
- package/dist/browser-downloads.d.ts +51 -0
- package/dist/browser-identities.d.ts +137 -0
- package/dist/browser-sessions.d.ts +354 -0
- package/dist/browser-state-artifacts.d.ts +91 -0
- package/dist/canonical-human-identities.d.ts +48 -0
- package/dist/canonical-human-identities.js +28 -0
- package/dist/canonical-human-identities.js.map +1 -0
- package/dist/capability-components.d.ts +37 -0
- package/dist/capability-integrations.d.ts +194 -0
- package/dist/chunk-5KTIEDX7.js +13200 -0
- package/dist/chunk-5KTIEDX7.js.map +1 -0
- package/dist/chunk-CQZ4QSP5.js +995 -0
- package/dist/chunk-CQZ4QSP5.js.map +1 -0
- package/dist/chunk-F32YT7MP.js +117 -0
- package/dist/chunk-F32YT7MP.js.map +1 -0
- package/dist/chunk-JC5QPLUM.js +666 -0
- package/dist/chunk-JC5QPLUM.js.map +1 -0
- package/dist/chunk-P3RE4D2B.js +3535 -0
- package/dist/chunk-P3RE4D2B.js.map +1 -0
- package/dist/chunk-TAUTWOS5.js +259 -0
- package/dist/chunk-TAUTWOS5.js.map +1 -0
- package/dist/chunk-VKLB2ZGI.js +2389 -0
- package/dist/chunk-VKLB2ZGI.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 +57 -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/generated-images.d.ts +139 -0
- package/dist/index.d.ts +1122 -126
- package/dist/index.js +42329 -18407
- package/dist/index.js.map +1 -1
- package/dist/insights.d.ts +73 -10
- package/dist/integration-bindings.d.ts +70 -0
- package/dist/integration-facets.d.ts +99 -0
- package/dist/interaction-revisions.d.ts +14 -0
- package/dist/interaction-schema.d.ts +6036 -0
- package/dist/knowledge-source-sync-schema.d.ts +1679 -0
- package/dist/knowledge-source-sync.d.ts +274 -0
- 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 +3 -3
- 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 +19 -6
- package/dist/schema.d.ts +22654 -9359
- package/dist/schema.js +209 -3
- package/dist/scoped-knowledge.d.ts +97 -1
- package/dist/session-control.d.ts +33 -7
- 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 +1 -1
- package/dist/session-realtime.d.ts +7 -7
- package/dist/session-tenancy.d.ts +44 -0
- package/dist/session-tenancy.js +16 -0
- package/dist/session-tenancy.js.map +1 -0
- package/dist/session-tool-call-settlement.d.ts +1 -1
- package/dist/slack-task-policy-schema.d.ts +847 -0
- package/dist/slack-task-policy.d.ts +65 -0
- package/dist/slack-user-link-access.d.ts +54 -0
- package/dist/task-notes-schema.d.ts +924 -0
- package/dist/task-notes.d.ts +85 -0
- package/dist/transcription-recordings.d.ts +2 -2
- package/dist/turn-initiator.d.ts +2 -2
- package/dist/video-generation.d.ts +225 -0
- package/dist/video-generation.js +68 -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/dist/xai-subscription.d.ts +326 -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_browser_state_transfer_hardening.sql +560 -0
- package/drizzle/0212_slack_installation_bindings.sql +348 -0
- package/drizzle/0213_browser_interaction_authority.sql +67 -0
- package/drizzle/0213_slack_user_link_access_requests.sql +177 -0
- package/drizzle/0214_browser_download_saves.sql +34 -0
- package/drizzle/0214_session_activity_commit_gate.sql +262 -0
- package/drizzle/0215_browser_controller_host.sql +385 -0
- package/drizzle/0215_capabilities_platform.sql +980 -0
- package/drizzle/0216_browser_auth_health_evidence.sql +137 -0
- package/drizzle/0216_pack_component_ownership.sql +235 -0
- package/drizzle/0217_capability_definition_delete_authority.sql +32 -0
- package/drizzle/0217_external_browser_auth_operations.sql +22 -0
- package/drizzle/0218_organization_tenancy_foundation.sql +299 -0
- package/drizzle/0219_organization_tenancy_managed_human_provisioning.sql +317 -0
- package/drizzle/0219_site_auth_maintenance_sessions.sql +234 -0
- package/drizzle/0220_memory_slack_append_only_cascade.sql +38 -0
- package/drizzle/0220_session_channels.sql +54 -0
- package/drizzle/0221_sessions_channel_index.sql +5 -0
- package/drizzle/0222_session_visibility_authority_epochs.sql +158 -0
- package/drizzle/0222_sessions_channel_fk.sql +89 -0
- package/drizzle/0223_pending_tool_event_output.sql +55 -0
- package/drizzle/0223_sessions_channel_fk_validate.sql +118 -0
- package/drizzle/0224_slack_post_outcome_reconciliation.sql +123 -0
- package/drizzle/0225_session_visibility_fork_activation.sql +1363 -0
- package/drizzle/0226_personal_codex_authority_foundation.sql +365 -0
- package/drizzle/0227_slack_native_actions.sql +145 -0
- package/drizzle/0228_interaction_controller_data_plane.sql +14 -0
- package/drizzle/0228_slack_task_policy.sql +400 -0
- package/drizzle/0229_slack_inbox_file_fact.sql +10 -0
- package/drizzle/0230_user_scoped_variable_sets_rigs.sql +84 -0
- package/drizzle/0231_integration_definition_identity_cutover.sql +271 -0
- package/drizzle/0232_integration_facet_authority_cutover.sql +610 -0
- package/drizzle/0233_skill_and_integration_authority_cutover.sql +1162 -0
- package/drizzle/0234_xai_subscription_authority.sql +1139 -0
- package/drizzle/0235_canonical_human_login_bindings.sql +920 -0
- package/drizzle/0236_browser_identity_lifecycle.sql +39 -0
- package/drizzle/0236_session_visibility_slack_policy.sql +72 -0
- package/drizzle/0237_interaction_transition_reaper.sql +263 -0
- package/drizzle/0238_goal_persistence_policy.sql +471 -0
- package/drizzle/0238_supergrok_realtime_model.sql +29 -0
- package/drizzle/0239_supergrok_video_funding.sql +50 -0
- package/drizzle/0239_task_tree_notes.sql +990 -0
- package/package.json +26 -5
- package/src/attached-browser-devices.ts +371 -0
- package/src/attempt-tool-catalogs.ts +131 -0
- package/src/browser-auth.ts +4373 -0
- package/src/browser-downloads.ts +517 -0
- package/src/browser-identities.ts +1385 -0
- package/src/browser-sessions.ts +2294 -0
- package/src/browser-state-artifacts.ts +449 -0
- package/src/canonical-human-identities.ts +317 -0
- package/src/capability-components.ts +166 -0
- package/src/capability-integrations.ts +1571 -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 +468 -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/generated-images.ts +740 -0
- package/src/index.ts +9963 -1465
- package/src/insights.ts +251 -23
- package/src/integration-bindings.ts +455 -0
- package/src/integration-facets.ts +862 -0
- package/src/interaction-revisions.ts +70 -0
- package/src/interaction-schema.ts +1606 -0
- package/src/knowledge-source-sync-schema.ts +192 -0
- package/src/knowledge-source-sync.ts +1922 -0
- package/src/memory-slack-delivery.ts +801 -0
- package/src/pack-components.ts +954 -0
- package/src/pack-installations.ts +886 -0
- package/src/persistence-errors.ts +4 -7
- package/src/plugin-packages.ts +1186 -0
- package/src/provision-roles.ts +534 -1
- package/src/runtime-posture-cli.ts +9 -0
- package/src/runtime-posture.ts +721 -5
- package/src/schema.ts +6270 -3159
- package/src/scoped-knowledge-schema.ts +1 -1
- package/src/scoped-knowledge.ts +655 -3
- package/src/session-control.ts +130 -42
- package/src/session-queue-commands.ts +265 -15
- package/src/session-realtime-context.ts +2 -2
- package/src/session-realtime-ledger.ts +3 -3
- package/src/session-realtime.ts +7 -7
- package/src/session-tenancy.ts +188 -0
- package/src/session-tool-call-settlement.ts +18 -3
- package/src/slack-task-policy-schema.ts +130 -0
- package/src/slack-task-policy.ts +341 -0
- package/src/slack-user-link-access.ts +702 -0
- package/src/task-notes-schema.ts +135 -0
- package/src/task-notes.ts +178 -0
- package/src/video-generation.ts +1530 -0
- package/src/workspace-artifacts.ts +1 -1
- package/src/workspace-learning-policy-schema.ts +139 -0
- package/src/workspace-learning-policy.ts +595 -0
- package/src/xai-subscription.ts +1887 -0
- package/dist/chunk-P6CUHXQZ.js +0 -7248
- package/dist/chunk-P6CUHXQZ.js.map +0 -1
- package/dist/chunk-VHBFHMPC.js +0 -1219
- package/dist/chunk-VHBFHMPC.js.map +0 -1
|
@@ -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$;
|