@emilia-protocol/gate 0.14.0 → 0.15.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/CHANGELOG.md +32 -1
- package/README.md +32 -1
- package/aeb-consumption-store.js +3 -0
- package/dist/aeb-consumption-store.d.ts +80 -0
- package/dist/aeb-consumption-store.d.ts.map +1 -0
- package/dist/aeb-consumption-store.js +430 -0
- package/dist/aeb-consumption-store.js.map +1 -0
- package/dist/capability-receipt.d.ts +8 -0
- package/dist/capability-receipt.d.ts.map +1 -1
- package/dist/capability-receipt.js +17 -0
- package/dist/capability-receipt.js.map +1 -1
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/proposal-to-effect-postgres.d.ts +129 -0
- package/dist/proposal-to-effect-postgres.d.ts.map +1 -0
- package/dist/proposal-to-effect-postgres.js +1511 -0
- package/dist/proposal-to-effect-postgres.js.map +1 -0
- package/dist/proposal-to-effect-status.d.ts +55 -0
- package/dist/proposal-to-effect-status.d.ts.map +1 -0
- package/dist/proposal-to-effect-status.js +280 -0
- package/dist/proposal-to-effect-status.js.map +1 -0
- package/dist/proposal-to-effect.d.ts +151 -3
- package/dist/proposal-to-effect.d.ts.map +1 -1
- package/dist/proposal-to-effect.js +589 -46
- package/dist/proposal-to-effect.js.map +1 -1
- package/dist/remedy-case-set-postgres.d.ts +73 -0
- package/dist/remedy-case-set-postgres.d.ts.map +1 -0
- package/dist/remedy-case-set-postgres.js +846 -0
- package/dist/remedy-case-set-postgres.js.map +1 -0
- package/dist/remedy-case-set.d.ts +53 -0
- package/dist/remedy-case-set.d.ts.map +1 -0
- package/dist/remedy-case-set.js +571 -0
- package/dist/remedy-case-set.js.map +1 -0
- package/dist/remedy-program-adapters.d.ts +137 -0
- package/dist/remedy-program-adapters.d.ts.map +1 -0
- package/dist/remedy-program-adapters.js +590 -0
- package/dist/remedy-program-adapters.js.map +1 -0
- package/dist/trust-program-revocation.js.map +1 -1
- package/package.json +278 -63
- package/proposal-to-effect-postgres.js +3 -0
- package/proposal-to-effect-status.js +2 -0
- package/remedy-case-set-postgres.js +3 -0
- package/remedy-case-set.js +3 -0
- package/remedy-program-adapters.js +3 -0
- package/src/aeb-consumption-store.ts +521 -0
- package/src/capability-receipt.ts +17 -0
- package/src/index.ts +52 -3
- package/src/proposal-to-effect-postgres.ts +1740 -0
- package/src/proposal-to-effect-status.ts +357 -0
- package/src/proposal-to-effect.ts +755 -50
- package/src/remedy-case-set-postgres.ts +1008 -0
- package/src/remedy-case-set.ts +603 -0
- package/src/remedy-program-adapters.ts +657 -0
- package/src/trust-program-revocation.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal-to-effect.js","sourceRoot":"","sources":["../src/proposal-to-effect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proposal-to-effect.js","sourceRoot":"","sources":["../src/proposal-to-effect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { RemedyCaseSetResult, RemedyCaseSetState, RemedyCaseSetStore } from './remedy-case-set.js';
|
|
2
|
+
export declare const REMEDY_CASE_SET_PG_STORE_VERSION = "EP-GATE-REMEDY-CASE-SET-PG-STORE-v1";
|
|
3
|
+
export declare const REMEDY_CASE_SET_TABLE = "ep_remedy_case_sets";
|
|
4
|
+
export declare const REMEDY_CASE_SET_EVENT_TABLE = "ep_remedy_case_set_events";
|
|
5
|
+
export declare const REMEDY_CASE_SET_EXECUTOR_ROLE = "ep_remedy_executor";
|
|
6
|
+
export declare const REMEDY_CASE_SET_OWNER_ROLE = "ep_remedy_store_owner";
|
|
7
|
+
export declare const REMEDY_CASE_SET_MAX_STATE_BYTES: number;
|
|
8
|
+
export declare const REMEDY_CASE_SET_MAX_MANIFEST_BYTES: number;
|
|
9
|
+
export declare const REMEDY_CASE_SET_MAX_FORWARD_SKEW_MINUTES = 5;
|
|
10
|
+
/** Exact schema consumed by createRemedyCaseSetPostgresStore(). */
|
|
11
|
+
export declare const REMEDY_CASE_SET_POSTGRES_DDL = "CREATE TABLE IF NOT EXISTS ep_remedy_case_sets (\n tenant_id TEXT NOT NULL CHECK (octet_length(tenant_id) BETWEEN 1 AND 512),\n case_set_id TEXT NOT NULL CHECK (octet_length(case_set_id) BETWEEN 1 AND 256),\n revision BIGINT NOT NULL CHECK (revision >= 0),\n status TEXT NOT NULL CHECK (status IN ('open', 'indeterminate', 'completed')),\n owner_token_digest TEXT NOT NULL CHECK (owner_token_digest ~ '^sha256:[0-9a-f]{64}$'),\n manifest_json TEXT NOT NULL,\n manifest_digest TEXT NOT NULL CHECK (manifest_digest ~ '^sha256:[0-9a-f]{64}$'),\n state_json TEXT NOT NULL,\n state_digest TEXT NOT NULL CHECK (state_digest ~ '^sha256:[0-9a-f]{64}$'),\n recorded_at TIMESTAMPTZ NOT NULL DEFAULT transaction_timestamp(),\n PRIMARY KEY (tenant_id, case_set_id),\n CHECK (octet_length(manifest_json) <= 1048576),\n CHECK (octet_length(state_json) <= 4194304)\n);\nCREATE TABLE IF NOT EXISTS ep_remedy_case_set_events (\n tenant_id TEXT NOT NULL,\n case_set_id TEXT NOT NULL,\n revision BIGINT NOT NULL CHECK (revision >= 0),\n previous_revision BIGINT NULL CHECK (previous_revision IS NULL OR previous_revision >= 0),\n status TEXT NOT NULL CHECK (status IN ('open', 'indeterminate', 'completed')),\n state_json TEXT NOT NULL,\n state_digest TEXT NOT NULL CHECK (state_digest ~ '^sha256:[0-9a-f]{64}$'),\n recorded_at TIMESTAMPTZ NOT NULL DEFAULT transaction_timestamp(),\n PRIMARY KEY (tenant_id, case_set_id, revision),\n FOREIGN KEY (tenant_id, case_set_id)\n REFERENCES ep_remedy_case_sets (tenant_id, case_set_id) ON DELETE RESTRICT,\n CHECK (\n (revision = 0 AND previous_revision IS NULL)\n OR (revision > 0 AND previous_revision = revision - 1)\n ),\n CHECK (octet_length(state_json) <= 4194304)\n);\nCREATE OR REPLACE FUNCTION ep_remedy_case_sets_guard()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n IF TG_OP = 'DELETE' THEN\n RAISE EXCEPTION 'remedy case sets cannot be deleted' USING ERRCODE = 'check_violation';\n END IF;\n IF OLD.tenant_id IS DISTINCT FROM NEW.tenant_id\n OR OLD.case_set_id IS DISTINCT FROM NEW.case_set_id\n OR OLD.owner_token_digest IS DISTINCT FROM NEW.owner_token_digest\n OR OLD.manifest_json IS DISTINCT FROM NEW.manifest_json\n OR OLD.manifest_digest IS DISTINCT FROM NEW.manifest_digest THEN\n RAISE EXCEPTION 'remedy case-set identity, owner, and manifest are immutable'\n USING ERRCODE = 'check_violation';\n END IF;\n IF OLD.status = 'completed' THEN\n RAISE EXCEPTION 'completed remedy case sets are immutable'\n USING ERRCODE = 'check_violation';\n END IF;\n IF NEW.revision <> OLD.revision + 1 THEN\n RAISE EXCEPTION 'remedy case-set revision must advance by one'\n USING ERRCODE = 'check_violation';\n END IF;\n IF NEW.status = 'open' THEN\n RAISE EXCEPTION 'remedy case sets cannot reopen'\n USING ERRCODE = 'check_violation';\n END IF;\n RETURN NEW;\nEND;\n$$;\nDROP TRIGGER IF EXISTS ep_remedy_case_sets_guard_trigger ON ep_remedy_case_sets;\nCREATE TRIGGER ep_remedy_case_sets_guard_trigger\nBEFORE UPDATE OR DELETE ON ep_remedy_case_sets\nFOR EACH ROW EXECUTE FUNCTION ep_remedy_case_sets_guard();\nCREATE OR REPLACE FUNCTION ep_remedy_case_set_events_immutable()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n RAISE EXCEPTION 'remedy case-set events are immutable'\n USING ERRCODE = 'check_violation';\nEND;\n$$;\nDROP TRIGGER IF EXISTS ep_remedy_case_set_events_immutable_trigger\n ON ep_remedy_case_set_events;\nCREATE TRIGGER ep_remedy_case_set_events_immutable_trigger\nBEFORE UPDATE OR DELETE ON ep_remedy_case_set_events\nFOR EACH ROW EXECUTE FUNCTION ep_remedy_case_set_events_immutable();\nALTER TABLE ep_remedy_case_sets ENABLE ROW LEVEL SECURITY;\nALTER TABLE ep_remedy_case_set_events ENABLE ROW LEVEL SECURITY;\nALTER TABLE ep_remedy_case_sets FORCE ROW LEVEL SECURITY;\nALTER TABLE ep_remedy_case_set_events FORCE ROW LEVEL SECURITY;\nDO $roles$\nBEGIN\n IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_roles WHERE rolname = 'ep_remedy_executor') THEN\n CREATE ROLE ep_remedy_executor NOLOGIN\n NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS;\n END IF;\n IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_roles WHERE rolname = 'ep_remedy_store_owner') THEN\n CREATE ROLE ep_remedy_store_owner NOLOGIN\n NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS;\n END IF;\nEND\n$roles$;\nGRANT ep_remedy_store_owner TO CURRENT_USER;\nCREATE SCHEMA IF NOT EXISTS ep_remedy_private;\nREVOKE ALL ON SCHEMA ep_remedy_private FROM PUBLIC, anon, authenticated, service_role;\nCREATE TABLE IF NOT EXISTS ep_remedy_private.tenant_principals (\n principal_name NAME NOT NULL,\n tenant_id TEXT NOT NULL CHECK (octet_length(tenant_id) BETWEEN 1 AND 512),\n PRIMARY KEY (principal_name, tenant_id)\n);\nALTER SCHEMA ep_remedy_private OWNER TO ep_remedy_store_owner;\nALTER TABLE ep_remedy_private.tenant_principals OWNER TO ep_remedy_store_owner;\nALTER TABLE ep_remedy_case_sets OWNER TO ep_remedy_store_owner;\nALTER TABLE ep_remedy_case_set_events OWNER TO ep_remedy_store_owner;\nALTER FUNCTION ep_remedy_case_sets_guard() OWNER TO ep_remedy_store_owner;\nALTER FUNCTION ep_remedy_case_set_events_immutable() OWNER TO ep_remedy_store_owner;\nALTER TABLE ep_remedy_private.tenant_principals ENABLE ROW LEVEL SECURITY;\nALTER TABLE ep_remedy_private.tenant_principals FORCE ROW LEVEL SECURITY;\nDROP POLICY IF EXISTS ep_remedy_principals_owner_only ON ep_remedy_private.tenant_principals;\nCREATE POLICY ep_remedy_principals_owner_only ON ep_remedy_private.tenant_principals\n TO ep_remedy_store_owner USING (TRUE) WITH CHECK (TRUE);\nDROP POLICY IF EXISTS ep_remedy_case_sets_tenant_policy ON ep_remedy_case_sets;\nDROP POLICY IF EXISTS ep_remedy_case_sets_owner_only ON ep_remedy_case_sets;\nCREATE POLICY ep_remedy_case_sets_owner_only ON ep_remedy_case_sets\n TO ep_remedy_store_owner USING (TRUE) WITH CHECK (TRUE);\nDROP POLICY IF EXISTS ep_remedy_case_set_events_tenant_policy ON ep_remedy_case_set_events;\nDROP POLICY IF EXISTS ep_remedy_case_set_events_owner_only ON ep_remedy_case_set_events;\nCREATE POLICY ep_remedy_case_set_events_owner_only ON ep_remedy_case_set_events\n TO ep_remedy_store_owner USING (TRUE) WITH CHECK (TRUE);\nREVOKE ALL ON ep_remedy_private.tenant_principals\n FROM PUBLIC, anon, authenticated, service_role, ep_remedy_executor;\nREVOKE ALL ON ep_remedy_case_sets\n FROM PUBLIC, anon, authenticated, service_role, ep_remedy_executor;\nREVOKE ALL ON ep_remedy_case_set_events\n FROM PUBLIC, anon, authenticated, service_role, ep_remedy_executor;\nREVOKE EXECUTE ON FUNCTION ep_remedy_case_sets_guard()\n FROM PUBLIC, anon, authenticated, service_role, ep_remedy_executor;\nREVOKE EXECUTE ON FUNCTION ep_remedy_case_set_events_immutable()\n FROM PUBLIC, anon, authenticated, service_role, ep_remedy_executor;\nCREATE OR REPLACE FUNCTION ep_remedy_private.assert_tenant_principal(p_tenant_id TEXT)\nRETURNS TEXT\nLANGUAGE plpgsql VOLATILE SECURITY DEFINER SET search_path = ''\nAS $fn$\nDECLARE v_role_ok BOOLEAN; v_binding_ok BOOLEAN;\nBEGIN\n v_role_ok := pg_catalog.pg_has_role(SESSION_USER, 'ep_remedy_executor', 'MEMBER');\n SELECT EXISTS (\n SELECT 1 FROM ep_remedy_private.tenant_principals AS principals\n WHERE principals.principal_name = SESSION_USER AND principals.tenant_id = p_tenant_id\n ) INTO v_binding_ok;\n IF v_role_ok IS NOT TRUE OR v_binding_ok IS NOT TRUE THEN\n RAISE EXCEPTION 'REMEDY_TENANT_PRINCIPAL_REFUSED' USING ERRCODE = '42501';\n END IF;\n RETURN p_tenant_id;\nEND\n$fn$;\nCREATE OR REPLACE FUNCTION ep_remedy_private.create_case_set(\n p_tenant_id TEXT, p_case_set_id TEXT, p_status TEXT, p_owner_token_digest TEXT,\n p_manifest_json TEXT, p_manifest_digest TEXT, p_state_json TEXT,\n p_state_digest TEXT, p_recorded_at TIMESTAMPTZ\n) RETURNS TABLE(\n tenant_id TEXT, case_set_id TEXT, revision BIGINT, status TEXT,\n owner_token_digest TEXT, manifest_json TEXT, manifest_digest TEXT,\n state_json TEXT, state_digest TEXT, recorded_at TEXT\n)\nLANGUAGE plpgsql SECURITY DEFINER SET search_path = ''\nAS $fn$\nBEGIN\n PERFORM ep_remedy_private.assert_tenant_principal(p_tenant_id);\n RETURN QUERY WITH inserted AS (\n INSERT INTO public.ep_remedy_case_sets (\n tenant_id, case_set_id, revision, status, owner_token_digest,\n manifest_json, manifest_digest, state_json, state_digest, recorded_at\n ) VALUES (\n p_tenant_id, p_case_set_id, 0, p_status, p_owner_token_digest,\n p_manifest_json, p_manifest_digest, p_state_json, p_state_digest, p_recorded_at\n ) ON CONFLICT ON CONSTRAINT ep_remedy_case_sets_pkey DO NOTHING RETURNING *\n ) SELECT inserted.tenant_id, inserted.case_set_id, inserted.revision, inserted.status,\n inserted.owner_token_digest, inserted.manifest_json, inserted.manifest_digest,\n inserted.state_json, inserted.state_digest,\n pg_catalog.to_char(inserted.recorded_at AT TIME ZONE 'UTC', 'YYYY-MM-DD\"T\"HH24:MI:SS.MS\"Z\"')\n FROM inserted;\nEND\n$fn$;\nCREATE OR REPLACE FUNCTION ep_remedy_private.get_case_set(\n p_tenant_id TEXT, p_case_set_id TEXT\n) RETURNS TABLE(\n tenant_id TEXT, case_set_id TEXT, revision BIGINT, status TEXT,\n owner_token_digest TEXT, manifest_json TEXT, manifest_digest TEXT,\n state_json TEXT, state_digest TEXT, recorded_at TEXT\n)\nLANGUAGE plpgsql SECURITY DEFINER SET search_path = ''\nAS $fn$\nBEGIN\n PERFORM ep_remedy_private.assert_tenant_principal(p_tenant_id);\n RETURN QUERY SELECT current.tenant_id, current.case_set_id, current.revision, current.status,\n current.owner_token_digest, current.manifest_json, current.manifest_digest,\n current.state_json, current.state_digest,\n pg_catalog.to_char(current.recorded_at AT TIME ZONE 'UTC', 'YYYY-MM-DD\"T\"HH24:MI:SS.MS\"Z\"')\n FROM public.ep_remedy_case_sets AS current\n WHERE current.tenant_id = p_tenant_id AND current.case_set_id = p_case_set_id;\nEND\n$fn$;\nCREATE OR REPLACE FUNCTION ep_remedy_private.get_case_set_for_update(\n p_tenant_id TEXT, p_case_set_id TEXT\n) RETURNS TABLE(\n tenant_id TEXT, case_set_id TEXT, revision BIGINT, status TEXT,\n owner_token_digest TEXT, manifest_json TEXT, manifest_digest TEXT,\n state_json TEXT, state_digest TEXT, recorded_at TEXT\n)\nLANGUAGE plpgsql SECURITY DEFINER SET search_path = ''\nAS $fn$\nBEGIN\n PERFORM ep_remedy_private.assert_tenant_principal(p_tenant_id);\n RETURN QUERY SELECT current.tenant_id, current.case_set_id, current.revision, current.status,\n current.owner_token_digest, current.manifest_json, current.manifest_digest,\n current.state_json, current.state_digest,\n pg_catalog.to_char(current.recorded_at AT TIME ZONE 'UTC', 'YYYY-MM-DD\"T\"HH24:MI:SS.MS\"Z\"')\n FROM public.ep_remedy_case_sets AS current\n WHERE current.tenant_id = p_tenant_id AND current.case_set_id = p_case_set_id\n FOR UPDATE;\nEND\n$fn$;\nCREATE OR REPLACE FUNCTION ep_remedy_private.compare_and_swap_case_set(\n p_tenant_id TEXT, p_case_set_id TEXT, p_expected_revision BIGINT,\n p_owner_token_digest TEXT, p_next_revision BIGINT, p_status TEXT,\n p_state_json TEXT, p_state_digest TEXT, p_recorded_at TIMESTAMPTZ,\n p_manifest_json TEXT, p_manifest_digest TEXT\n) RETURNS TABLE(\n tenant_id TEXT, case_set_id TEXT, revision BIGINT, status TEXT,\n owner_token_digest TEXT, manifest_json TEXT, manifest_digest TEXT,\n state_json TEXT, state_digest TEXT, recorded_at TEXT\n)\nLANGUAGE plpgsql SECURITY DEFINER SET search_path = ''\nAS $fn$\nBEGIN\n PERFORM ep_remedy_private.assert_tenant_principal(p_tenant_id);\n RETURN QUERY WITH updated AS (\n UPDATE public.ep_remedy_case_sets\n SET revision = p_next_revision, status = p_status, state_json = p_state_json,\n state_digest = p_state_digest, recorded_at = p_recorded_at\n WHERE ep_remedy_case_sets.tenant_id = p_tenant_id\n AND ep_remedy_case_sets.case_set_id = p_case_set_id\n AND ep_remedy_case_sets.revision = p_expected_revision\n AND ep_remedy_case_sets.owner_token_digest = p_owner_token_digest\n AND ep_remedy_case_sets.status <> 'completed'\n AND ep_remedy_case_sets.manifest_json = p_manifest_json\n AND ep_remedy_case_sets.manifest_digest = p_manifest_digest\n RETURNING *\n ) SELECT updated.tenant_id, updated.case_set_id, updated.revision, updated.status,\n updated.owner_token_digest, updated.manifest_json, updated.manifest_digest,\n updated.state_json, updated.state_digest,\n pg_catalog.to_char(updated.recorded_at AT TIME ZONE 'UTC', 'YYYY-MM-DD\"T\"HH24:MI:SS.MS\"Z\"')\n FROM updated;\nEND\n$fn$;\nCREATE OR REPLACE FUNCTION ep_remedy_private.append_case_set_event(\n p_tenant_id TEXT, p_case_set_id TEXT, p_revision BIGINT,\n p_previous_revision BIGINT, p_status TEXT, p_state_json TEXT,\n p_state_digest TEXT, p_recorded_at TIMESTAMPTZ\n) RETURNS TABLE(\n tenant_id TEXT, case_set_id TEXT, revision BIGINT, state_digest TEXT, recorded_at TEXT\n)\nLANGUAGE plpgsql SECURITY DEFINER SET search_path = ''\nAS $fn$\nBEGIN\n PERFORM ep_remedy_private.assert_tenant_principal(p_tenant_id);\n RETURN QUERY WITH inserted AS (\n INSERT INTO public.ep_remedy_case_set_events (\n tenant_id, case_set_id, revision, previous_revision, status,\n state_json, state_digest, recorded_at\n ) VALUES (\n p_tenant_id, p_case_set_id, p_revision, p_previous_revision, p_status,\n p_state_json, p_state_digest, p_recorded_at\n ) RETURNING *\n ) SELECT inserted.tenant_id, inserted.case_set_id, inserted.revision,\n inserted.state_digest,\n pg_catalog.to_char(inserted.recorded_at AT TIME ZONE 'UTC', 'YYYY-MM-DD\"T\"HH24:MI:SS.MS\"Z\"')\n FROM inserted;\nEND\n$fn$;\nALTER FUNCTION ep_remedy_private.assert_tenant_principal(TEXT)\n OWNER TO ep_remedy_store_owner;\nALTER FUNCTION ep_remedy_private.create_case_set(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TIMESTAMPTZ)\n OWNER TO ep_remedy_store_owner;\nALTER FUNCTION ep_remedy_private.get_case_set(TEXT, TEXT)\n OWNER TO ep_remedy_store_owner;\nALTER FUNCTION ep_remedy_private.get_case_set_for_update(TEXT, TEXT)\n OWNER TO ep_remedy_store_owner;\nALTER FUNCTION ep_remedy_private.compare_and_swap_case_set(TEXT, TEXT, BIGINT, TEXT, BIGINT, TEXT, TEXT, TEXT, TIMESTAMPTZ, TEXT, TEXT)\n OWNER TO ep_remedy_store_owner;\nALTER FUNCTION ep_remedy_private.append_case_set_event(TEXT, TEXT, BIGINT, BIGINT, TEXT, TEXT, TEXT, TIMESTAMPTZ)\n OWNER TO ep_remedy_store_owner;\nREVOKE ALL ON ALL FUNCTIONS IN SCHEMA ep_remedy_private\n FROM PUBLIC, anon, authenticated, service_role;\nGRANT USAGE ON SCHEMA ep_remedy_private TO ep_remedy_executor;\nGRANT EXECUTE ON FUNCTION ep_remedy_private.assert_tenant_principal(TEXT),\n ep_remedy_private.create_case_set(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TIMESTAMPTZ),\n ep_remedy_private.get_case_set(TEXT, TEXT),\n ep_remedy_private.get_case_set_for_update(TEXT, TEXT),\n ep_remedy_private.compare_and_swap_case_set(TEXT, TEXT, BIGINT, TEXT, BIGINT, TEXT, TEXT, TEXT, TIMESTAMPTZ, TEXT, TEXT),\n ep_remedy_private.append_case_set_event(TEXT, TEXT, BIGINT, BIGINT, TEXT, TEXT, TEXT, TIMESTAMPTZ)\n TO ep_remedy_executor;\nREVOKE ep_remedy_store_owner FROM CURRENT_USER;";
|
|
12
|
+
/** Exact statements issued by the store, exported for audit and deterministic fakes. */
|
|
13
|
+
export declare const REMEDY_CASE_SET_POSTGRES_SQL: Readonly<{
|
|
14
|
+
setTenant: "SELECT ep_remedy_private.assert_tenant_principal($1::text) AS tenant_id";
|
|
15
|
+
clock: "SELECT to_char(\n transaction_timestamp() AT TIME ZONE 'UTC',\n 'YYYY-MM-DD\"T\"HH24:MI:SS.MS\"Z\"'\n) AS recorded_at";
|
|
16
|
+
create: "SELECT * FROM ep_remedy_private.create_case_set($1::text, $2::text, $3::text, $4::text, $5::text, $6::text, $7::text, $8::text, $9::timestamptz)";
|
|
17
|
+
get: "SELECT * FROM ep_remedy_private.get_case_set($1::text, $2::text)";
|
|
18
|
+
getForUpdate: "SELECT * FROM ep_remedy_private.get_case_set_for_update($1::text, $2::text)";
|
|
19
|
+
compareAndSwap: "SELECT * FROM ep_remedy_private.compare_and_swap_case_set($1::text, $2::text, $3::bigint, $4::text, $5::bigint, $6::text, $7::text, $8::text, $9::timestamptz, $10::text, $11::text)";
|
|
20
|
+
appendEvent: "SELECT * FROM ep_remedy_private.append_case_set_event($1::text, $2::text, $3::bigint, $4::bigint, $5::text, $6::text, $7::text, $8::timestamptz)";
|
|
21
|
+
}>;
|
|
22
|
+
type QueryResult = {
|
|
23
|
+
rowCount: number | null;
|
|
24
|
+
rows?: Record<string, unknown>[];
|
|
25
|
+
};
|
|
26
|
+
export type RemedyCaseSetPgClient = {
|
|
27
|
+
query: (text: string, params?: any[]) => Promise<QueryResult>;
|
|
28
|
+
release: () => void;
|
|
29
|
+
};
|
|
30
|
+
export type RemedyCaseSetPgPool = {
|
|
31
|
+
connect: () => Promise<RemedyCaseSetPgClient>;
|
|
32
|
+
};
|
|
33
|
+
export interface RemedyCaseSetPostgresStore extends RemedyCaseSetStore {
|
|
34
|
+
readonly durable: true;
|
|
35
|
+
create(state: RemedyCaseSetState): Promise<RemedyCaseSetResult>;
|
|
36
|
+
get(input: Readonly<{
|
|
37
|
+
tenantId: string;
|
|
38
|
+
caseSetId: string;
|
|
39
|
+
}>): Promise<RemedyCaseSetResult>;
|
|
40
|
+
compareAndSwap(input: Readonly<{
|
|
41
|
+
tenantId: string;
|
|
42
|
+
caseSetId: string;
|
|
43
|
+
expectedRevision: number;
|
|
44
|
+
ownerTokenDigest: string;
|
|
45
|
+
state: RemedyCaseSetState;
|
|
46
|
+
}>): Promise<RemedyCaseSetResult>;
|
|
47
|
+
}
|
|
48
|
+
/** Build the exact durable store consumed by createRemedyCaseSetCoordinator(). */
|
|
49
|
+
export declare function createRemedyCaseSetPostgresStore({ pool }?: {
|
|
50
|
+
pool?: RemedyCaseSetPgPool;
|
|
51
|
+
}): RemedyCaseSetPostgresStore;
|
|
52
|
+
declare const _default: {
|
|
53
|
+
REMEDY_CASE_SET_PG_STORE_VERSION: string;
|
|
54
|
+
REMEDY_CASE_SET_TABLE: string;
|
|
55
|
+
REMEDY_CASE_SET_EVENT_TABLE: string;
|
|
56
|
+
REMEDY_CASE_SET_EXECUTOR_ROLE: string;
|
|
57
|
+
REMEDY_CASE_SET_MAX_STATE_BYTES: number;
|
|
58
|
+
REMEDY_CASE_SET_MAX_MANIFEST_BYTES: number;
|
|
59
|
+
REMEDY_CASE_SET_MAX_FORWARD_SKEW_MINUTES: number;
|
|
60
|
+
REMEDY_CASE_SET_POSTGRES_DDL: string;
|
|
61
|
+
REMEDY_CASE_SET_POSTGRES_SQL: Readonly<{
|
|
62
|
+
setTenant: "SELECT ep_remedy_private.assert_tenant_principal($1::text) AS tenant_id";
|
|
63
|
+
clock: "SELECT to_char(\n transaction_timestamp() AT TIME ZONE 'UTC',\n 'YYYY-MM-DD\"T\"HH24:MI:SS.MS\"Z\"'\n) AS recorded_at";
|
|
64
|
+
create: "SELECT * FROM ep_remedy_private.create_case_set($1::text, $2::text, $3::text, $4::text, $5::text, $6::text, $7::text, $8::text, $9::timestamptz)";
|
|
65
|
+
get: "SELECT * FROM ep_remedy_private.get_case_set($1::text, $2::text)";
|
|
66
|
+
getForUpdate: "SELECT * FROM ep_remedy_private.get_case_set_for_update($1::text, $2::text)";
|
|
67
|
+
compareAndSwap: "SELECT * FROM ep_remedy_private.compare_and_swap_case_set($1::text, $2::text, $3::bigint, $4::text, $5::bigint, $6::text, $7::text, $8::text, $9::timestamptz, $10::text, $11::text)";
|
|
68
|
+
appendEvent: "SELECT * FROM ep_remedy_private.append_case_set_event($1::text, $2::text, $3::bigint, $4::bigint, $5::text, $6::text, $7::text, $8::timestamptz)";
|
|
69
|
+
}>;
|
|
70
|
+
createRemedyCaseSetPostgresStore: typeof createRemedyCaseSetPostgresStore;
|
|
71
|
+
};
|
|
72
|
+
export default _default;
|
|
73
|
+
//# sourceMappingURL=remedy-case-set-postgres.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remedy-case-set-postgres.d.ts","sourceRoot":"","sources":["../src/remedy-case-set-postgres.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,gCAAgC,wCAAwC,CAAC;AACtF,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAC3D,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AACvE,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAClE,eAAO,MAAM,+BAA+B,QAAkB,CAAC;AAC/D,eAAO,MAAM,kCAAkC,QAAc,CAAC;AAC9D,eAAO,MAAM,wCAAwC,IAAI,CAAC;AA0B1D,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,s+dA2Se,CAAC;AAEzD,wFAAwF;AACxF,eAAO,MAAM,4BAA4B;;;;;;;;EAWvC,CAAC;AAGH,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,EAAE,kBAAkB,CAAC;KAC3B,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC;AA4WD,kFAAkF;AAClF,wBAAgB,gCAAgC,CAC9C,EAAE,IAAI,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,mBAAmB,CAAA;CAAO,GAC5C,0BAA0B,CAuO5B;;;;;;;;;;;;;;;;;;;;;AAED,wBAWE"}
|