@north-light/cli 0.3.569 → 0.3.570
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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
2
|
-
`){
|
|
1
|
+
var U=Object.defineProperty;var a=(n,s)=>U(n,"name",{value:s,configurable:!0});import v from"string-width";import{isResponseBearingSlot as A}from"../../../core/human/page-schema.js";import{answerCommentAnchorLabel as X,describePageAnswer as Z}from"../../../core/human/answer.js";import{renderMarkdownBlockAwareLines as nn}from"../../../core/termrender/termrender.js";import{rewriteMarkdownDocLinks as en}from"../../attach/render/markdown-source.js";import{commentAnchors as tn,describeSlot as j,pageComplete as sn,slotActions as on,slotAnswered as R,tableMarkdown as rn,terminalAnswerable as C}from"./slots.js";import{RESET as r,BOLD as w,DIM as u,GREEN as B,YELLOW as I,CYAN as E,REVERSE as T,sanitize as x,singleLine as b,truncate as H,hline as O,wrap as M,centerHorizontal as D,clipLine as P,panLine as cn,visibleWidth as N}from"./ansi.js";const ln=8,L=a((n,s,t)=>nn(en(n),s,t),"mdLines");function z(n){return Z(n.manifest,Object.fromEntries(n.responses),{completedAt:""})}a(z,"pageAnswer");function fn(n,s){return s.id===void 0?void 0:n.slots.find(t=>t.id===s.id)}a(fn,"answerSlot");function F(n){if(n===void 0||n.state==="unanswered")return"unanswered";if(n.raw!==void 0)return"custom response";const s=n.text!==void 0?[n.text.edited?"edited":"accepted"]:n.groups.map(t=>t.picked.length===0?"none":t.picked.map(e=>e.label).join(", "));return n.freetext!==void 0&&s.push(n.freetext),n.comments.length>0&&s.push(`${n.comments.length} comment${n.comments.length===1?"":"s"}`),s.join("; ")||"answered"}a(F,"answerSummary");function Y(n,s){return X(n,s)}a(Y,"commentLabel");function kn(n,s,t){const e=Math.min(Math.max(20,s-4),120),i=Math.max(20,s-4),c=["",...W(b(n.manifest.title),e,"",0,`${w}${E}`)];if(n.manifest.subtitle)for(const d of M(x(n.manifest.subtitle),e))c.push(` ${u}${d}${r}`);if(n.displayMarkdown!==""){c.push("");for(const d of L(n.displayMarkdown,e,i))c.push(` ${d}`)}else n.manifest.dialect==="html"&&c.push("",` ${u}HTML page \u2014 open in Northlight to read this${r}`);const o=n.slots.length>0;o&&c.push(` ${u}${O(e)}${r}`,"");const f=z(n);let l=-1,$;for(let d=0;d<n.slots.length;d++){const p=n.slots[d];n.manifest.steps>1&&p.step!==l&&(l!==-1&&c.push(""),c.push(` ${w}Step ${p.step+1}/${n.manifest.steps}${r}`),l=p.step);const y=p.id===void 0?void 0:n.responses.get(p.id),g=A(p)?R(n,p)?`${B}\u2713${r}`:`${u}\u25CB${r}`:`${u}\xB7${r}`,k=d===n.currentIndex?`${E}\u25B8${r} `:" ";d===n.currentIndex&&($=c.length),c.push(` ${k}${g} ${H(b(j(p)),Math.max(10,s-16))}`),y!==void 0&&c.push(` ${u}${H(b(F(fn(f,p))),Math.max(10,s-10))}${r}`)}if(n.manifest.slots.some(d=>A(d)&&!C(d))){c.push("");for(const d of M("This page must be answered in Northlight. Leaving it here keeps it in your inbox; x on the list cancels it.",e-2))c.push(` ${I}${d}${r}`)}o&&c.push(""),c.push(` ${u}${O(e)}${r}`);const h=!n.manifest.slots.some(A)?` ${u}u/d${r} scroll ${u}q${r} dismiss`:` ${u}enter${r} review ${u}\u2191\u2193/jk${r} navigate ${u}u/d${r} scroll ${u}q${r} close`;return K(c,h,n,s,t,e+2,n.followSelection?$:void 0)}a(kn,"renderOverview");function un(n,s,t){const e=[...n],i=Math.max(0,Math.min(s,e.length)),c=G(n,t);let o=0;for(let $=0;$<c.length;$++)c[$].start<=i&&(o=$);const f=c.map(($,m)=>{if(m!==o)return e.slice($.start,$.end).join("");const h=e.slice($.start,i).join(""),d=i<$.end?e[i]:" ",p=i<$.end?e.slice(i+1,$.end).join(""):"";return`${h}${T}${d}${r}${p}`}),l=c[o];return i===l.end&&v(e.slice(l.start,l.end).join(""))>=t&&(f[o]=e.slice(l.start,l.end).join(""),f.splice(o+1,0,`${T} ${r}`)),f}a(un,"renderInputBuffer");function bn(n,s){const t=[...n];let e=Math.max(0,Math.min(s,t.length));for(;e>0&&/\s/.test(t[e-1]);)e--;for(;e>0&&!/\s/.test(t[e-1]);)e--;return e}a(bn,"wordLeftIndex");function On(n,s){const t=[...n];let e=Math.max(0,Math.min(s,t.length));for(;e<t.length&&/\s/.test(t[e]);)e++;for(;e<t.length&&!/\s/.test(t[e]);)e++;return e}a(On,"wordRightIndex");function G(n,s){const t=[...n],e=Math.max(1,s),i=[];let c=0,o=0;for(let f=0;f<t.length;f++){const l=t[f];if(l===`
|
|
2
|
+
`){i.push({start:c,end:f}),c=f+1,o=0;continue}const $=v(l);o+$>e?(i.push({start:c,end:f}),c=f,o=$):o+=$}return i.push({start:c,end:t.length}),i}a(G,"wrappedRowBounds");function yn(n,s,t,e){const i=G(n,e),c=Math.max(0,Math.min(s,[...n].length));let o=0;for(let l=0;l<i.length;l++)i[l].start<=c&&(o=l);const f=i[o+t];return f===void 0?c:Math.min(f.start+(c-i[o].start),f.end)}a(yn,"verticalCursor");function $n(n,s){return s.id===void 0?[]:n.responses.get(s.id)?.comments??[]}a($n,"responseComments");function W(n,s,t,e,i){return M(n,Math.max(10,s-e)).map((c,o)=>` ${o===0?t:" ".repeat(e)}${i}${c}${r}`)}a(W,"hangingWrap");function hn(n,s,t,e){if(s.id===void 0)return!1;const i=n.responses.get(s.id);return t==="option"?i?.selectedOptionIds?.includes(e)===!0:t==="card"?i?.selectedCardIds?.includes(e)===!0:t==="row"?i?.selectedRowIds?.includes(e)===!0:i?.selectedColumnIds?.includes(e)===!0}a(hn,"selected");function V(n,s){const t=n.slots[n.currentIndex],e=Math.min(Math.max(20,s-4),120),i=Math.max(20,s-4),c=`[${n.currentIndex+1}/${n.slots.length}]`,o=["",...W(b(n.manifest.title),e,`${w}${E}${c}${r} `,v(c)+2,u),` ${u}${O(e)}${r}`,"",...W(b(j(t)),e,"",0,w)],f=t.config.body;if(typeof f=="string"&&f.length>0){o.push("");for(const m of L(f,e,i))o.push(` ${m}`)}if(C(t)){if(t.kind==="chart"){const m=t.config,h=m.title??`${m.x} vs ${(m.y??[]).map(d=>d.label??d.field).join(", ")}`;o.push("",` ${u}chart \u2014 ${x(m.kind)}: ${x(h)}${r}`)}else if(t.kind==="table"){o.push("");for(const h of L(rn(t.config),e,i))o.push(` ${h}`);const m=t.config.label;m&&o.push(` ${u}${x(m)}${r}`)}else if(t.kind==="text"){const h=(t.id===void 0?void 0:n.responses.get(t.id))?.text??t.config.initialText;o.push("");for(const d of L(h,e,i))o.push(` ${d}`)}}else{o.push("");for(const m of M(`${x(t.kind)} \u2014 must be answered in Northlight; the terminal cannot submit this page`,Math.max(10,e-2)))o.push(` ${I}${m}${r}`);o.push(` ${u}q leaves it in your inbox; x on the list cancels it${r}`)}o.push("",` ${u}${O(e)}${r}`);let l;if(n.inputMode!==null){const m=n.inputMode.kind==="comment"?`Comment on ${Y(t,n.inputMode.anchor)}`:n.inputMode.kind==="text"?"Edit text":"Other response";o.push(` ${w}${m}${r}`);for(const h of un(n.inputMode.buffer,n.inputMode.cursor,Math.max(10,e-4)))o.push(` ${h}`);l=` ${u}enter save esc cancel${n.editorAvailable?" ^o editor":""}${r}`}else{on(t).forEach((h,d)=>{const p=d===n.selectedAction?`${E}\u25B8${r}`:" ";if(h.kind==="select"){const y=hn(n,t,h.group,h.id)?`${B}\u2713${r}`:" ",g=h.shortcut?`[${h.shortcut}] `:"",k=v(g);if(M(x(h.label),Math.max(10,e-6-k)).forEach((S,Q)=>o.push(Q===0?` ${p} [${y}] ${g}${S}`:`${" ".repeat(8+k)}${S}`)),h.description)for(const S of M(x(h.description),Math.max(10,e-6)))o.push(` ${u}${S}${r}`)}else{const y=h.kind==="freetext"?"r":h.kind==="edit"?"e":"a";M(x(h.label),Math.max(10,e-6)).forEach((g,k)=>o.push(k===0?` ${p} [${y}] ${g}`:` ${g}`))}});for(const h of $n(n,t))for(const d of M(`attached: ${Y(t,h.anchor)} \u2014 ${x(h.text)}`,Math.max(10,e-2)))o.push(` ${u}${d}${r}`);n.hint&&o.push(` ${I}${x(n.hint)}${r}`),l=` ${u}n/p next/previous \u2191\u2193/jk actions${tn(t).length>0?" c comment":""} u/d scroll \u2190\u2192/hl pan q close${r}`}const $=Math.max(0,...o.map(N));return{lines:o,footer:l,maxW:e,maxH:Math.max(0,$-Math.max(1,s))}}a(V,"itemLines");function In(n,s,t){if(n.slots[n.currentIndex]===void 0){n.scrollOffset=0,n.hscrollOffset=0,n.hscrollMax=0;return}const e=V(n,s);n.hscrollMax=e.maxH,n.hscrollOffset=Math.max(0,Math.min(n.hscrollOffset,n.hscrollMax)),n.scrollOffset=Math.max(0,Math.min(n.scrollOffset,Math.max(0,e.lines.length-q(t))))}a(In,"clampItemReviewScroll");function En(n,s){n.hscrollOffset=Math.max(0,Math.min(n.hscrollMax,n.hscrollOffset+s*ln))}a(En,"panItemReview");function Sn(n,s,t){const e=V(n,s),i=q(t),c=n.scrollOffset,o=e.lines.slice(c,c+i);for(;o.length<i;)o.push("");const f=n.hscrollOffset>0?o.map($=>cn($,n.hscrollOffset,s)):o,l=Math.min(s,e.maxW+2);return i<t&&f.push(J(e.footer,_(c,i,e.lines.length),e.maxW+2)),D(f.map($=>P($,s)),s,l)}a(Sn,"renderItemReview");function vn(n,s,t){const e=Math.min(Math.max(20,s-4),120),i=["",...W(`${b(n.manifest.title)} \u2014 Summary`,e,"",0,`${w}${E}`),` ${u}${O(e)}${r}`,""],c=z(n);for(const l of c.slots){const $=n.manifest.slots.find(d=>d.id===l.id),h=$!==void 0&&R(n,$)?`${B}\u2713${r}`:`${I}\u25CB${r}`;i.push(` ${h} ${w}${x($===void 0?l.kind:j($))}${r} ${u}${x(F(l))}${r}`)}const o=sn(n);if(!o){i.push("",` ${I}Cannot submit yet.${r}`);for(const l of n.slots.filter(A))R(n,l)||(i.push(` ${u}${l.id??l.kind} is unanswered${r}`),C(l)||i.push(` ${u}${l.id} must be answered in Northlight${r}`))}i.push("",` ${u}${O(e)}${r}`);const f=o?` ${u}enter${r} submit ${u}u/d${r} scroll ${u}q${r} back`:` ${u}u/d${r} scroll ${u}q${r} back`;return K(i,f,n,s,t,e+2)}a(vn,"renderFinal");function q(n){return n>=2?n-1:n}a(q,"bodyRows");function _(n,s,t){if(s<=0||t<=s)return{marks:"",full:""};const e=Math.min(t,n+s),i=`${n>0?"\u25B4":" "}${e<t?"\u25BE":" "}`;return{marks:`${u}${i}${r}`,full:`${u}${i} ${n+1}\u2013${e}/${t}${r}`}}a(_,"scrollBadge");function J(n,s,t){if(s.full==="")return n;const e=a(i=>t-N(n)-N(i)-2,"room");for(const i of[s.full,s.marks])if(e(i)>=2)return`${n}${" ".repeat(e(i))}${i}`;return` ${s.marks} ${n.trimStart()}`}a(J,"pinnedFooter");function K(n,s,t,e,i,c,o){const f=q(i),l=Math.max(0,n.length-f);t.scrollOffset=Math.max(0,Math.min(t.scrollOffset,l)),o!==void 0&&f>0&&(o<t.scrollOffset?t.scrollOffset=o:o>=t.scrollOffset+f&&(t.scrollOffset=Math.min(l,o-f+1)));const $=n.slice(t.scrollOffset,t.scrollOffset+f);for(;$.length<f;)$.push("");return f<i&&$.push(J(s,_(t.scrollOffset,f,n.length),c)),D($.map(m=>P(m,e)),e,Math.min(e,c))}a(K,"centeredWindow");export{In as clampItemReviewScroll,En as panItemReview,vn as renderFinal,un as renderInputBuffer,Sn as renderItemReview,kn as renderOverview,yn as verticalCursor,bn as wordLeftIndex,On as wordRightIndex,G as wrappedRowBounds};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var V=Object.defineProperty;var
|
|
1
|
+
var V=Object.defineProperty;var d=(i,a)=>V(i,"name",{value:a,configurable:!0});import{DatabaseSync as W}from"node:sqlite";import{existsSync as Y,mkdirSync as D,mkdtempSync as J,renameSync as X,rmSync as P}from"node:fs";import{tmpdir as Q}from"node:os";import{join as A}from"node:path";import j from"pg";import{migrate as z,MIGRATIONS as I}from"./migrations.js";import{canvasDbPath as Z}from"./paths.js";import{canvasSearchPathOptions as ee}from"./schema-version.js";import{EXPORT_MARK_KEY as F,IMPORT_MARK_KEY as te,OBJECT_COLUMNS as ne,pgColumns as se,quote as p,TABLE_ORDER as C}from"./import-sqlite.js";const re=5e3,oe=new Set(["environments","relations","schemas","charges","charge_totals","limits","viewer_attachments","reconciler_leases","environment_repos","conversation_entries","conversation_parts","charge_chunks","profiles","profile_projects","profile_defaults","scope_settings","scope_bookkeeping","scope_marketplaces","scope_plugins","person_settings","model_accounts","model_account_cooldowns","model_api_keys","model_settings","model_sign_in_flows","env_vars","import_runs","import_key_map","import_manifest","import_id_map","machine_links","machine_calls","machine_credentials","import_node_files","usage","grantee_usage","provider_receipts"]),ae={exposures:"node, object, channel",rules:"object, position",edges:"type, src, dst",unresolved_links:"src, name",revision_parents:"child, parent",canvas_meta:"key",runtime_state:"key",message_causes:"message_id",peer_ingested:"key",peer_ingested_destinations:"key",message_sequence:"id",messages:"seq",review_comment_events:"seq",audit_rows:"id",peer_outbox:"id",app_users:"uid"},ie={objects:"id",revisions:"rev_id",watches:"watch_id"},H=new Set(["daemon_owner","schema_version","schema_min_reader","ledger_migrated",te,F]);function ce(i){const a=J(A(Q(),"crtr-export-")),s=process.env.CRTR_HOME;process.env.CRTR_HOME=a,D(A(a,"runtime","nodes"),{recursive:!0});try{const r=new W(i);return r.exec("PRAGMA journal_mode = DELETE;"),r.exec("PRAGMA foreign_keys = ON;"),z(r),r.exec("DELETE FROM canvas_meta; DELETE FROM message_sequence;"),r}finally{s===void 0?delete process.env.CRTR_HOME:process.env.CRTR_HOME=s,P(a,{recursive:!0,force:!0})}}d(ce,"createEmptyDatabase");async function Re(i,a=()=>{}){const s=Z();if(Y(s))throw new Error(`${s} already exists; refusing to overwrite it`);D(A(s,".."),{recursive:!0,mode:448});const r=`${s}.exporting-${process.pid}`,u=Date.now(),t=new j.Client({connectionString:i,application_name:`crtr-export-${process.pid}`,options:ee(),types:{getTypeParser:d(((f,o)=>f===20?w=>Number(w):j.types.getTypeParser(f,o)),"getTypeParser")}});await t.connect();let _;try{if((await t.query("SELECT value FROM canvas_meta WHERE key = 'schema_version'").catch(()=>({rows:[]}))).rows.length===0)throw new Error("the Postgres database has no canvas schema; nothing to export");_=ce(r);const o=_;o.exec("PRAGMA foreign_keys = OFF;");const w=await se(t),L=[...w.keys()].filter(e=>!oe.has(e)&&!C.includes(e));if(L.length>0)throw new Error(`export: Postgres tables with no export rule: ${L.join(", ")}`);await t.query("BEGIN READ ONLY ISOLATION LEVEL REPEATABLE READ");const E={};for(const[e,S]of Object.entries(ie)){const h=new Map;for(const l of(await t.query(`SELECT ${S} AS id, seq FROM ${e}`)).rows)h.set(l.id,Number(l.seq));E[e]=h}const B=E.objects;let M=0;o.exec("BEGIN");for(const e of C){const S=Date.now(),h=new Set(o.prepare(`PRAGMA table_info(${p(e)})`).all().map(n=>n.name)),l=w.get(e);if(l===void 0)throw new Error(`export: Postgres has no table ${e}`);const G=l.some(n=>n.name==="seq"),O=l.filter(n=>h.has(n.name)),K=new Set(ne[e]??[]),g=e==="objects"||e==="revisions"||e==="watches"||e==="watch_subscriptions",$=O.map(n=>n.type==="jsonb"?`${p(n.name)}::text AS ${p(n.name)}`:p(n.name));e==="watches"&&$.push("watch_id AS _watch_id"),g&&$.push("seq AS _seq");const R=O.map(n=>p(n.name)),U=o.prepare(`INSERT INTO ${p(e)} (${g?["rowid",...R]:R}) VALUES (${(g?["?",...R]:R).map(()=>"?").join(", ")})`),k=G?"seq":ae[e],b=`export_${e}`;await t.query(`DECLARE ${b} NO SCROLL CURSOR FOR SELECT ${$.join(", ")} FROM ${p(e)}${e==="canvas_meta"?` WHERE key NOT IN (${[...H].map(n=>`'${n}'`).join(", ")})`:""}${k===void 0?"":` ORDER BY ${k}`}`);let T=0;for(;;){const n=await t.query(`FETCH ${re} FROM ${b}`);if(n.rows.length===0)break;for(const q of n.rows){const N=g?[Number(q._seq)]:[];for(const c of O){let m=q[c.name];e==="revision_parents"&&(c.name==="child"||c.name==="parent")?m=x(E.revisions,"revision",e,c.name,m):e==="watch_subscriptions"&&c.name==="watch"?m=x(E.watches,"watch",e,c.name,m):K.has(c.name)?m=x(B,"object",e,c.name,m):e==="jobs"&&(c.name==="job_dir"||c.name==="log_path")&&(m=m??""),N.push(m??null)}U.run(...N)}T+=n.rows.length}await t.query(`CLOSE ${b}`),M+=T,a(`export ${e}: ${T} rows in ${Date.now()-S} ms`)}o.exec("COMMIT"),await t.query("COMMIT");const y=o.prepare("PRAGMA foreign_key_check").all();if(y.length>0)throw new Error(`export: ${y.length} foreign key violation(s) in the exported canvas.db, first: ${JSON.stringify(y[0])}`);await me(t,o);const v=o.prepare("PRAGMA user_version").get().user_version;if(v!==I.length)throw new Error(`export: exported canvas.db is at user_version ${v}, expected ${I.length}`);return o.close(),_=void 0,await t.query("INSERT INTO canvas_meta (key, value) VALUES ($1, $2) ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value",[F,JSON.stringify({at:new Date().toISOString(),path:s})]),X(r,s),{path:s,rows:M,ms:Date.now()-u,userVersion:v}}catch(f){await t.query("ROLLBACK").catch(()=>{});try{_?.close()}catch{}for(const o of["","-wal","-shm","-journal"])P(`${r}${o}`,{force:!0});throw f}finally{await t.end().catch(()=>{})}}d(Re,"exportPostgresToSqlite");function x(i,a,s,r,u){if(u==null)return null;const t=i.get(u);if(t===void 0)throw new Error(`export: ${s}.${r} references ${a} ${String(u)}, which was not exported (`);return t}d(x,"mapId");async function me(i,a){const s=[];for(const r of C){const u=Number((await i.query(`SELECT count(*) AS n FROM ${p(r)}`)).rows[0].n);let t=Number(a.prepare(`SELECT count(*) AS n FROM ${p(r)}`).get().n),_=u;r==="canvas_meta"&&(_=Number((await i.query("SELECT count(*) AS n FROM canvas_meta WHERE key <> ALL($1)",[[...H]])).rows[0].n),t=Number(a.prepare("SELECT count(*) AS n FROM canvas_meta").get().n)),_!==t&&s.push(`${r}: Postgres ${_} rows, SQLite ${t}`)}if(s.length>0)throw new Error(`Postgres \u2192 SQLite export verification failed:
|
|
2
2
|
${s.join(`
|
|
3
|
-
`)}`)}
|
|
3
|
+
`)}`)}d(me,"verify");export{Re as exportPostgresToSqlite};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@north-light/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.570",
|
|
4
4
|
"description": "crtr — agent runtime with memory, plugins, and marketplaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
},
|
|
145
145
|
"license": "UNLICENSED",
|
|
146
146
|
"dependencies": {
|
|
147
|
-
"@north-light/identity": "0.3.
|
|
147
|
+
"@north-light/identity": "0.3.570",
|
|
148
148
|
"@earendil-works/pi-agent-core": "1.1.0",
|
|
149
149
|
"@earendil-works/pi-ai": "1.1.0",
|
|
150
150
|
"@earendil-works/pi-coding-agent": "1.1.0",
|
package/runtime.lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@north-light/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.570",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@north-light/cli",
|
|
9
|
-
"version": "0.3.
|
|
9
|
+
"version": "0.3.570",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "UNLICENSED",
|
|
12
12
|
"workspaces": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@milkdown/preset-gfm": "^7.22.3",
|
|
25
25
|
"@milkdown/prose": "^7.22.3",
|
|
26
26
|
"@milkdown/utils": "^7.22.3",
|
|
27
|
-
"@north-light/identity": "0.3.
|
|
27
|
+
"@north-light/identity": "0.3.570",
|
|
28
28
|
"cron-parser": "^5.6.0",
|
|
29
29
|
"esbuild": "^0.27.7",
|
|
30
30
|
"jose": "^6.2.12",
|
|
@@ -12455,17 +12455,17 @@
|
|
|
12455
12455
|
},
|
|
12456
12456
|
"packages/crouter-api": {
|
|
12457
12457
|
"name": "@north-light/api",
|
|
12458
|
-
"version": "0.3.
|
|
12458
|
+
"version": "0.3.570",
|
|
12459
12459
|
"license": "UNLICENSED"
|
|
12460
12460
|
},
|
|
12461
12461
|
"packages/crouter-env-docker": {
|
|
12462
12462
|
"name": "@north-light/env-docker",
|
|
12463
|
-
"version": "0.3.
|
|
12463
|
+
"version": "0.3.570",
|
|
12464
12464
|
"license": "UNLICENSED"
|
|
12465
12465
|
},
|
|
12466
12466
|
"packages/crouter-identity": {
|
|
12467
12467
|
"name": "@north-light/identity",
|
|
12468
|
-
"version": "0.3.
|
|
12468
|
+
"version": "0.3.570",
|
|
12469
12469
|
"license": "UNLICENSED",
|
|
12470
12470
|
"dependencies": {
|
|
12471
12471
|
"jose": "^6.2.1"
|
|
@@ -12473,21 +12473,21 @@
|
|
|
12473
12473
|
},
|
|
12474
12474
|
"packages/crouter-plugin": {
|
|
12475
12475
|
"name": "@north-light/plugin",
|
|
12476
|
-
"version": "0.3.
|
|
12476
|
+
"version": "0.3.570",
|
|
12477
12477
|
"license": "UNLICENSED",
|
|
12478
12478
|
"dependencies": {
|
|
12479
|
-
"@north-light/api": "0.3.
|
|
12480
|
-
"@north-light/identity": "0.3.
|
|
12479
|
+
"@north-light/api": "0.3.570",
|
|
12480
|
+
"@north-light/identity": "0.3.570"
|
|
12481
12481
|
}
|
|
12482
12482
|
},
|
|
12483
12483
|
"packages/crouter-sdk": {
|
|
12484
12484
|
"name": "@north-light/sdk",
|
|
12485
|
-
"version": "0.3.
|
|
12485
|
+
"version": "0.3.570",
|
|
12486
12486
|
"license": "UNLICENSED",
|
|
12487
12487
|
"dependencies": {
|
|
12488
|
-
"@north-light/api": "0.3.
|
|
12489
|
-
"@north-light/identity": "0.3.
|
|
12490
|
-
"@north-light/plugin": "0.3.
|
|
12488
|
+
"@north-light/api": "0.3.570",
|
|
12489
|
+
"@north-light/identity": "0.3.570",
|
|
12490
|
+
"@north-light/plugin": "0.3.570",
|
|
12491
12491
|
"jose": "^6.2.1"
|
|
12492
12492
|
},
|
|
12493
12493
|
"bin": {
|