@redocly/realm 0.129.0-next.0 → 0.129.0-next.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/CHANGELOG.md +46 -0
- package/dist/client/app/Sidebar/useBreadcrumbs.js +1 -1
- package/dist/client/app/hooks/codeHighlight/json-seq.d.ts +43 -0
- package/dist/client/app/hooks/codeHighlight/json-seq.js +1 -0
- package/dist/client/app/hooks/codeHighlight/map-lang.js +1 -1
- package/dist/client/app/hooks/codeHighlight/multipart-mixed.d.ts +40 -0
- package/dist/client/app/hooks/codeHighlight/multipart-mixed.js +1 -0
- package/dist/client/app/hooks/codeHighlight/useCodeHighlight.js +1 -1
- package/dist/client/app/hooks/useBanner.d.ts +4 -0
- package/dist/client/app/hooks/useBanner.js +1 -1
- package/dist/client/app/utils/loadAndNavigate.js +1 -1
- package/dist/client/types/post-message.d.ts +2 -1
- package/dist/server/persistence/kv/helpers/decode-cursor.d.ts +2 -0
- package/dist/server/persistence/kv/helpers/decode-cursor.js +1 -0
- package/dist/server/persistence/kv/helpers/encode-cursor.d.ts +2 -0
- package/dist/server/persistence/kv/helpers/encode-cursor.js +1 -0
- package/dist/server/persistence/kv/mappers/create-kv-list-entry.d.ts +5 -0
- package/dist/server/persistence/kv/mappers/create-kv-list-entry.js +1 -0
- package/dist/server/persistence/kv/mappers/create-kv-value.d.ts +4 -0
- package/dist/server/persistence/kv/mappers/create-kv-value.js +1 -0
- package/dist/server/persistence/kv/repositories/kv-remote-repository.d.ts +5 -5
- package/dist/server/persistence/kv/repositories/kv-remote-repository.js +1 -1
- package/dist/server/persistence/kv/schemas/kv-schemas.d.ts +10 -0
- package/dist/server/persistence/kv/schemas/kv-schemas.js +1 -0
- package/dist/server/persistence/kv/services/kv-service.d.ts +6 -6
- package/dist/server/persistence/kv/services/kv-service.js +1 -1
- package/dist/server/plugins/markdown/attribute-resolvers/helpers/dereference-json-schema-refs.d.ts +14 -0
- package/dist/server/plugins/markdown/attribute-resolvers/helpers/dereference-json-schema-refs.js +1 -0
- package/dist/server/plugins/markdown/attribute-resolvers/helpers/generate-sample-from-schema.d.ts +62 -0
- package/dist/server/plugins/markdown/attribute-resolvers/helpers/generate-sample-from-schema.js +2 -0
- package/dist/server/plugins/markdown/attribute-resolvers/index.js +1 -1
- package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-example-ref.d.ts +4 -0
- package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-example-ref.js +1 -0
- package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-schema-ref.js +1 -1
- package/dist/server/plugins/markdown/attribute-resolvers/resolve-sample-from-json-schema.d.ts +4 -0
- package/dist/server/plugins/markdown/attribute-resolvers/resolve-sample-from-json-schema.js +1 -0
- package/dist/server/plugins/markdown/markdoc/attributes/index.d.ts +2 -0
- package/dist/server/plugins/markdown/markdoc/attributes/index.js +1 -1
- package/dist/server/plugins/markdown/markdoc/attributes/json-example-ref.d.ts +6 -0
- package/dist/server/plugins/markdown/markdoc/attributes/json-example-ref.js +1 -0
- package/dist/server/plugins/markdown/markdoc/attributes/sample-from-json-schema.d.ts +6 -0
- package/dist/server/plugins/markdown/markdoc/attributes/sample-from-json-schema.js +1 -0
- package/dist/server/plugins/markdown/markdoc/custom-components/openapi/index.d.ts +1 -0
- package/dist/server/plugins/markdown/markdoc/custom-components/openapi/index.js +1 -1
- package/dist/server/plugins/markdown/markdoc/custom-components/openapi/json-example.d.ts +8 -0
- package/dist/server/plugins/markdown/markdoc/custom-components/openapi/json-example.js +7 -0
- package/dist/server/plugins/markdown/markdoc/tags/index.d.ts +4 -0
- package/dist/server/plugins/markdown/markdoc/tags/index.js +1 -1
- package/dist/server/plugins/markdown/markdoc/tags/json-example.d.ts +3 -0
- package/dist/server/plugins/markdown/markdoc/tags/json-example.js +1 -0
- package/dist/server/plugins/mcp/index.js +1 -1
- package/dist/server/plugins/scorecard-classic/get-scorecard-config.d.ts +11 -0
- package/dist/server/plugins/scorecard-classic/loaders/scorecard.js +1 -1
- package/dist/server/plugins/search/documents/search-documents.js +1 -1
- package/dist/server/providers/database/copy-migrations.js +1 -1
- package/dist/server/providers/database/databases/main-sqlite/migrations/0005_recreate-scorecards-config.sql +25 -0
- package/dist/server/providers/database/databases/main-sqlite/migrations/meta/_journal.json +7 -0
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.d.ts +65 -14
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.js +1 -1
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/0005_recreate-scorecards-tables.sql +87 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/_journal.json +7 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-result-states-table.d.ts → scorecards-evaluation-runs-table.d.ts} +61 -65
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-evaluation-runs-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-result-levels-table.d.ts → scorecards-level-results-table.d.ts} +28 -60
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-level-results-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-levels-rules-results-table.d.ts +67 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-levels-rules-results-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-results-table.d.ts → scorecards-results-table.d.ts} +80 -46
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-results-table.js +1 -0
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/{scorecard-evaluations-table.d.ts → scorecards-rule-results-table.d.ts} +29 -31
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecards-rule-results-table.js +1 -0
- package/dist/server/providers/database/pagination/utils/decode-cursor.js +1 -1
- package/dist/server/ssr/index.js +1 -1
- package/dist/server/ssr/render.js +1 -1
- package/dist/server/ssr/template.d.ts +1 -1
- package/dist/server/ssr/template.js +13 -13
- package/dist/server/ssr/utils.js +27 -13
- package/dist/server/utils/envs/get-api-route-allowed-env-variables.js +1 -1
- package/dist/server/utils/safe-parse.d.ts +6 -0
- package/dist/server/utils/safe-parse.js +1 -0
- package/dist/types/ssr.d.ts +3 -1
- package/package.json +10 -9
- package/dist/server/persistence/kv/mappers/create-kv-read-record.d.ts +0 -4
- package/dist/server/persistence/kv/mappers/create-kv-read-record.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-evaluations-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-level-states-table.d.ts +0 -48
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-level-states-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-levels-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-result-states-table.js +0 -1
- package/dist/server/providers/database/databases/sqld-sqlite/schemas/scorecard-results-table.js +0 -1
|
@@ -3,6 +3,7 @@ import { openApiCodeSample } from './openapi-code-sample.js';
|
|
|
3
3
|
import { openApiExample } from './openapi-example.js';
|
|
4
4
|
import { replayOpenApi } from './replay-openapi.js';
|
|
5
5
|
import { openApiResponseSample } from './openapi-response-sample.js';
|
|
6
|
+
import { jsonExample } from './json-example.js';
|
|
6
7
|
declare const _default: {
|
|
7
8
|
[jsonSchema.tagName]: import("@markdoc/markdoc").Schema & {
|
|
8
9
|
dynamicComponentLib: string;
|
|
@@ -19,6 +20,9 @@ declare const _default: {
|
|
|
19
20
|
[openApiResponseSample.tagName]: import("@markdoc/markdoc").Schema & {
|
|
20
21
|
dynamicComponentLib: string;
|
|
21
22
|
};
|
|
23
|
+
[jsonExample.tagName]: import("@markdoc/markdoc").Schema & {
|
|
24
|
+
dynamicComponentLib: string;
|
|
25
|
+
};
|
|
22
26
|
};
|
|
23
27
|
export default _default;
|
|
24
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsonSchema as
|
|
1
|
+
import{jsonSchema as m}from"./json-schema.js";import{openApiCodeSample as e}from"./openapi-code-sample.js";import{openApiExample as a}from"./openapi-example.js";import{replayOpenApi as p}from"./replay-openapi.js";import{openApiResponseSample as o}from"./openapi-response-sample.js";import{jsonExample as r}from"./json-example.js";var n={[m.tagName]:m.schema,[e.tagName]:e.schema,[a.tagName]:a.schema,[p.tagName]:p.schema,[o.tagName]:o.schema,[r.tagName]:r.schema};export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import l from"@markdoc/markdoc";import{SampleFromJsonSchema as m,JsonExampleRef as n}from"../attributes/index.js";const v={schema:{attributes:{value:{type:n,required:!1},schema:{type:m,required:!1},mode:{type:String,matches:["read","write"],required:!1},title:{type:String,required:!1},valueResolved:{required:!1},valueResolvedErrors:{type:Array,default:[]},schemaResolved:{required:!1},schemaResolvedErrors:{type:Array,default:[]}},render:"JsonExample",selfClosing:!0,dynamicComponentLib:"openapi",transform:(e,r)=>{const o=e.transformAttributes(r),{valueResolved:a,schemaResolved:u,schemaResolvedErrors:i,valueResolvedErrors:t,title:s}=o;return a||t.length?new l.Tag("JsonExample",{title:s,json:a,errors:t}):new l.Tag("JsonExample",{title:s,json:u,errors:i})},validate(e){const r=[];return e.attributes.schema&&e.attributes.value&&r.push({id:"schema-and-value-attributes-are-mutually-exclusive",level:"error",message:'The "schema" and "value" attributes are mutually exclusive, you can only use one.'}),!e.attributes.schema&&!e.attributes.value&&r.push({id:"schema-or-value-attribute-required",level:"error",message:'This tag requires the "schema" or "value" attribute to render correctly.'}),r}},tagName:"json-example"};export{v as jsonExample};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fileURLToPath as m}from"node:url";import{dirname as
|
|
1
|
+
import{fileURLToPath as m}from"node:url";import{dirname as l,join as g}from"node:path";import{logger as c}from"../../tools/notifiers/logger.js";import{reporter as u}from"../../tools/notifiers/reporter.js";import{filterIgnoredDefinitions as h,getCleanedUpDefinitions as D,isMcpInRedirects as v}from"./utils.js";import{telemetryTraceStep as y}from"../../../cli/telemetry/helpers/trace-step.js";const s="mcp-docs-server-handler",C=l(m(import.meta.url));async function P(){let n=!1;return{id:"mcp",async processContent(e,t){n||await y("build.plugin.mcp",async o=>{const i=await e.loadOpenApiDefinitions(t),a=await t.getConfig(),{mcp:r,redirects:d}=a;if(o?.setAttribute("config",JSON.stringify(r||{})),!(r?.hide||r?.docs?.hide)&&(v(d)&&await u.panicOnBuildContentError('The reserved route "/mcp" cannot be used in redirect configuration. Please remove any redirects involving "/mcp" from your redocly.yaml config.'),!r?.docs?.hide)){c.info("Configuring MCP servers...");const p=g(C,"./handlers/docs-mcp-handler.js"),f=D(h(i,r?.docs?.ignore||[]));await R(e,p,f,r,e.outdir),n=!0}})},async afterRoutesCreated(e,t){const o=await t.getConfig(),{mcp:i}=o;e.setGlobalData({mcpData:{docs:{enabled:!i?.hide&&!i?.docs?.hide,name:i?.docs?.name}}})}}}var H=P;async function R(n,e,t,o,i){n.createRequestHandler(s,e),n.addApiRoute({slug:"/mcp",requestHandlerId:s,httpMethod:"all",getStaticData:async()=>({props:{config:{openapiDefinitions:t.map(a=>({definition:a.definition,relativePath:a.relativePath})),outdir:i,catalogName:o?.docs?.name||"Docs MCP Server"}}})}),c.info("Registered Docs MCP Server endpoint at /mcp")}export{s as MCP_DOCS_SERVER_HANDLER_ID,H as default,P as mcpServerPlugin};
|
|
@@ -29,6 +29,9 @@ export declare const getScorecardConfig: (config: Partial<RedoclyConfig>) => {
|
|
|
29
29
|
overlay1Preprocessors?: {
|
|
30
30
|
[x: string]: unknown;
|
|
31
31
|
} | undefined;
|
|
32
|
+
openrpc1Preprocessors?: {
|
|
33
|
+
[x: string]: unknown;
|
|
34
|
+
} | undefined;
|
|
32
35
|
decorators?: {
|
|
33
36
|
[x: string]: unknown;
|
|
34
37
|
} | undefined;
|
|
@@ -56,6 +59,9 @@ export declare const getScorecardConfig: (config: Partial<RedoclyConfig>) => {
|
|
|
56
59
|
overlay1Decorators?: {
|
|
57
60
|
[x: string]: unknown;
|
|
58
61
|
} | undefined;
|
|
62
|
+
openrpc1Decorators?: {
|
|
63
|
+
[x: string]: unknown;
|
|
64
|
+
} | undefined;
|
|
59
65
|
rules?: {
|
|
60
66
|
[x: string]: string | {
|
|
61
67
|
[x: string]: unknown;
|
|
@@ -101,6 +107,11 @@ export declare const getScorecardConfig: (config: Partial<RedoclyConfig>) => {
|
|
|
101
107
|
[x: string]: unknown;
|
|
102
108
|
};
|
|
103
109
|
} | undefined;
|
|
110
|
+
openrpc1Rules?: {
|
|
111
|
+
[x: string]: string | {
|
|
112
|
+
[x: string]: unknown;
|
|
113
|
+
};
|
|
114
|
+
} | undefined;
|
|
104
115
|
extends?: string[] | undefined;
|
|
105
116
|
color?: string | undefined;
|
|
106
117
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import w from"node:path";import{reporter as x}from"../../../tools/notifiers/reporter.js";import{lintDefinition as h}from"../lint.js";import{ExternalResolver as
|
|
1
|
+
import w from"node:path";import{reporter as x}from"../../../tools/notifiers/reporter.js";import{lintDefinition as h}from"../lint.js";import{ExternalResolver as b}from"../../../fs/utils/external-ref-resolver.js";const v="Non-conformant";async function O(o,e){const{data:{levelsConfig:s,configs:n,targets:t}}=await e.cache.load("","scorecard-config"),a={};let i=v,f=!1;const c=await e.fs.read(o),{data:l}=await e.cache.load(o,"yaml"),m=new b(e.fs);let g={};if(t.length){const r=await e.getConfig(w.posix.dirname(o)),d=l?.info?.["x-metadata"],p={title:l.info.title,version:l.info.version,...d,...r.metadata};g=(await k(t,p))?.configs||{}}for(const r of s){const d=await h({parsed:l,content:c,relativePath:o},g[r.name]||n[r.name],e,m);a[r.name]=d,d.errors===0&&!f?i=r.name:f=!0}let u=s.findIndex(r=>r.name===i);return{levels:a,scorecardLevel:i,scorecardLevelIdx:u+1}}async function k(o,e){if(o)for(const s of o){let n=!0;for(const[t,a]of Object.entries(s.where?.metadata||{}))if(String(a).match(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}Z)?\/(\d{4}-\d{2}-\d{2})?$/)){if(!e[t]){n=!1;break}const[i,f]=a.split("/"),c=new Date(e[t]);if(c<new Date(i)||f&&c>new Date(f)){n=!1;break}}else if(String(a).match(/^\/.*\//)){if(!e[t]){n=!1;break}try{if(!new RegExp(a.slice(1,-1)).test(e[t])){n=!1;break}}catch{await x.panicOnBuild(`Invalid regex in scorecard target "${t}": ${a}`),n=!1;break}}else if(e[t]!==a){n=!1;break}if(n)return s}}export{k as getTarget,O as scorecardLoader};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{REDOCLY_ROUTE_RBAC as
|
|
1
|
+
import{REDOCLY_ROUTE_RBAC as T,REDOCLY_TEAMS_RBAC as p}from"@redocly/config";import{existsSync as O}from"fs";import{rm as $}from"node:fs/promises";import{DEFAULT_LOCALE_PLACEHOLDER as y}from"../../../../constants/common.js";import{SEARCH_DATA_EXPORT_FOLDER as S}from"../../../constants/plugins/search.js";import{isBuildMode as A}from"../../../utils/envs/is-build-mode.js";import{logger as n}from"../../../tools/notifiers/logger.js";import{extractTeamsForSearch as M,getRbacTeamsForSearch as P}from"../../../utils/index.js";import{getSearchDocumentGroup as B}from"../utils.js";import{telemetry as I}from"../../../../cli/telemetry/index.js";import{telemetryTraceStep as _}from"../../../../cli/telemetry/helpers/trace-step.js";async function J(b,t,l){await _("build.plugin.search.prepare_search_documents",async()=>{n.info("Preparing search documents and create indexes..."),A()&&O(`${t.outdir}/${S}`)&&await $(`${t.outdir}/${S}`,{recursive:!0});const F=n.startTiming(),R=t.getConfig().rbac,v=[y,...b.localeFolders.map(a=>a.toLowerCase())];for(const a of v)await _("build.plugin.search.prepare_search_documents.locale",async s=>{const w=t.getAllRoutesForLocale(a);let g=0,h=0;for(const r of w){if(g++,r.excludeFromSearch)continue;const f=new Map,{product:m}=r,C=await r.getStaticData?.(r,{...t,contentDir:t.contentDir,parseMarkdoc:(c,e,u)=>t.parseMarkdoc(c,e,u)})||{},i=await r.getSearchDocuments?.(r,{...C,[p]:r[p],[T]:r[T]},t),o=r.versions?.find(c=>c.active),L=P(r,R??{});if(i){if(i&&i.length){h+=i.length;for(const c in i){let e=i[c];const u=M(e?.[p]),D=u?.length?u:L,x=e.tags||[];e={...e,...o&&{version:o.version,isDefaultVersion:o.default,versionFolderId:o.folderId},...m&&{product:m},rbacTeams:D,tags:[...x,...D,...o?o.default?["v:default"]:[`v:${o.folderId}:${o.version}`]:["v:default"],...m?[`p:${m.name}`]:[]],url:e.url&&(e.path&&e.path.length>1?e.url:e.url.split("#")[0])};const d=B(e.facets);if(d){const E=f.get(d)??[];f.set(d,[...E,e])}}}for(const[c,e]of f)await l.addDocuments(e,{locale:a,group:c,outDir:t.outdir})}}s?.setAttribute("locale",a),s?.setAttribute("totalDocuments",g),s?.setAttribute("totalSearchDocuments",h)});if(l.cleanupFacetValues(t),n.infoTime(F,"Search indexes created"),A()){n.info("Writing out search data...");const a=n.startTiming();await l.export(t.outdir);const s=n.infoTime(a,"Search data written");s&&I.sendTimingPerformedMessage(s)}})}export{J as prepareSearchDocuments};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import c from"node:path";import{cpSync as m,existsSync as
|
|
1
|
+
import c from"node:path";import{cpSync as m,existsSync as t,mkdirSync as l}from"node:fs";import{logger as i}from"../../tools/notifiers/logger.js";import{fromCurrentDir as d}from"../../utils/index.js";import{PACKAGE_NAME as f}from"../../../config/product-gates.js";const u=["@redocly/realm","@redocly/reef","@redocly/redoc-reef","@redocly/revel-reef"],D=r=>{if(!u.includes(f))return;const s=["catalog-sqlite","main-sqlite","sqld-sqlite"];for(const o of s){const e=d(import.meta.url,`./databases/${o}/migrations`),a=c.join(r.serverOutDir,"migrations",o);if(!t(e)){i.warn(`Migrations folder not found at ${e}`);continue}t(r.serverOutDir)||l(r.serverOutDir,{recursive:!0});try{m(e,a,{recursive:!0})}catch(n){i.error("Failed to copy migrations folder: %s",n)}}};export{D as copyMigrationsFolder};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-- Drop old scorecards_config table
|
|
2
|
+
DROP TABLE IF EXISTS `scorecards_config`;--> statement-breakpoint
|
|
3
|
+
|
|
4
|
+
-- Create new scorecards_config table with updated schema
|
|
5
|
+
CREATE TABLE `scorecards_config` (
|
|
6
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
7
|
+
`key` text NOT NULL,
|
|
8
|
+
`slug` text NOT NULL,
|
|
9
|
+
`name` text NOT NULL,
|
|
10
|
+
`description` text,
|
|
11
|
+
`entities_filter` text NOT NULL,
|
|
12
|
+
`levels` text NOT NULL,
|
|
13
|
+
`config_hash` text NOT NULL,
|
|
14
|
+
`archived_at` integer,
|
|
15
|
+
`created_at` integer NOT NULL,
|
|
16
|
+
`updated_at` integer NOT NULL
|
|
17
|
+
);--> statement-breakpoint
|
|
18
|
+
|
|
19
|
+
-- Create indexes for scorecards_config
|
|
20
|
+
-- Note: key and slug are NOT unique - allows recreating archived configs with same key/slug
|
|
21
|
+
CREATE INDEX `idx_config_key` ON `scorecards_config` (`key`);--> statement-breakpoint
|
|
22
|
+
CREATE INDEX `idx_config_slug` ON `scorecards_config` (`slug`);--> statement-breakpoint
|
|
23
|
+
CREATE INDEX `idx_config_hash` ON `scorecards_config` (`config_hash`);--> statement-breakpoint
|
|
24
|
+
CREATE INDEX `idx_config_archived` ON `scorecards_config` (`archived_at`);
|
|
25
|
+
|
package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.d.ts
CHANGED
|
@@ -21,6 +21,25 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
21
21
|
}, {}, {
|
|
22
22
|
length: number | undefined;
|
|
23
23
|
}>;
|
|
24
|
+
key: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
25
|
+
name: "key";
|
|
26
|
+
tableName: "scorecards_config";
|
|
27
|
+
dataType: "string";
|
|
28
|
+
columnType: "SQLiteText";
|
|
29
|
+
data: string;
|
|
30
|
+
driverParam: string;
|
|
31
|
+
notNull: true;
|
|
32
|
+
hasDefault: false;
|
|
33
|
+
isPrimaryKey: false;
|
|
34
|
+
isAutoincrement: false;
|
|
35
|
+
hasRuntimeDefault: false;
|
|
36
|
+
enumValues: [string, ...string[]];
|
|
37
|
+
baseColumn: never;
|
|
38
|
+
identity: undefined;
|
|
39
|
+
generated: undefined;
|
|
40
|
+
}, {}, {
|
|
41
|
+
length: number | undefined;
|
|
42
|
+
}>;
|
|
24
43
|
slug: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
25
44
|
name: "slug";
|
|
26
45
|
tableName: "scorecards_config";
|
|
@@ -78,15 +97,15 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
78
97
|
}, {}, {
|
|
79
98
|
length: number | undefined;
|
|
80
99
|
}>;
|
|
81
|
-
|
|
82
|
-
name: "
|
|
100
|
+
entitiesFilter: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
101
|
+
name: "entities_filter";
|
|
83
102
|
tableName: "scorecards_config";
|
|
84
103
|
dataType: "string";
|
|
85
104
|
columnType: "SQLiteText";
|
|
86
105
|
data: string;
|
|
87
106
|
driverParam: string;
|
|
88
107
|
notNull: true;
|
|
89
|
-
hasDefault:
|
|
108
|
+
hasDefault: false;
|
|
90
109
|
isPrimaryKey: false;
|
|
91
110
|
isAutoincrement: false;
|
|
92
111
|
hasRuntimeDefault: false;
|
|
@@ -105,7 +124,7 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
105
124
|
data: string;
|
|
106
125
|
driverParam: string;
|
|
107
126
|
notNull: true;
|
|
108
|
-
hasDefault:
|
|
127
|
+
hasDefault: false;
|
|
109
128
|
isPrimaryKey: false;
|
|
110
129
|
isAutoincrement: false;
|
|
111
130
|
hasRuntimeDefault: false;
|
|
@@ -116,8 +135,8 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
116
135
|
}, {}, {
|
|
117
136
|
length: number | undefined;
|
|
118
137
|
}>;
|
|
119
|
-
|
|
120
|
-
name: "
|
|
138
|
+
configHash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
139
|
+
name: "config_hash";
|
|
121
140
|
tableName: "scorecards_config";
|
|
122
141
|
dataType: "string";
|
|
123
142
|
columnType: "SQLiteText";
|
|
@@ -135,25 +154,57 @@ export declare const scorecardsConfigTable: import("drizzle-orm/sqlite-core").SQ
|
|
|
135
154
|
}, {}, {
|
|
136
155
|
length: number | undefined;
|
|
137
156
|
}>;
|
|
157
|
+
archivedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
158
|
+
name: "archived_at";
|
|
159
|
+
tableName: "scorecards_config";
|
|
160
|
+
dataType: "number";
|
|
161
|
+
columnType: "SQLiteInteger";
|
|
162
|
+
data: number;
|
|
163
|
+
driverParam: number;
|
|
164
|
+
notNull: false;
|
|
165
|
+
hasDefault: false;
|
|
166
|
+
isPrimaryKey: false;
|
|
167
|
+
isAutoincrement: false;
|
|
168
|
+
hasRuntimeDefault: false;
|
|
169
|
+
enumValues: undefined;
|
|
170
|
+
baseColumn: never;
|
|
171
|
+
identity: undefined;
|
|
172
|
+
generated: undefined;
|
|
173
|
+
}, {}, {}>;
|
|
174
|
+
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
175
|
+
name: "created_at";
|
|
176
|
+
tableName: "scorecards_config";
|
|
177
|
+
dataType: "number";
|
|
178
|
+
columnType: "SQLiteInteger";
|
|
179
|
+
data: number;
|
|
180
|
+
driverParam: number;
|
|
181
|
+
notNull: true;
|
|
182
|
+
hasDefault: false;
|
|
183
|
+
isPrimaryKey: false;
|
|
184
|
+
isAutoincrement: false;
|
|
185
|
+
hasRuntimeDefault: false;
|
|
186
|
+
enumValues: undefined;
|
|
187
|
+
baseColumn: never;
|
|
188
|
+
identity: undefined;
|
|
189
|
+
generated: undefined;
|
|
190
|
+
}, {}, {}>;
|
|
138
191
|
updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
139
192
|
name: "updated_at";
|
|
140
193
|
tableName: "scorecards_config";
|
|
141
|
-
dataType: "
|
|
142
|
-
columnType: "
|
|
143
|
-
data:
|
|
144
|
-
driverParam:
|
|
194
|
+
dataType: "number";
|
|
195
|
+
columnType: "SQLiteInteger";
|
|
196
|
+
data: number;
|
|
197
|
+
driverParam: number;
|
|
145
198
|
notNull: true;
|
|
146
199
|
hasDefault: false;
|
|
147
200
|
isPrimaryKey: false;
|
|
148
201
|
isAutoincrement: false;
|
|
149
202
|
hasRuntimeDefault: false;
|
|
150
|
-
enumValues:
|
|
203
|
+
enumValues: undefined;
|
|
151
204
|
baseColumn: never;
|
|
152
205
|
identity: undefined;
|
|
153
206
|
generated: undefined;
|
|
154
|
-
}, {}, {
|
|
155
|
-
length: number | undefined;
|
|
156
|
-
}>;
|
|
207
|
+
}, {}, {}>;
|
|
157
208
|
};
|
|
158
209
|
dialect: "sqlite";
|
|
159
210
|
}>;
|
package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{sqliteTable as
|
|
1
|
+
import{sqliteTable as o,text as e,integer as n,index as t}from"drizzle-orm/sqlite-core";const c=o("scorecards_config",{id:e("id").primaryKey().notNull(),key:e("key").notNull(),slug:e("slug").notNull(),name:e("name").notNull(),description:e("description"),entitiesFilter:e("entities_filter").notNull(),levels:e("levels").notNull(),configHash:e("config_hash").notNull(),archivedAt:n("archived_at"),createdAt:n("created_at").notNull(),updatedAt:n("updated_at").notNull()},i=>[t("idx_config_key").on(i.key),t("idx_config_slug").on(i.slug),t("idx_config_hash").on(i.configHash),t("idx_config_archived").on(i.archivedAt)]);export{c as scorecardsConfigTable};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
-- Drop all old scorecard tables
|
|
2
|
+
DROP TABLE IF EXISTS `scorecard_result_level_states`;--> statement-breakpoint
|
|
3
|
+
DROP TABLE IF EXISTS `scorecard_result_levels`;--> statement-breakpoint
|
|
4
|
+
DROP TABLE IF EXISTS `scorecard_result_states`;--> statement-breakpoint
|
|
5
|
+
DROP TABLE IF EXISTS `scorecard_results`;--> statement-breakpoint
|
|
6
|
+
DROP TABLE IF EXISTS `scorecard_evaluations`;--> statement-breakpoint
|
|
7
|
+
|
|
8
|
+
-- Create scorecards_results table (renamed from scorecard_results)
|
|
9
|
+
CREATE TABLE `scorecards_results` (
|
|
10
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
11
|
+
`entity_id` text NOT NULL,
|
|
12
|
+
`config_id` text NOT NULL,
|
|
13
|
+
`created_at` integer NOT NULL,
|
|
14
|
+
`evaluated_at` integer NOT NULL,
|
|
15
|
+
`final_score` integer NOT NULL,
|
|
16
|
+
`final_level` text,
|
|
17
|
+
`evaluated_rules` text NOT NULL,
|
|
18
|
+
`rules_config_hash` text NOT NULL,
|
|
19
|
+
`entity_version` text NOT NULL,
|
|
20
|
+
`entity_revision` text
|
|
21
|
+
);--> statement-breakpoint
|
|
22
|
+
|
|
23
|
+
-- Create indexes for scorecards_results
|
|
24
|
+
CREATE UNIQUE INDEX `idx_results_lookup` ON `scorecards_results` (`entity_id`, `config_id`, `created_at` DESC);--> statement-breakpoint
|
|
25
|
+
CREATE INDEX `idx_results_config_time` ON `scorecards_results` (`config_id`, `created_at` DESC);--> statement-breakpoint
|
|
26
|
+
CREATE INDEX `idx_results_entity` ON `scorecards_results` (`entity_id`, `created_at` DESC);--> statement-breakpoint
|
|
27
|
+
CREATE INDEX `idx_results_config_entity_time` ON `scorecards_results` (`config_id`, `entity_id`, `created_at` DESC);--> statement-breakpoint
|
|
28
|
+
|
|
29
|
+
-- Create scorecards_level_results table (renamed from scorecard_result_levels)
|
|
30
|
+
CREATE TABLE `scorecards_level_results` (
|
|
31
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
32
|
+
`result_id` text NOT NULL,
|
|
33
|
+
`level_name` text NOT NULL,
|
|
34
|
+
`score` integer NOT NULL,
|
|
35
|
+
`passed_rules` integer NOT NULL,
|
|
36
|
+
`failed_rules` integer NOT NULL,
|
|
37
|
+
`total_rules` integer NOT NULL,
|
|
38
|
+
`rule_summary` text
|
|
39
|
+
);--> statement-breakpoint
|
|
40
|
+
|
|
41
|
+
-- Create indexes for scorecards_level_results
|
|
42
|
+
CREATE INDEX `idx_level_results_result` ON `scorecards_level_results` (`result_id`);--> statement-breakpoint
|
|
43
|
+
CREATE INDEX `idx_level_results_level` ON `scorecards_level_results` (`level_name`);--> statement-breakpoint
|
|
44
|
+
CREATE INDEX `idx_level_results_result_level` ON `scorecards_level_results` (`result_id`, `level_name`);--> statement-breakpoint
|
|
45
|
+
|
|
46
|
+
-- Create scorecards_rule_results table (renamed from scorecard_result_states)
|
|
47
|
+
CREATE TABLE `scorecards_rule_results` (
|
|
48
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
49
|
+
`rule_name` text NOT NULL,
|
|
50
|
+
`problems_hash` text NOT NULL,
|
|
51
|
+
`state` text NOT NULL,
|
|
52
|
+
`problems` text,
|
|
53
|
+
`first_seen_at` integer NOT NULL
|
|
54
|
+
);--> statement-breakpoint
|
|
55
|
+
|
|
56
|
+
-- Create indexes for scorecards_rule_results
|
|
57
|
+
CREATE UNIQUE INDEX `idx_rules_name_hash` ON `scorecards_rule_results` (`rule_name`, `problems_hash`);--> statement-breakpoint
|
|
58
|
+
CREATE INDEX `idx_rules_state` ON `scorecards_rule_results` (`state`);--> statement-breakpoint
|
|
59
|
+
|
|
60
|
+
-- Create scorecards_levels_rules_results table (renamed from scorecard_result_level_states)
|
|
61
|
+
CREATE TABLE `scorecards_levels_rules_results` (
|
|
62
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
63
|
+
`level_score_id` text NOT NULL,
|
|
64
|
+
`rule_id` text NOT NULL
|
|
65
|
+
);--> statement-breakpoint
|
|
66
|
+
|
|
67
|
+
-- Create indexes for scorecards_levels_rules_results
|
|
68
|
+
CREATE UNIQUE INDEX `idx_rule_problems_level_score_rule` ON `scorecards_levels_rules_results` (`level_score_id`, `rule_id`);--> statement-breakpoint
|
|
69
|
+
CREATE INDEX `idx_rule_problems_level_score` ON `scorecards_levels_rules_results` (`level_score_id`);--> statement-breakpoint
|
|
70
|
+
CREATE INDEX `idx_rule_problems_rule` ON `scorecards_levels_rules_results` (`rule_id`);--> statement-breakpoint
|
|
71
|
+
|
|
72
|
+
-- Create scorecards_evaluation_runs table (renamed from scorecard_evaluations)
|
|
73
|
+
CREATE TABLE `scorecards_evaluation_runs` (
|
|
74
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
75
|
+
`config_id` text NOT NULL,
|
|
76
|
+
`evaluated_at` integer NOT NULL,
|
|
77
|
+
`entities_checked` integer NOT NULL,
|
|
78
|
+
`entities_changed` integer NOT NULL,
|
|
79
|
+
`duration_ms` integer,
|
|
80
|
+
`status` text NOT NULL,
|
|
81
|
+
`error_message` text,
|
|
82
|
+
`entity_id` text
|
|
83
|
+
);--> statement-breakpoint
|
|
84
|
+
|
|
85
|
+
-- Create indexes for scorecards_evaluation_runs
|
|
86
|
+
CREATE INDEX `idx_runs_config_time` ON `scorecards_evaluation_runs` (`config_id`, `evaluated_at` DESC);
|
|
87
|
+
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
name: "
|
|
1
|
+
export declare const scorecardsEvaluationRunsTable: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
2
|
+
name: "scorecards_evaluation_runs";
|
|
3
3
|
schema: undefined;
|
|
4
4
|
columns: {
|
|
5
5
|
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
6
6
|
name: "id";
|
|
7
|
-
tableName: "
|
|
7
|
+
tableName: "scorecards_evaluation_runs";
|
|
8
8
|
dataType: "string";
|
|
9
9
|
columnType: "SQLiteText";
|
|
10
10
|
data: string;
|
|
@@ -21,9 +21,9 @@ export declare const scorecardResultStatesTable: import("drizzle-orm/sqlite-core
|
|
|
21
21
|
}, {}, {
|
|
22
22
|
length: number | undefined;
|
|
23
23
|
}>;
|
|
24
|
-
|
|
25
|
-
name: "
|
|
26
|
-
tableName: "
|
|
24
|
+
configId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
25
|
+
name: "config_id";
|
|
26
|
+
tableName: "scorecards_evaluation_runs";
|
|
27
27
|
dataType: "string";
|
|
28
28
|
columnType: "SQLiteText";
|
|
29
29
|
data: string;
|
|
@@ -40,71 +40,65 @@ export declare const scorecardResultStatesTable: import("drizzle-orm/sqlite-core
|
|
|
40
40
|
}, {}, {
|
|
41
41
|
length: number | undefined;
|
|
42
42
|
}>;
|
|
43
|
-
|
|
44
|
-
name: "
|
|
45
|
-
tableName: "
|
|
46
|
-
dataType: "
|
|
47
|
-
columnType: "
|
|
48
|
-
data:
|
|
49
|
-
driverParam:
|
|
43
|
+
evaluatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
44
|
+
name: "evaluated_at";
|
|
45
|
+
tableName: "scorecards_evaluation_runs";
|
|
46
|
+
dataType: "number";
|
|
47
|
+
columnType: "SQLiteInteger";
|
|
48
|
+
data: number;
|
|
49
|
+
driverParam: number;
|
|
50
50
|
notNull: true;
|
|
51
51
|
hasDefault: false;
|
|
52
52
|
isPrimaryKey: false;
|
|
53
53
|
isAutoincrement: false;
|
|
54
54
|
hasRuntimeDefault: false;
|
|
55
|
-
enumValues:
|
|
55
|
+
enumValues: undefined;
|
|
56
56
|
baseColumn: never;
|
|
57
57
|
identity: undefined;
|
|
58
58
|
generated: undefined;
|
|
59
|
-
}, {}, {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
data: string;
|
|
68
|
-
driverParam: string;
|
|
59
|
+
}, {}, {}>;
|
|
60
|
+
entitiesChecked: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
61
|
+
name: "entities_checked";
|
|
62
|
+
tableName: "scorecards_evaluation_runs";
|
|
63
|
+
dataType: "number";
|
|
64
|
+
columnType: "SQLiteInteger";
|
|
65
|
+
data: number;
|
|
66
|
+
driverParam: number;
|
|
69
67
|
notNull: true;
|
|
70
68
|
hasDefault: false;
|
|
71
69
|
isPrimaryKey: false;
|
|
72
70
|
isAutoincrement: false;
|
|
73
71
|
hasRuntimeDefault: false;
|
|
74
|
-
enumValues:
|
|
72
|
+
enumValues: undefined;
|
|
75
73
|
baseColumn: never;
|
|
76
74
|
identity: undefined;
|
|
77
75
|
generated: undefined;
|
|
78
|
-
}, {}, {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
driverParam: string;
|
|
88
|
-
notNull: false;
|
|
76
|
+
}, {}, {}>;
|
|
77
|
+
entitiesChanged: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
78
|
+
name: "entities_changed";
|
|
79
|
+
tableName: "scorecards_evaluation_runs";
|
|
80
|
+
dataType: "number";
|
|
81
|
+
columnType: "SQLiteInteger";
|
|
82
|
+
data: number;
|
|
83
|
+
driverParam: number;
|
|
84
|
+
notNull: true;
|
|
89
85
|
hasDefault: false;
|
|
90
86
|
isPrimaryKey: false;
|
|
91
87
|
isAutoincrement: false;
|
|
92
88
|
hasRuntimeDefault: false;
|
|
93
|
-
enumValues:
|
|
89
|
+
enumValues: undefined;
|
|
94
90
|
baseColumn: never;
|
|
95
91
|
identity: undefined;
|
|
96
92
|
generated: undefined;
|
|
97
|
-
}, {}, {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
name: "score";
|
|
102
|
-
tableName: "scorecard_result_states";
|
|
93
|
+
}, {}, {}>;
|
|
94
|
+
durationMs: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
95
|
+
name: "duration_ms";
|
|
96
|
+
tableName: "scorecards_evaluation_runs";
|
|
103
97
|
dataType: "number";
|
|
104
98
|
columnType: "SQLiteInteger";
|
|
105
99
|
data: number;
|
|
106
100
|
driverParam: number;
|
|
107
|
-
notNull:
|
|
101
|
+
notNull: false;
|
|
108
102
|
hasDefault: false;
|
|
109
103
|
isPrimaryKey: false;
|
|
110
104
|
isAutoincrement: false;
|
|
@@ -114,9 +108,9 @@ export declare const scorecardResultStatesTable: import("drizzle-orm/sqlite-core
|
|
|
114
108
|
identity: undefined;
|
|
115
109
|
generated: undefined;
|
|
116
110
|
}, {}, {}>;
|
|
117
|
-
|
|
118
|
-
name: "
|
|
119
|
-
tableName: "
|
|
111
|
+
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
112
|
+
name: "status";
|
|
113
|
+
tableName: "scorecards_evaluation_runs";
|
|
120
114
|
dataType: "string";
|
|
121
115
|
columnType: "SQLiteText";
|
|
122
116
|
data: string;
|
|
@@ -133,31 +127,33 @@ export declare const scorecardResultStatesTable: import("drizzle-orm/sqlite-core
|
|
|
133
127
|
}, {}, {
|
|
134
128
|
length: number | undefined;
|
|
135
129
|
}>;
|
|
136
|
-
|
|
137
|
-
name: "
|
|
138
|
-
tableName: "
|
|
139
|
-
dataType: "
|
|
140
|
-
columnType: "
|
|
141
|
-
data:
|
|
142
|
-
driverParam:
|
|
143
|
-
notNull:
|
|
144
|
-
hasDefault:
|
|
130
|
+
errorMessage: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
131
|
+
name: "error_message";
|
|
132
|
+
tableName: "scorecards_evaluation_runs";
|
|
133
|
+
dataType: "string";
|
|
134
|
+
columnType: "SQLiteText";
|
|
135
|
+
data: string;
|
|
136
|
+
driverParam: string;
|
|
137
|
+
notNull: false;
|
|
138
|
+
hasDefault: false;
|
|
145
139
|
isPrimaryKey: false;
|
|
146
140
|
isAutoincrement: false;
|
|
147
141
|
hasRuntimeDefault: false;
|
|
148
|
-
enumValues:
|
|
142
|
+
enumValues: [string, ...string[]];
|
|
149
143
|
baseColumn: never;
|
|
150
144
|
identity: undefined;
|
|
151
145
|
generated: undefined;
|
|
152
|
-
}, {}, {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
146
|
+
}, {}, {
|
|
147
|
+
length: number | undefined;
|
|
148
|
+
}>;
|
|
149
|
+
entityId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
150
|
+
name: "entity_id";
|
|
151
|
+
tableName: "scorecards_evaluation_runs";
|
|
156
152
|
dataType: "string";
|
|
157
153
|
columnType: "SQLiteText";
|
|
158
154
|
data: string;
|
|
159
155
|
driverParam: string;
|
|
160
|
-
notNull:
|
|
156
|
+
notNull: false;
|
|
161
157
|
hasDefault: false;
|
|
162
158
|
isPrimaryKey: false;
|
|
163
159
|
isAutoincrement: false;
|
|
@@ -172,6 +168,6 @@ export declare const scorecardResultStatesTable: import("drizzle-orm/sqlite-core
|
|
|
172
168
|
};
|
|
173
169
|
dialect: "sqlite";
|
|
174
170
|
}>;
|
|
175
|
-
export type
|
|
176
|
-
export type
|
|
177
|
-
//# sourceMappingURL=
|
|
171
|
+
export type DatabaseScorecardsEvaluationRun = typeof scorecardsEvaluationRunsTable.$inferSelect;
|
|
172
|
+
export type DatabaseScorecardsEvaluationRunInsert = typeof scorecardsEvaluationRunsTable.$inferInsert;
|
|
173
|
+
//# sourceMappingURL=scorecards-evaluation-runs-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{sqliteTable as n,text as e,integer as t,index as a}from"drizzle-orm/sqlite-core";const s=n("scorecards_evaluation_runs",{id:e("id").primaryKey().notNull(),configId:e("config_id").notNull(),evaluatedAt:t("evaluated_at").notNull(),entitiesChecked:t("entities_checked").notNull(),entitiesChanged:t("entities_changed").notNull(),durationMs:t("duration_ms"),status:e("status").notNull(),errorMessage:e("error_message"),entityId:e("entity_id")},i=>[a("idx_runs_config_time").on(i.configId,i.evaluatedAt)]);export{s as scorecardsEvaluationRunsTable};
|