mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-27 02:44:50 +01:00
When reusing a Codex sandbox, the workspace-restore step now performs an auth-merge check before adopting the sandbox's auth.json. The merge fails closed when: - host or sandbox Codex auth is unusable (missing token or account) - the subscription payload shapes differ between host and sandbox - subscription account identities do not match Additional hardening: node absence on PATH during the embedded decision script now exits non-zero instead of silently falling through. Co-change comments link parseAuth (the embedded script) to hasUsableAuthPayload (codex-home.ts) so a future auth-format change cannot silently diverge between the two implementations. Co-Authored-By: Paperclip <noreply@paperclip.ing>
102 lines
3.6 KiB
SQL
102 lines
3.6 KiB
SQL
CREATE TABLE plugin_llm_wiki_8f50da974f.wiki_instances (
|
|
id uuid PRIMARY KEY,
|
|
company_id uuid NOT NULL REFERENCES public.companies(id) ON DELETE CASCADE,
|
|
wiki_id text NOT NULL,
|
|
root_folder_key text NOT NULL DEFAULT 'wiki-root',
|
|
configured_root_path text,
|
|
schema_version integer NOT NULL DEFAULT 1,
|
|
settings jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
managed_agent_key text,
|
|
managed_project_key text,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
UNIQUE (company_id, wiki_id)
|
|
);
|
|
|
|
CREATE TABLE plugin_llm_wiki_8f50da974f.wiki_sources (
|
|
id uuid PRIMARY KEY,
|
|
company_id uuid NOT NULL REFERENCES public.companies(id) ON DELETE CASCADE,
|
|
wiki_id text NOT NULL,
|
|
source_type text NOT NULL,
|
|
title text,
|
|
url text,
|
|
raw_path text NOT NULL,
|
|
content_hash text NOT NULL,
|
|
status text NOT NULL DEFAULT 'captured',
|
|
metadata jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE TABLE plugin_llm_wiki_8f50da974f.wiki_pages (
|
|
id uuid PRIMARY KEY,
|
|
company_id uuid NOT NULL REFERENCES public.companies(id) ON DELETE CASCADE,
|
|
wiki_id text NOT NULL,
|
|
path text NOT NULL,
|
|
title text,
|
|
page_type text,
|
|
frontmatter jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
source_refs jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
backlinks jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
content_hash text,
|
|
current_revision_id uuid,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
UNIQUE (company_id, wiki_id, path)
|
|
);
|
|
|
|
CREATE TABLE plugin_llm_wiki_8f50da974f.wiki_page_revisions (
|
|
id uuid PRIMARY KEY,
|
|
company_id uuid NOT NULL REFERENCES public.companies(id) ON DELETE CASCADE,
|
|
wiki_id text NOT NULL,
|
|
page_id uuid REFERENCES plugin_llm_wiki_8f50da974f.wiki_pages(id) ON DELETE CASCADE,
|
|
operation_id uuid,
|
|
path text NOT NULL,
|
|
content_hash text NOT NULL,
|
|
summary text,
|
|
metadata jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
created_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE TABLE plugin_llm_wiki_8f50da974f.wiki_operations (
|
|
id uuid PRIMARY KEY,
|
|
company_id uuid NOT NULL REFERENCES public.companies(id) ON DELETE CASCADE,
|
|
wiki_id text NOT NULL,
|
|
operation_type text NOT NULL,
|
|
status text NOT NULL,
|
|
hidden_issue_id uuid REFERENCES public.issues(id) ON DELETE SET NULL,
|
|
project_id uuid REFERENCES public.projects(id) ON DELETE SET NULL,
|
|
run_ids jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
cost_cents integer NOT NULL DEFAULT 0,
|
|
warnings jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
affected_pages jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
metadata jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE TABLE plugin_llm_wiki_8f50da974f.wiki_query_sessions (
|
|
id uuid PRIMARY KEY,
|
|
company_id uuid NOT NULL REFERENCES public.companies(id) ON DELETE CASCADE,
|
|
wiki_id text NOT NULL,
|
|
hidden_issue_id uuid REFERENCES public.issues(id) ON DELETE SET NULL,
|
|
agent_session_id text,
|
|
status text NOT NULL DEFAULT 'active',
|
|
filed_outputs jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE TABLE plugin_llm_wiki_8f50da974f.wiki_resource_bindings (
|
|
id uuid PRIMARY KEY,
|
|
company_id uuid NOT NULL REFERENCES public.companies(id) ON DELETE CASCADE,
|
|
wiki_id text NOT NULL,
|
|
resource_kind text NOT NULL,
|
|
resource_key text NOT NULL,
|
|
resolved_id uuid,
|
|
metadata jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
created_at timestamptz NOT NULL DEFAULT now(),
|
|
updated_at timestamptz NOT NULL DEFAULT now(),
|
|
UNIQUE (company_id, wiki_id, resource_kind, resource_key)
|
|
);
|