thinkwork-cli 0.13.1 → 0.13.2
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/{api-client-4DZ266J5.js → api-client-JYZXYQJR.js} +3 -1
- package/dist/bowser-6Z6JFAIR.js +2822 -0
- package/dist/chunk-DV3MRBR5.js +43 -0
- package/dist/chunk-DVPBI5HM.js +1728 -0
- package/dist/chunk-EI5ZX7CN.js +522 -0
- package/dist/chunk-EUJ7X6YD.js +126 -0
- package/dist/chunk-GG5WKBOX.js +436 -0
- package/dist/chunk-I64EZSU5.js +358 -0
- package/dist/chunk-ILZKG5WV.js +6151 -0
- package/dist/chunk-KMIJ5KGT.js +128 -0
- package/dist/chunk-OCPHU34C.js +996 -0
- package/dist/chunk-QOERT44A.js +3286 -0
- package/dist/chunk-XYM7PE2A.js +2264 -0
- package/dist/{chunk-Y2WHJECR.js → chunk-Z2F6RJFR.js} +1 -39
- package/dist/cli.js +43080 -13150
- package/dist/dist-es-CRV46D5B.js +315 -0
- package/dist/dist-es-DCY4IC3Y.js +2000 -0
- package/dist/dist-es-ENBUC3JP.js +14726 -0
- package/dist/dist-es-G54LBMRN.js +48 -0
- package/dist/dist-es-G7PTG75M.js +176 -0
- package/dist/dist-es-GKDBE7E6.js +88 -0
- package/dist/dist-es-HY3535OI.js +70 -0
- package/dist/dist-es-KL7Y5NB2.js +377 -0
- package/dist/dist-es-LDE437AM.js +170 -0
- package/dist/dist-es-P26FWFLT.js +485 -0
- package/dist/dist-es-Q57SZXZ7.js +70 -0
- package/dist/dist-es-R7FGL2IB.js +88 -0
- package/dist/dist-es-USORBXZ5.js +318 -0
- package/dist/dist-es-ZKC2QKD2.js +377 -0
- package/dist/drizzle/0076_scheduled_jobs_marco_backfill.sql +2 -1
- package/dist/drizzle/0079_seed_tenant_customize_catalog.sql +1 -0
- package/dist/drizzle/0090_brain_schema_extraction.sql +10 -0
- package/dist/drizzle/0132_drop_computer_tables.sql +3 -0
- package/dist/drizzle/0160_compliance_event_types_plugins.sql +2 -0
- package/dist/drizzle/0214_think137_drop_judge_evidence_roi.sql +1 -0
- package/dist/drizzle/0216_drop_agent_loop_versions_goal_worker_policy.sql +1 -0
- package/dist/drizzle/0227_analyst_reader_role.sql +6 -0
- package/dist/drizzle/0230_analyst_rls.sql +9 -0
- package/dist/drizzle/0250_kg_schema_extraction.sql +27 -0
- package/dist/drizzle/0251_brain_stragglers.sql +21 -0
- package/dist/drizzle/0253_drop_brain_substrate.sql +2 -0
- package/dist/drizzle/0257_agents_runtime_allow_harness.sql +24 -0
- package/dist/drizzle/0261_managed_harness_multiplayer.sql +313 -0
- package/dist/drizzle/0261_native_auth_control_plane.sql +328 -0
- package/dist/drizzle/0262_auth_subscription_tickets.sql +59 -0
- package/dist/drizzle/0262_parallel_harness_threads.sql +9 -0
- package/dist/drizzle/0263_agentcore_runtime_identifier.sql +69 -0
- package/dist/drizzle/0263_drop_workos_auth_runtime.sql +236 -0
- package/dist/drizzle/0264_auth_enrollment_attempt_limits.sql +15 -0
- package/dist/drizzle/0264_harness_tool_execution_ledger.sql +113 -0
- package/dist/drizzle/0265_eval_runs_requester_identity.sql +28 -0
- package/dist/drizzle/0265_require_fully_valid_auth_publication.sql +27 -0
- package/dist/drizzle/0266_auth_identity_recovery_grants.sql +9 -0
- package/dist/drizzle/0266_eval_profiles_runtime_type.sql +12 -0
- package/dist/drizzle/0267_ontology_candidate_rejections.sql +53 -0
- package/dist/drizzle/0268_identity_crosswalk_routing.sql +182 -0
- package/dist/drizzle/0269_ontology_system_map.sql +31 -0
- package/dist/event-streams-7JNLJEEL.js +894 -0
- package/dist/event-streams-KDF5RWR6.js +1515 -0
- package/dist/loadSso-DJVB7BXE.js +576 -0
- package/dist/loadSso-JAMNA3WY.js +583 -0
- package/dist/plugins/catalog/package.json +1 -2
- package/dist/plugins/catalog/src/__tests__/build-catalog.test.ts +0 -1
- package/dist/plugins/catalog/src/__tests__/contracts.test.ts +0 -69
- package/dist/plugins/catalog/src/__tests__/plugin-package.test.ts +0 -2
- package/dist/plugins/catalog/src/__tests__/plugin-registry.test.ts +0 -5
- package/dist/plugins/catalog/src/contracts.ts +2 -179
- package/dist/plugins/catalog/src/registry/generated-first-party.ts +0 -6
- package/dist/signin-UGDWTGS4.js +821 -0
- package/dist/sso-oidc-Q4VXANXY.js +837 -0
- package/dist/sts-CWLSE3GH.js +1241 -0
- package/dist/sts-DNZLNVOV.js +1245 -0
- package/dist/terraform/examples/greenfield/main.tf +223 -66
- package/dist/terraform/examples/greenfield/terraform.tfvars.example +15 -1
- package/dist/terraform/modules/app/agentcore-gateway/main.tf +305 -0
- package/dist/terraform/modules/app/agentcore-gateway/outputs.tf +44 -0
- package/dist/terraform/modules/app/agentcore-gateway/scripts/delete_gateway.sh +93 -0
- package/dist/terraform/modules/app/agentcore-gateway/scripts/read_gateway.sh +33 -0
- package/dist/terraform/modules/app/agentcore-gateway/scripts/reconcile_gateway.sh +543 -0
- package/dist/terraform/modules/app/agentcore-gateway/variables.tf +70 -0
- package/dist/terraform/modules/app/agentcore-harness/main.tf +237 -8
- package/dist/terraform/modules/app/agentcore-harness/outputs.tf +63 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/delete_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/harness-lifecycle.mjs +430 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/harness-readback.mjs +180 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/harness-tool-contract.mjs +193 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/prune_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/read_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/scripts/reconcile_harness.sh +5 -0
- package/dist/terraform/modules/app/agentcore-harness/variables.tf +72 -1
- package/dist/terraform/modules/app/agentcore-identity/main.tf +173 -0
- package/dist/terraform/modules/app/agentcore-identity/outputs.tf +51 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/bootstrap_twenty_oauth_client.sh +122 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/delete_identity.sh +25 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/delete_twenty_identity.sh +16 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/read_identity.sh +40 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_identity.sh +73 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_identity.sh +74 -0
- package/dist/terraform/modules/app/agentcore-identity/scripts/reconcile_twenty_provider.mjs +61 -0
- package/dist/terraform/modules/app/agentcore-identity/variables.tf +54 -0
- package/dist/terraform/modules/app/appsync-subscriptions/main.tf +127 -21
- package/dist/terraform/modules/app/appsync-subscriptions/outputs.tf +0 -6
- package/dist/terraform/modules/app/appsync-subscriptions/variables.tf +5 -0
- package/dist/terraform/modules/app/deployment-control-plane/runner.py +966 -27
- package/dist/terraform/modules/app/deployment-control-plane/test_runner_bundle.py +581 -22
- package/dist/terraform/modules/app/lambda-api/agentcore-harness-alarms.tf +88 -0
- package/dist/terraform/modules/app/lambda-api/agentcore-identity-alarms.tf +91 -0
- package/dist/terraform/modules/app/lambda-api/handlers.tf +298 -74
- package/dist/terraform/modules/app/lambda-api/iam-grouped.tf +99 -54
- package/dist/terraform/modules/app/lambda-api/main.tf +24 -0
- package/dist/terraform/modules/app/lambda-api/mcp-oauth.tf +181 -4
- package/dist/terraform/modules/app/lambda-api/outputs.tf +35 -0
- package/dist/terraform/modules/app/lambda-api/runtime-config.tf +3 -21
- package/dist/terraform/modules/app/lambda-api/variables.tf +109 -16
- package/dist/terraform/modules/foundation/cognito/main.tf +294 -72
- package/dist/terraform/modules/foundation/cognito/outputs.tf +42 -0
- package/dist/terraform/modules/foundation/cognito/variables.tf +114 -4
- package/dist/terraform/modules/thinkwork/main.tf +269 -46
- package/dist/terraform/modules/thinkwork/outputs.tf +136 -8
- package/dist/terraform/modules/thinkwork/variables.tf +124 -17
- package/dist/terraform/schema.graphql +69 -36
- package/dist/workspace-defaults/files/USER.md +1 -0
- package/package.json +3 -2
- package/dist/drizzle/0261_thread_turns_origin_turn_index.sql +0 -11
- package/dist/plugins/workos-auth/package.json +0 -22
- package/dist/plugins/workos-auth/src/index.ts +0 -30
- package/dist/plugins/workos-auth/src/manifest.ts +0 -40
- package/dist/plugins/workos-auth/src/provider-contract.ts +0 -39
- package/dist/plugins/workos-auth/test/manifest.test.ts +0 -94
- package/dist/plugins/workos-auth/tsconfig.json +0 -8
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
-- THINK-321 U1: identity crosswalk routing vocabulary and linkage.
|
|
2
|
+
-- Plan: docs/plans/2026-07-19-001-feat-ontology-identity-crosswalk-agent-routing-plan.md (U1)
|
|
3
|
+
-- Contents:
|
|
4
|
+
-- * identity.entity_source_mappings — `created_by` CHECK gains 'user'
|
|
5
|
+
-- (in-turn confirm attribution); nullable created_by_user_id +
|
|
6
|
+
-- created_thread_ref audit columns.
|
|
7
|
+
-- * identity.entity_resolution_events — `event_type` CHECK gains
|
|
8
|
+
-- 'revoke' and 'split' (the V1 "no split" restriction is lifted).
|
|
9
|
+
-- * identity.mapping_rejections — negative evidence: rejected
|
|
10
|
+
-- (source identity <-> canonical entity) pairings, honored by the
|
|
11
|
+
-- matcher (KTD-6).
|
|
12
|
+
-- * identity.source_system_connectors — source_system -> tenant connector
|
|
13
|
+
-- linkage, read fail-closed by resolve (KTD-5).
|
|
14
|
+
-- * identity.match_jobs — bootstrap/drift match jobs mirroring
|
|
15
|
+
-- ontology.suggestion_scan_jobs (KTD-7).
|
|
16
|
+
-- * identity.mapping_candidate_sets — in-turn confirm echo-check store:
|
|
17
|
+
-- written by propose, invalidated on confirm/decline/re-propose,
|
|
18
|
+
-- expired rows refused (KTD-2).
|
|
19
|
+
-- Constraint widening ships BEFORE any writer code (this unit has none).
|
|
20
|
+
--
|
|
21
|
+
-- Hand-rolled (drizzle meta journal is not in use for this change).
|
|
22
|
+
-- Apply manually: psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0268_identity_crosswalk_routing.sql
|
|
23
|
+
-- creates-column: identity.entity_source_mappings.created_by_user_id
|
|
24
|
+
-- creates-column: identity.entity_source_mappings.created_thread_ref
|
|
25
|
+
-- creates-constraint: identity.entity_source_mappings.entity_source_mappings_created_by_allowed
|
|
26
|
+
-- creates-constraint: identity.entity_resolution_events.entity_resolution_events_type_allowed
|
|
27
|
+
-- creates: identity.mapping_rejections
|
|
28
|
+
-- creates: identity.uq_mapping_rejections_pairing
|
|
29
|
+
-- creates: identity.idx_mapping_rejections_tenant_canonical
|
|
30
|
+
-- creates-constraint: identity.mapping_rejections.mapping_rejections_created_by_allowed
|
|
31
|
+
-- creates: identity.source_system_connectors
|
|
32
|
+
-- creates-constraint: identity.source_system_connectors.source_system_connectors_connector_slug_fk
|
|
33
|
+
-- creates: identity.match_jobs
|
|
34
|
+
-- creates: identity.uq_identity_match_jobs_dedupe
|
|
35
|
+
-- creates: identity.idx_identity_match_jobs_tenant_status
|
|
36
|
+
-- creates-constraint: identity.match_jobs.match_jobs_status_allowed
|
|
37
|
+
-- creates: identity.mapping_candidate_sets
|
|
38
|
+
-- creates: identity.idx_mapping_candidate_sets_tenant_thread
|
|
39
|
+
-- creates-constraint: identity.mapping_candidate_sets.mapping_candidate_sets_status_allowed
|
|
40
|
+
|
|
41
|
+
\set ON_ERROR_STOP on
|
|
42
|
+
|
|
43
|
+
BEGIN;
|
|
44
|
+
|
|
45
|
+
SELECT pg_advisory_xact_lock(hashtext('identity_crosswalk_routing_0268'));
|
|
46
|
+
|
|
47
|
+
SET LOCAL lock_timeout = '5s';
|
|
48
|
+
SET LOCAL statement_timeout = '120s';
|
|
49
|
+
|
|
50
|
+
-- ---------------------------------------------------------------------------
|
|
51
|
+
-- identity.entity_source_mappings — user attribution vocabulary
|
|
52
|
+
-- ---------------------------------------------------------------------------
|
|
53
|
+
|
|
54
|
+
ALTER TABLE identity.entity_source_mappings
|
|
55
|
+
ADD COLUMN IF NOT EXISTS created_by_user_id uuid
|
|
56
|
+
REFERENCES public.users(id) ON DELETE SET NULL;
|
|
57
|
+
|
|
58
|
+
ALTER TABLE identity.entity_source_mappings
|
|
59
|
+
ADD COLUMN IF NOT EXISTS created_thread_ref text;
|
|
60
|
+
|
|
61
|
+
ALTER TABLE identity.entity_source_mappings
|
|
62
|
+
DROP CONSTRAINT IF EXISTS entity_source_mappings_created_by_allowed;
|
|
63
|
+
ALTER TABLE identity.entity_source_mappings
|
|
64
|
+
ADD CONSTRAINT entity_source_mappings_created_by_allowed
|
|
65
|
+
CHECK (created_by IN ('rule','operator','backfill','user'));
|
|
66
|
+
|
|
67
|
+
-- ---------------------------------------------------------------------------
|
|
68
|
+
-- identity.entity_resolution_events — revoke + split event vocabulary
|
|
69
|
+
-- ---------------------------------------------------------------------------
|
|
70
|
+
|
|
71
|
+
ALTER TABLE identity.entity_resolution_events
|
|
72
|
+
DROP CONSTRAINT IF EXISTS entity_resolution_events_type_allowed;
|
|
73
|
+
ALTER TABLE identity.entity_resolution_events
|
|
74
|
+
ADD CONSTRAINT entity_resolution_events_type_allowed
|
|
75
|
+
CHECK (event_type IN ('create','link','defer','reject','merge','revoke','split'));
|
|
76
|
+
|
|
77
|
+
-- ---------------------------------------------------------------------------
|
|
78
|
+
-- identity.mapping_rejections — negative evidence (KTD-6)
|
|
79
|
+
-- ---------------------------------------------------------------------------
|
|
80
|
+
|
|
81
|
+
CREATE TABLE IF NOT EXISTS identity.mapping_rejections (
|
|
82
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
83
|
+
tenant_id uuid NOT NULL REFERENCES public.tenants(id) ON DELETE CASCADE,
|
|
84
|
+
source_system text NOT NULL,
|
|
85
|
+
namespace text NOT NULL DEFAULT '',
|
|
86
|
+
external_id text NOT NULL,
|
|
87
|
+
canonical_entity_id uuid NOT NULL
|
|
88
|
+
REFERENCES identity.canonical_entities(id) ON DELETE CASCADE,
|
|
89
|
+
reason text,
|
|
90
|
+
created_by text NOT NULL,
|
|
91
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
92
|
+
CONSTRAINT mapping_rejections_created_by_allowed
|
|
93
|
+
CHECK (created_by IN ('user','operator','rule','system'))
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
-- One rejection row per (source identity, canonical entity) pairing.
|
|
97
|
+
CREATE UNIQUE INDEX IF NOT EXISTS uq_mapping_rejections_pairing
|
|
98
|
+
ON identity.mapping_rejections
|
|
99
|
+
(tenant_id, source_system, namespace, external_id, canonical_entity_id);
|
|
100
|
+
|
|
101
|
+
CREATE INDEX IF NOT EXISTS idx_mapping_rejections_tenant_canonical
|
|
102
|
+
ON identity.mapping_rejections (tenant_id, canonical_entity_id);
|
|
103
|
+
|
|
104
|
+
-- ---------------------------------------------------------------------------
|
|
105
|
+
-- identity.source_system_connectors — source_system -> connector link (KTD-5)
|
|
106
|
+
-- ---------------------------------------------------------------------------
|
|
107
|
+
|
|
108
|
+
-- The composite FK targets the plain unique index uq_tenant_mcp_servers_slug
|
|
109
|
+
-- on public.tenant_mcp_servers (tenant_id, slug) — Postgres accepts a
|
|
110
|
+
-- non-partial unique index as an FK target. ON UPDATE/DELETE CASCADE keeps
|
|
111
|
+
-- the link from dangling when a connector is renamed or removed; resolve
|
|
112
|
+
-- reads it fail-closed either way.
|
|
113
|
+
CREATE TABLE IF NOT EXISTS identity.source_system_connectors (
|
|
114
|
+
tenant_id uuid NOT NULL REFERENCES public.tenants(id) ON DELETE CASCADE,
|
|
115
|
+
source_system text NOT NULL,
|
|
116
|
+
connector_slug text NOT NULL,
|
|
117
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
118
|
+
PRIMARY KEY (tenant_id, source_system),
|
|
119
|
+
CONSTRAINT source_system_connectors_connector_slug_fk
|
|
120
|
+
FOREIGN KEY (tenant_id, connector_slug)
|
|
121
|
+
REFERENCES public.tenant_mcp_servers (tenant_id, slug)
|
|
122
|
+
ON UPDATE CASCADE
|
|
123
|
+
ON DELETE CASCADE
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
-- ---------------------------------------------------------------------------
|
|
127
|
+
-- identity.match_jobs — bootstrap/drift match jobs (KTD-7)
|
|
128
|
+
-- ---------------------------------------------------------------------------
|
|
129
|
+
|
|
130
|
+
CREATE TABLE IF NOT EXISTS identity.match_jobs (
|
|
131
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
132
|
+
tenant_id uuid NOT NULL REFERENCES public.tenants(id) ON DELETE CASCADE,
|
|
133
|
+
status text NOT NULL DEFAULT 'pending',
|
|
134
|
+
trigger text NOT NULL DEFAULT 'manual',
|
|
135
|
+
dedupe_key text,
|
|
136
|
+
source_systems jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
137
|
+
result jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
138
|
+
metrics jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
139
|
+
error text,
|
|
140
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
141
|
+
started_at timestamptz,
|
|
142
|
+
finished_at timestamptz,
|
|
143
|
+
CONSTRAINT match_jobs_status_allowed
|
|
144
|
+
CHECK (status IN ('pending','running','succeeded','failed'))
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
-- Insert-or-load dedupe: at most one job per live dedupe key.
|
|
148
|
+
CREATE UNIQUE INDEX IF NOT EXISTS uq_identity_match_jobs_dedupe
|
|
149
|
+
ON identity.match_jobs (tenant_id, dedupe_key)
|
|
150
|
+
WHERE dedupe_key IS NOT NULL;
|
|
151
|
+
|
|
152
|
+
CREATE INDEX IF NOT EXISTS idx_identity_match_jobs_tenant_status
|
|
153
|
+
ON identity.match_jobs (tenant_id, status);
|
|
154
|
+
|
|
155
|
+
-- ---------------------------------------------------------------------------
|
|
156
|
+
-- identity.mapping_candidate_sets — confirm echo-check store (KTD-2)
|
|
157
|
+
-- ---------------------------------------------------------------------------
|
|
158
|
+
|
|
159
|
+
-- Lifecycle: written by propose (status='open'); invalidated on
|
|
160
|
+
-- confirm/decline/re-propose (confirmed/declined/superseded); expired rows
|
|
161
|
+
-- are refused. confirm_mapping succeeds only when the echoed candidate id
|
|
162
|
+
-- matches the recorded selection on an open, unexpired row for the thread.
|
|
163
|
+
CREATE TABLE IF NOT EXISTS identity.mapping_candidate_sets (
|
|
164
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
165
|
+
tenant_id uuid NOT NULL REFERENCES public.tenants(id) ON DELETE CASCADE,
|
|
166
|
+
thread_ref text NOT NULL,
|
|
167
|
+
source_system text NOT NULL,
|
|
168
|
+
namespace text NOT NULL DEFAULT '',
|
|
169
|
+
target_entity_ref jsonb,
|
|
170
|
+
candidates jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
171
|
+
status text NOT NULL DEFAULT 'open',
|
|
172
|
+
selected_candidate_id text,
|
|
173
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
174
|
+
expires_at timestamptz,
|
|
175
|
+
CONSTRAINT mapping_candidate_sets_status_allowed
|
|
176
|
+
CHECK (status IN ('open','confirmed','declined','superseded','expired'))
|
|
177
|
+
);
|
|
178
|
+
|
|
179
|
+
CREATE INDEX IF NOT EXISTS idx_mapping_candidate_sets_tenant_thread
|
|
180
|
+
ON identity.mapping_candidate_sets (tenant_id, thread_ref);
|
|
181
|
+
|
|
182
|
+
COMMIT;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
-- Purpose: type-level system map (THINK-321 U3 / KTD-3 / R6) — per-entity-type
|
|
2
|
+
-- declarations of which attached system holds which facets, shaped
|
|
3
|
+
-- `{ facet, sourceSystem, note? }`, plus the `identity_map` change-set item
|
|
4
|
+
-- type that governs edits (never a direct write).
|
|
5
|
+
-- Plan: docs/plans/2026-07-19-001-feat-ontology-identity-crosswalk-agent-routing-plan.md (U3)
|
|
6
|
+
-- Apply manually: psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f packages/database-pg/drizzle/0269_ontology_system_map.sql
|
|
7
|
+
-- creates-column: ontology.entity_types.system_map
|
|
8
|
+
-- creates-column: ontology.entity_types.system_map_version
|
|
9
|
+
-- creates-constraint: ontology.change_set_items.ontology_change_set_items_type_allowed
|
|
10
|
+
|
|
11
|
+
\set ON_ERROR_STOP on
|
|
12
|
+
|
|
13
|
+
BEGIN;
|
|
14
|
+
|
|
15
|
+
SET LOCAL lock_timeout = '5s';
|
|
16
|
+
SET LOCAL statement_timeout = '120s';
|
|
17
|
+
|
|
18
|
+
ALTER TABLE ontology.entity_types
|
|
19
|
+
ADD COLUMN IF NOT EXISTS system_map jsonb NOT NULL DEFAULT '[]'::jsonb;
|
|
20
|
+
ALTER TABLE ontology.entity_types
|
|
21
|
+
ADD COLUMN IF NOT EXISTS system_map_version integer NOT NULL DEFAULT 0;
|
|
22
|
+
|
|
23
|
+
-- R6: `identity_map` change-set items carry system-map edits through the
|
|
24
|
+
-- change-set approval loop — widen the item type CHECK to admit the value.
|
|
25
|
+
ALTER TABLE ontology.change_set_items
|
|
26
|
+
DROP CONSTRAINT IF EXISTS ontology_change_set_items_type_allowed;
|
|
27
|
+
ALTER TABLE ontology.change_set_items
|
|
28
|
+
ADD CONSTRAINT ontology_change_set_items_type_allowed
|
|
29
|
+
CHECK (item_type IN ('entity_type','relationship_type','facet_template','external_mapping','identity_map'));
|
|
30
|
+
|
|
31
|
+
COMMIT;
|