@lunora/codegen 1.0.0-alpha.62 → 1.0.0-alpha.64
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/index.d.mts +20 -3
- package/dist/index.d.ts +20 -3
- package/dist/index.mjs +1 -1
- package/dist/packem_shared/{FLAGS_FILENAME-DW5oGq1q.mjs → FLAGS_FILENAME-C1GWerCB.mjs} +1 -1
- package/dist/packem_shared/GENERATED_HEADER-Sl8NoQFl.mjs +1 -0
- package/dist/packem_shared/MUTATORS_FILENAME-BWPAtQ2T.mjs +1 -0
- package/dist/packem_shared/{NOTIFY_FILENAME-C-c7Lg-U.mjs → NOTIFY_FILENAME-DP6qvFBX.mjs} +1 -1
- package/dist/packem_shared/{OPENRPC_VERSION-B_EyUGlr.mjs → OPENRPC_VERSION-BcivFYIX.mjs} +1 -1
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-CthmqJlJ.mjs +3 -0
- package/dist/packem_shared/SHAPES_FILENAME-maut3z1K.mjs +1 -0
- package/dist/packem_shared/{buildOpenApiDocument-f291wyY3.mjs → buildOpenApiDocument-BJudKDP_.mjs} +1 -1
- package/dist/packem_shared/{discoverAuthApiCalls-DOfSQqVK.mjs → discoverAuthApiCalls-Ba6W92HB.mjs} +1 -1
- package/dist/packem_shared/discoverCrons-2nUpw6do.mjs +1 -0
- package/dist/packem_shared/discoverFunctions-zrIQk7J8.mjs +1 -0
- package/dist/packem_shared/{discoverHttpRoutes-BOWz6y_n.mjs → discoverHttpRoutes-Bf_T_03b.mjs} +1 -1
- package/dist/packem_shared/{discoverInserts-BtteTyNy.mjs → discoverInserts-DveVeP5h.mjs} +1 -1
- package/dist/packem_shared/{discoverMaskProcedures-COPmwMBm.mjs → discoverMaskProcedures-BkBquCFR.mjs} +1 -1
- package/dist/packem_shared/discoverMigrations-T2xb-1rn.mjs +1 -0
- package/dist/packem_shared/{discoverNondeterministicCalls-Dmgc4QBx.mjs → discoverNondeterministicCalls-BymnOR9k.mjs} +1 -1
- package/dist/packem_shared/{discoverQueries-CcfuGKHh.mjs → discoverQueries-DNRA-G2a.mjs} +1 -1
- package/dist/packem_shared/{discoverR2sqlCalls-CjZKvg-N.mjs → discoverR2sqlCalls-YEjvGcEq.mjs} +1 -1
- package/dist/packem_shared/{discoverRlsMetadata-BXmNOgry.mjs → discoverRlsMetadata-DO3qlLXX.mjs} +1 -1
- package/dist/packem_shared/{discoverSandboxUsage-CDdBqWcM.mjs → discoverSandboxUsage-JwrmSN9l.mjs} +1 -1
- package/dist/packem_shared/{discoverStorageRulesMetadata-b71cJJHz.mjs → discoverStorageRulesMetadata-CCztRKjw.mjs} +1 -1
- package/dist/packem_shared/{emit-Cz-5gRp0.mjs → emit-Bp0nOR_O.mjs} +201 -180
- package/dist/packem_shared/{emitApp-DbpB1vA1.mjs → emitApp-BzO6O7Lx.mjs} +7 -7
- package/dist/packem_shared/module-specifiers-8FEEiUcv.mjs +1 -0
- package/package.json +3 -3
- package/dist/packem_shared/GENERATED_HEADER-4TxGhJDQ.mjs +0 -1
- package/dist/packem_shared/MUTATORS_FILENAME-BKKPROzu.mjs +0 -1
- package/dist/packem_shared/SCHEMA_SNAPSHOT_FILENAME-B-b-ZgwS.mjs +0 -3
- package/dist/packem_shared/SHAPES_FILENAME-DTkSJSsg.mjs +0 -1
- package/dist/packem_shared/discoverCrons-B09_uEuL.mjs +0 -1
- package/dist/packem_shared/discoverFunctions-BdibLQmc.mjs +0 -1
- package/dist/packem_shared/discoverMigrations-iGMlp9YJ.mjs +0 -1
package/dist/packem_shared/{discoverRlsMetadata-BXmNOgry.mjs → discoverRlsMetadata-DO3qlLXX.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Node as n,SyntaxKind as
|
|
1
|
+
import{Node as n,SyntaxKind as A}from"ts-morph";import{listLunoraSourceFiles as E,lunoraRelativePath as b,classifyProcedureCall as y}from"./discoverFunctions-zrIQk7J8.mjs";const S=t=>{if(!n.isCallExpression(t))return!1;const e=t.getExpression();return n.isIdentifier(e)?e.getText()==="rls":n.isPropertyAccessExpression(e)?e.getName()==="rls":!1},h=t=>{const e=t.getArguments()[0];if(!e||!n.isArrayLiteralExpression(e))return[];const r=[];for(const s of e.getElements()){if(!n.isObjectLiteralExpression(s))continue;const i=s.getProperty("table");if(!i||!n.isPropertyAssignment(i))continue;const o=i.getInitializer();o&&n.isStringLiteral(o)&&r.push(o.getLiteralText())}return r},L=t=>{const e=[];let r=t;for(;n.isCallExpression(r);){const s=r.getExpression();if(!n.isPropertyAccessExpression(s))break;if(s.getName()==="use"){const i=r.getArguments()[0];i&&S(i)&&e.push(i)}r=s.getExpression()}return e},v=t=>{const e=L(t);return{rlsTables:e.flatMap(r=>h(r)),usesRls:e.length>0}},P=new Set(["findFirst","findFirstOrThrow","findMany","get","query"]),T=new Set(["delete","deleteMany","insert","insertMany","patch","patchMany","replace"]),g=(t,e)=>{const r=t.getExpression();if(!n.isPropertyAccessExpression(r)||!e.has(r.getName()))return!1;const s=r.getExpression();return n.isPropertyAccessExpression(s)?s.getName()==="db":n.isIdentifier(s)&&s.getText()==="db"},d=t=>{const e=t.getArguments()[0];return e&&n.isStringLiteral(e)?e.getLiteralText():""},M=t=>{const e=new Set,r=new Set;for(const s of t.getDescendantsOfKind(A.CallExpression))if(g(s,P)){const i=d(s);i!==""&&e.add(i)}else if(g(s,T)){const i=d(s);i!==""&&r.add(i)}return{tablesRead:[...e],tablesWritten:[...r]}},R=(t,e)=>{if(!n.isVariableDeclaration(t))return;const r=t.getInitializer();if(!r||!n.isCallExpression(r))return;const s=y(r);if(!s)return;const i=s.receiver?v(s.receiver):{rlsTables:[],usesRls:!1},{tablesRead:o,tablesWritten:a}=M(t);return{exportName:t.getName(),file:e,rlsTables:i.rlsTables,tablesRead:o,tablesWritten:a,usesRls:i.usesRls,visibility:s.visibility}},D=(t,e)=>{const r=[];for(const s of E(e)){const i=t.getSourceFile(s)??t.addSourceFileAtPath(s),o=b(e,s);for(const a of i.getVariableStatements())if(a.isExported())for(const f of a.getDeclarations()){const c=R(f,o);c&&r.push(c)}}return r},C=new Set(["delete","insert","read","update"]),l=(t,e)=>{if(!n.isObjectLiteralExpression(t))return;const r=t.getProperty(e);if(!r||!n.isPropertyAssignment(r))return;const s=r.getInitializer();return s&&n.isStringLiteral(s)?s.getLiteralText():void 0},F=(t,e,r)=>{const s=t.getArguments()[0];if(!s||!n.isArrayLiteralExpression(s))return[];const i=[];for(const o of s.getElements()){if(!n.isObjectLiteralExpression(o))continue;const a=l(o,"on");a===void 0||!C.has(a)||i.push({file:e,on:a,procedure:r,table:l(o,"table")??""})}return i},m=t=>{if(!n.isObjectLiteralExpression(t))return[];const e=t.getProperty("permissions");if(!e||!n.isPropertyAssignment(e))return[];const r=e.getInitializer();if(!r||!n.isArrayLiteralExpression(r))return[];const s=[];for(const i of r.getElements()){if(n.isStringLiteral(i)){s.push(i.getLiteralText());continue}if(n.isCallExpression(i)){const o=i.getArguments()[0];o&&n.isStringLiteral(o)&&s.push(o.getLiteralText())}}return s},x=(t,e)=>e===void 0?t:{...t,description:e},I=t=>{if(n.isCallExpression(t)){const e=t.getArguments()[0];if(!e||!n.isStringLiteral(e))return;const r=t.getArguments()[1],s=r?l(r,"description"):void 0,i=r?m(r):[];return x({name:e.getLiteralText(),permissions:i},s)}if(n.isObjectLiteralExpression(t)){const e=l(t,"name");return e===void 0?void 0:x({name:e,permissions:m(t)},l(t,"description"))}},N=t=>{const e=t.getArguments()[1];if(!e||!n.isObjectLiteralExpression(e))return[];const r=e.getProperty("roles");if(!r||!n.isPropertyAssignment(r))return[];const s=r.getInitializer();if(!s||!n.isArrayLiteralExpression(s))return[];const i=[];for(const o of s.getElements()){const a=I(o);a&&i.push(a)}return i},O=(t,e,r)=>{const s=L(t);return{policies:s.flatMap(i=>F(i,e,r)),roles:s.flatMap(i=>N(i))}},w=t=>{const e=[];for(const r of t.getVariableStatements())if(r.isExported())for(const s of r.getDeclarations()){const i=s.getInitializer(),o=i&&n.isCallExpression(i)?y(i):void 0;o?.receiver&&e.push({name:s.getName(),receiver:o.receiver})}return e},V=(t,e)=>{const r=[],s=new Map;for(const i of E(e)){const o=t.getSourceFile(i)??t.addSourceFileAtPath(i),a=b(e,i);for(const{name:f,receiver:c}of w(o)){const p=O(c,a,f);r.push(...p.policies);for(const u of p.roles)s.has(u.name)||s.set(u.name,u)}}return{policies:r,roles:[...s.values()]}};export{D as default,V as discoverRlsMetadata};
|
package/dist/packem_shared/{discoverSandboxUsage-CDdBqWcM.mjs → discoverSandboxUsage-JwrmSN9l.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{listLunoraSourceFiles as u}from"./discoverFunctions-
|
|
1
|
+
import{listLunoraSourceFiles as u}from"./discoverFunctions-zrIQk7J8.mjs";const i=new Set(["@lunora/agent","@lunora/agent/sandbox"]),d=o=>{const s={usesSandboxBrowser:!1,usesSandboxContainer:!1};if(!i.has(o.getModuleSpecifierValue())||o.isTypeOnly())return s;for(const e of o.getNamedImports()){if(e.isTypeOnly())continue;const n=e.getNameNode().getText();n==="browserTool"?s.usesSandboxBrowser=!0:n==="containerTool"&&(s.usesSandboxContainer=!0)}return s},c=(o,s)=>{const e={usesSandboxBrowser:!1,usesSandboxContainer:!1};for(const n of u(s)){const a=o.getSourceFile(n)??o.addSourceFileAtPath(n);for(const t of a.getImportDeclarations()){const r=d(t);e.usesSandboxBrowser||=r.usesSandboxBrowser,e.usesSandboxContainer||=r.usesSandboxContainer}if(e.usesSandboxBrowser&&e.usesSandboxContainer)break}return e};export{c as discoverSandboxUsage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Node as i}from"ts-morph";import{listLunoraSourceFiles as f,lunoraRelativePath as p,classifyProcedureCall as g}from"./discoverFunctions-
|
|
1
|
+
import{Node as i}from"ts-morph";import{listLunoraSourceFiles as f,lunoraRelativePath as p,classifyProcedureCall as g}from"./discoverFunctions-zrIQk7J8.mjs";const x=new Set(["delete","list","read","write"]),m=s=>{if(!i.isCallExpression(s))return!1;const r=s.getExpression();return i.isIdentifier(r)?r.getText()==="storageRules":i.isPropertyAccessExpression(r)&&r.getName()==="storageRules"},d=s=>{const r=[];let t=s;for(;i.isCallExpression(t);){const e=t.getExpression();if(!i.isPropertyAccessExpression(e))break;if(e.getName()==="use"){const o=t.getArguments()[0];o&&m(o)&&r.push(o)}t=e.getExpression()}return r},u=(s,r)=>{if(!i.isObjectLiteralExpression(s))return;const t=s.getProperty(r);if(!t||!i.isPropertyAssignment(t))return;const e=t.getInitializer();return e&&i.isStringLiteral(e)?e.getLiteralText():void 0},E=(s,r,t)=>{const e=s.getArguments()[0];if(!e||!i.isArrayLiteralExpression(e))return[];const o=[];for(const n of e.getElements()){if(!i.isObjectLiteralExpression(n))continue;const c=u(n,"on");if(c===void 0||!x.has(c))continue;const a=u(n,"prefix"),l={bucket:u(n,"bucket")??"",file:r,on:c,procedure:t};a!==void 0&&(l.prefix=a),o.push(l)}return o},v=s=>{const r=[];for(const t of s.getVariableStatements())if(t.isExported())for(const e of t.getDeclarations()){const o=e.getInitializer(),n=o&&i.isCallExpression(o)?g(o):void 0;n?.receiver&&r.push({name:e.getName(),receiver:n.receiver})}return r},A=(s,r)=>{const t=[];for(const e of f(r)){const o=s.getSourceFile(e)??s.addSourceFileAtPath(e),n=p(r,e);for(const{name:c,receiver:a}of v(o))for(const l of d(a))t.push(...E(l,n,c))}return{rules:t}};export{A as default};
|