@team-semicolon/semicolony-cli 4.18.61 → 4.18.62
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/bundle.js +1 -1
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
|
@@ -2724,7 +2724,7 @@ ${e}`:null,`[\uC0AC\uC7A5\uB2D8 \uC0C8 \uBA54\uC2DC\uC9C0] ${t.message}`,"\uC704
|
|
|
2724
2724
|
\u{1F309} SemiColony chat-bridge
|
|
2725
2725
|
`)),console.log(` listen: ${$a.default.green(`http://127.0.0.1:${i}`)}`),console.log(` host_kind: ${$a.default.green(s)} ${A.ok?$a.default.gray(`(${A.detail??"ok"})`):$a.default.yellow(`(probe \uC2E4\uD328: ${A.detail??"n/a"} \u2014 \uC694\uCCAD \uC2DC 503)`)}`),console.log(` timeout: ${o}ms`),console.log(` max-concurrent:${a}`),console.log(` workspace: ${$a.default.gray(g)} (\uACA9\uB9AC cwd)`),console.log(` isolation: ${s==="claude-code"?$a.default.green("--system-prompt \uB300\uCCB4 (ambient CLAUDE.md \uCC28\uB2E8)"):s==="openai-chat"?$a.default.green("OpenAI system role \uBD84\uB9AC"):$a.default.yellow("\uC778\uB77C\uC778 system (host \uACA9\uB9AC \uC2AC\uB86F \uC5C6\uC74C)")}`),console.log(` auth: ${QH} \uC124\uC815\uB428 (fail-closed)
|
|
2726
2726
|
`)});let C=v=>{console.log($a.default.yellow(`
|
|
2727
|
-
[chat-bridge] ${v} \uC218\uC2E0 \u2014 \uC885\uB8CC.`)),E.close(()=>process.exit(0)),setTimeout(()=>process.exit(0),3e3).unref()};process.on("SIGINT",()=>C("SIGINT")),process.on("SIGTERM",()=>C("SIGTERM"))})}var RH=x(require("node:fs")),Ltt=x(require("node:os")),DH=x(require("node:path")),Wce=require("node:crypto");hn();var Kt=x(Oe()),XM=require("crypto");hn();var Ga=process.env.SEMICOLONY_DB_SCHEMA??"semicolony",Itt="sck_",_tt="wck_",ZM=["kb:read","kb:write","persona:read"],qce=["kb:read","skills:read","worker:release:read","worker:release:report"],cf="team-semicolon",DVn=/^[a-z][a-z0-9-]{0,99}$/,jce=/^[a-z][a-z0-9-]{0,63}$/,Btt=/^[a-z][a-z0-9-]{0,99}$/,vtt="colony",ktt="agent:team-semicolon:colony",Stt="team-semicolon:member",$ce="semo-ops:fabric-bridge",Gce="fabric:query",Qtt=[Gce];function Dtt(t){if(!DVn.test(t))throw new Error(`\uC798\uBABB\uB41C project id: "${t}"`);return t}function RVn(t){let e=t.indexOf(":"),n=Dtt(e<0?t:t.slice(0,e)),i=(e<0?"":t.slice(e+1)).split(",").map(a=>a.trim().toLowerCase()).filter(Boolean);if(i.length===0)throw new Error(`project credential environment\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4: "${t}"`);if(i.some(a=>a==="prod"||a==="production"))throw new Error("production credential projection\uC740 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");let s=i.find(a=>a!=="dev"&&a!=="e2e");if(s)throw new Error(`\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 project credential environment: "${s}"`);let o=[...new Set(i)].sort();return{projectId:n,capability:"credentials-read",environments:o}}function MVn(t){return{projectId:Dtt(t.trim()),capability:"assets-read",environments:[]}}function TVn(t=[]){let e=new Map;for(let r of t){let i=`${r.projectId}:${r.capability}`,s=e.get(i);e.set(i,{...r,environments:[...new Set([...s?.environments??[],...r.environments])].sort()})}let n={"credentials-read":0,"assets-read":1};return[...e.values()].sort((r,i)=>r.projectId.localeCompare(i.projectId)||n[r.capability]-n[i.capability])}function OVn(t,e){let n=new Set(t?.length?t:qce);return e.some(r=>r.capability==="credentials-read")&&n.add("workspace:credentials-read"),e.some(r=>r.capability==="assets-read")&&n.add("workspace:assets-read"),[...n]}function Rtt(t){return(0,XM.createHash)("sha256").update(t).digest("hex")}function Hce(t){let e=(0,XM.randomBytes)(32).toString("base64url"),n=`${Itt}${t}_${e}`,r=n.slice(0,Itt.length+t.length+1+6);return{token:n,tokenHash:Rtt(n),tokenPrefix:r}}function Mtt(t){let e=(0,XM.randomBytes)(32).toString("base64url"),n=`${_tt}${t}_${e}`,r=n.slice(0,_tt.length+t.length+1+6);return{token:n,tokenHash:Rtt(n),tokenPrefix:r}}function Uce(t){if(!t)return ZM;let e=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);for(let n of e)if(!/^[a-z0-9-]
|
|
2727
|
+
[chat-bridge] ${v} \uC218\uC2E0 \u2014 \uC885\uB8CC.`)),E.close(()=>process.exit(0)),setTimeout(()=>process.exit(0),3e3).unref()};process.on("SIGINT",()=>C("SIGINT")),process.on("SIGTERM",()=>C("SIGTERM"))})}var RH=x(require("node:fs")),Ltt=x(require("node:os")),DH=x(require("node:path")),Wce=require("node:crypto");hn();var Kt=x(Oe()),XM=require("crypto");hn();var Ga=process.env.SEMICOLONY_DB_SCHEMA??"semicolony",Itt="sck_",_tt="wck_",ZM=["kb:read","kb:write","persona:read"],qce=["kb:read","skills:read","worker:release:read","worker:release:report"],cf="team-semicolon",DVn=/^[a-z][a-z0-9-]{0,99}$/,jce=/^[a-z][a-z0-9-]{0,63}$/,Btt=/^[a-z][a-z0-9-]{0,99}$/,vtt="colony",ktt="agent:team-semicolon:colony",Stt="team-semicolon:member",$ce="semo-ops:fabric-bridge",Gce="fabric:query",Qtt=[Gce];function Dtt(t){if(!DVn.test(t))throw new Error(`\uC798\uBABB\uB41C project id: "${t}"`);return t}function RVn(t){let e=t.indexOf(":"),n=Dtt(e<0?t:t.slice(0,e)),i=(e<0?"":t.slice(e+1)).split(",").map(a=>a.trim().toLowerCase()).filter(Boolean);if(i.length===0)throw new Error(`project credential environment\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4: "${t}"`);if(i.some(a=>a==="prod"||a==="production"))throw new Error("production credential projection\uC740 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");let s=i.find(a=>a!=="dev"&&a!=="e2e");if(s)throw new Error(`\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 project credential environment: "${s}"`);let o=[...new Set(i)].sort();return{projectId:n,capability:"credentials-read",environments:o}}function MVn(t){return{projectId:Dtt(t.trim()),capability:"assets-read",environments:[]}}function TVn(t=[]){let e=new Map;for(let r of t){let i=`${r.projectId}:${r.capability}`,s=e.get(i);e.set(i,{...r,environments:[...new Set([...s?.environments??[],...r.environments])].sort()})}let n={"credentials-read":0,"assets-read":1};return[...e.values()].sort((r,i)=>r.projectId.localeCompare(i.projectId)||n[r.capability]-n[i.capability])}function OVn(t,e){let n=new Set(t?.length?t:qce);return e.some(r=>r.capability==="credentials-read")&&n.add("workspace:credentials-read"),e.some(r=>r.capability==="assets-read")&&n.add("workspace:assets-read"),[...n]}function Rtt(t){return(0,XM.createHash)("sha256").update(t).digest("hex")}function Hce(t){let e=(0,XM.randomBytes)(32).toString("base64url"),n=`${Itt}${t}_${e}`,r=n.slice(0,Itt.length+t.length+1+6);return{token:n,tokenHash:Rtt(n),tokenPrefix:r}}function Mtt(t){let e=(0,XM.randomBytes)(32).toString("base64url"),n=`${_tt}${t}_${e}`,r=n.slice(0,_tt.length+t.length+1+6);return{token:n,tokenHash:Rtt(n),tokenPrefix:r}}function Uce(t){if(!t)return ZM;let e=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);for(let n of e)if(!/^[a-z0-9-]+(?::[a-z0-9*-]+)+$/.test(n))throw new Error(`\uC798\uBABB\uB41C scope \uD615\uC2DD: "${n}" (\uAE30\uB300: "{resource}:{action}" \uB610\uB294 \uACC4\uCE35 scope, \uC608: worker:release:read)`);return e.length?e:ZM}async function Jx(t){let e=G(),{rows:n}=await e.query("SELECT id, slug, display_name FROM public.tenants WHERE slug = $1",[t]);if(!n[0])throw new Error(`\uD14C\uB10C\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: "${t}" (public.tenants)`);return n[0]}function xtt(t,e,n){console.log(Kt.default.green(`
|
|
2728
2728
|
\u2714 \uAC8C\uC774\uD2B8\uC6E8\uC774 \uC790\uACA9\uC99D\uBA85 \uBC1C\uAE09 \uC644\uB8CC`)),console.log(Kt.default.yellow(` \uC544\uB798 \uD1A0\uD070\uC740 \uC9C0\uAE08 \uD55C \uBC88\uB9CC \uD45C\uC2DC\uB429\uB2C8\uB2E4. \uC548\uC804\uD558\uAC8C \uBCF4\uAD00\uD558\uC138\uC694.
|
|
2729
2729
|
`)),console.log(" "+Kt.default.bold.cyan(t)+`
|
|
2730
2730
|
`),console.log(Kt.default.gray(` tenant=${n} prefix=${e}`)),console.log(Kt.default.gray(` Colony env: export SEMICOLONY_API_KEY=${t}
|