glamfire 0.2.1 → 0.2.3

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/README.md CHANGED
@@ -129,15 +129,17 @@ cd glamfire && pnpm install && pnpm -r build
129
129
  node packages/cli/src/index.mjs --version
130
130
  ```
131
131
 
132
- > **What's wired vs. awaiting secrets.** Building the artifacts, checksums, the SBOM,
133
- > sigstore signing, and the GitHub Release all run unconditionally on a `v*` tag. The
134
- > **publishes are gated** so nothing ships until the maintainer adds the credential:
135
- > `NPM_TOKEN` (npm), `HOMEBREW_TAP_DEPLOY_KEY` (tap repo `glamworks/homebrew-tap`),
136
- > `SCOOP_BUCKET_DEPLOY_KEY` (bucket repo `glamworks/scoop-bucket`), `WINGET_TOKEN`
137
- > (winget‑pkgs PR). Until then the `npm i -g glamfire` / `brew` / `scoop` / `winget`
138
- > lines resolve once the first release is published. Build the artifacts yourself any
139
- > time: `bun scripts/build-npm.mjs --pack` and `bun scripts/build-binaries.mjs`. A
140
- > Docker image for the team/server profiles is still specified, not yet built.
132
+ > **What's live.** **`npm`, Homebrew, and Scoop are LIVE.** The
133
+ > [`glamfire`](https://www.npmjs.com/package/glamfire) npm package (latest: `0.2.2`) is
134
+ > published verified by installing from the public registry and running the installed
135
+ > `glam`; the [Homebrew tap](https://github.com/glamworks/homebrew-tap)
136
+ > (`Formula/glamfire.rb`) and [Scoop bucket](https://github.com/glamworks/scoop-bucket)
137
+ > (`bucket/glamfire.json`) are pushed on every `v*` tag by the release workflow. Each tag
138
+ > also builds the checksums, the SBOM, sigstore signing, and a GitHub Release with all five
139
+ > single‑file binaries + the tarball attached
140
+ > ([releases](https://github.com/glamworks/glamfire/releases)). **Only `winget` is not yet
141
+ > wired** — it needs a `winget‑pkgs` fork + `WINGET_TOKEN`. A Docker image for the
142
+ > team/server profiles is still specified, not yet built.
141
143
 
142
144
  ---
143
145
 
@@ -322,7 +322,7 @@ ${$}`,v);this.line=i,this.column=u,this.codeblock=$}}/*!
322
322
  ${k.join(`
323
323
  `)}
324
324
 
325
- Fix the offending field(s) above. See the config schema in @glamfire/config or glam.example.toml.`,A!==null?{file:A}:void 0)}return{config:D.data,provenance:_,sources:b}}function Ln(n){if(n===void 0)return"none";if("env"in n)return`env:${n.env}`;return`keychain:${n.keychain.service}/${n.keychain.account}`}function Bn(n,v=process.env){if(n===void 0)return;if("env"in n){let u=v[n.env];if(u===void 0||u==="")return;return new L$(u,`env:${n.env}`)}let i=kr(n.keychain);if(i===void 0||i==="")return;return new L$(i,`keychain:${n.keychain.service}/${n.keychain.account}`)}function O_(n,v=process.env){return Object.keys(n.providers).map((u)=>{let $=n.providers[u].credential,r=!1;try{r=Bn($,v)!==void 0}catch{r=!1}return{provider:u,source:Ln($),resolved:r}})}function PD(n){if(Array.isArray(n))return`[${n.map(PD).join(", ")}]`;if(typeof n==="string")return n;if(n===null)return"null";if(typeof n==="object")return JSON.stringify(n);return String(n)}function S_(n,v=process.env){return{rows:vr(n.config).map(({path:u,value:$})=>({path:u,value:PD($),layer:n.provenance[u]??"default"})),credentials:O_(n.config,v),sources:n.sources}}function GD(){return"0.2.1"}var mn="\x1B[2m",X_="\x1B[1m",Tz="\x1B[0m",lz="\x1B[38;5;208m",VD="\x1B[32m",tz="\x1B[33m";function a(n,v,i){return n?`${v}${i}${Tz}`:i}var oz=`glam config — show the resolved, layered, secret-redacted configuration.
325
+ Fix the offending field(s) above. See the config schema in @glamfire/config or glam.example.toml.`,A!==null?{file:A}:void 0)}return{config:D.data,provenance:_,sources:b}}function Ln(n){if(n===void 0)return"none";if("env"in n)return`env:${n.env}`;return`keychain:${n.keychain.service}/${n.keychain.account}`}function Bn(n,v=process.env){if(n===void 0)return;if("env"in n){let u=v[n.env];if(u===void 0||u==="")return;return new L$(u,`env:${n.env}`)}let i=kr(n.keychain);if(i===void 0||i==="")return;return new L$(i,`keychain:${n.keychain.service}/${n.keychain.account}`)}function O_(n,v=process.env){return Object.keys(n.providers).map((u)=>{let $=n.providers[u].credential,r=!1;try{r=Bn($,v)!==void 0}catch{r=!1}return{provider:u,source:Ln($),resolved:r}})}function PD(n){if(Array.isArray(n))return`[${n.map(PD).join(", ")}]`;if(typeof n==="string")return n;if(n===null)return"null";if(typeof n==="object")return JSON.stringify(n);return String(n)}function S_(n,v=process.env){return{rows:vr(n.config).map(({path:u,value:$})=>({path:u,value:PD($),layer:n.provenance[u]??"default"})),credentials:O_(n.config,v),sources:n.sources}}function GD(){return"0.2.3"}var mn="\x1B[2m",X_="\x1B[1m",Tz="\x1B[0m",lz="\x1B[38;5;208m",VD="\x1B[32m",tz="\x1B[33m";function a(n,v,i){return n?`${v}${i}${Tz}`:i}var oz=`glam config — show the resolved, layered, secret-redacted configuration.
326
326
 
327
327
  Usage: glam config [options]
328
328
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glamfire",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "The open, model-agnostic harness for the last mile of AI — the glam CLI. Own your context, route each task to the cheapest capable model.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",