free-pi-cli 0.5.1 → 0.5.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.
Files changed (23) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/{main-ha56pd31.js → main-zgz9as8b.js} +40 -12
  3. package/package.json +1 -1
  4. package/skills/{security-audit → freepi-security-audit}/SKILL.md +1 -1
  5. /package/skills/{security-audit → freepi-security-audit}/AI-AND-LLM.md +0 -0
  6. /package/skills/{security-audit → freepi-security-audit}/ATTACK-CLASSES.md +0 -0
  7. /package/skills/{security-audit → freepi-security-audit}/CLIENT-SIDE.md +0 -0
  8. /package/skills/{security-audit → freepi-security-audit}/CLOUD-AND-DEPLOYMENT.md +0 -0
  9. /package/skills/{security-audit → freepi-security-audit}/DATA-ISOLATION-AND-LIFECYCLE.md +0 -0
  10. /package/skills/{security-audit → freepi-security-audit}/DESKTOP-MOBILE-AND-LOCAL-IPC.md +0 -0
  11. /package/skills/{security-audit → freepi-security-audit}/HUNTING.md +0 -0
  12. /package/skills/{security-audit → freepi-security-audit}/LICENSE +0 -0
  13. /package/skills/{security-audit → freepi-security-audit}/MEMORY-SAFETY-AND-BINARY.md +0 -0
  14. /package/skills/{security-audit → freepi-security-audit}/PROTOCOLS-RPC-AND-MESSAGING.md +0 -0
  15. /package/skills/{security-audit → freepi-security-audit}/RECONNAISSANCE.md +0 -0
  16. /package/skills/{security-audit → freepi-security-audit}/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +0 -0
  17. /package/skills/{security-audit → freepi-security-audit}/SUPPLY-CHAIN-AND-RELEASE.md +0 -0
  18. /package/skills/{security-audit → freepi-security-audit}/UPSTREAM.md +0 -0
  19. /package/skills/{security-audit → freepi-security-audit}/VALIDATION-AND-REPORTING.md +0 -0
  20. /package/skills/{security-audit → freepi-security-audit}/WEB-PROTOCOL-AND-AUTH.md +0 -0
  21. /package/skills/{security-audit → freepi-security-audit}/report-schema.json +0 -0
  22. /package/skills/{security-audit → freepi-security-audit}/validate-coverage-ledger.cjs +0 -0
  23. /package/skills/{security-audit → freepi-security-audit}/validate-findings.cjs +0 -0
package/dist/index.js CHANGED
@@ -30,4 +30,4 @@ if (err) {
30
30
  console.error(err);
31
31
  process.exit(1);
32
32
  }
33
- await import("./main-ha56pd31.js");
33
+ await import("./main-zgz9as8b.js");
@@ -14940,7 +14940,7 @@ var HiveClassifyResponseSchema = exports_external.object({
14940
14940
  // package.json
14941
14941
  var package_default = {
14942
14942
  name: "free-pi-cli",
14943
- version: "0.5.1",
14943
+ version: "0.5.3",
14944
14944
  description: "Free, ad-supported distribution of the pi coding agent. Inference paid for by ads.",
14945
14945
  license: "MIT",
14946
14946
  type: "module",
@@ -20852,6 +20852,7 @@ function createToolGuardExtension(opts) {
20852
20852
  // src/bug-report.ts
20853
20853
  var BUG_USAGE = "Usage: /bug <what went wrong>";
20854
20854
  var BUG_DESCRIPTION = "Report a bug to free-pi";
20855
+ var LOGIN_DESCRIPTION = "Sign in with GitHub to unlock daily credits and a comeback bonus.";
20855
20856
  function buildBugRequest(description, ctx) {
20856
20857
  return { description, session_id: ctx.sessionId, cli_version: CLI_VERSION, model: ctx.model };
20857
20858
  }
@@ -20909,7 +20910,7 @@ function registerBugAutocomplete(pi) {
20909
20910
  const r = await cur.getSuggestions(...a);
20910
20911
  return r && {
20911
20912
  ...r,
20912
- items: r.items.map((i) => i.value === "bug" && i.label === "bug" ? { ...i, description: BUG_DESCRIPTION } : i)
20913
+ items: r.items.map((i) => i.label === i.value && i.value === "bug" ? { ...i, description: BUG_DESCRIPTION } : i.label === i.value && i.value === "login" ? { ...i, description: LOGIN_DESCRIPTION } : i)
20913
20914
  };
20914
20915
  }
20915
20916
  }));
@@ -20976,6 +20977,17 @@ function mergeAttribution(a, b) {
20976
20977
 
20977
20978
  // src/changelog.ts
20978
20979
  var CHANGELOG_HIGHLIGHTS = [
20980
+ {
20981
+ version: "0.5.3",
20982
+ highlights: [
20983
+ "No more startup warning about /login.",
20984
+ "The bundled audit skill is now freepi-security-audit, so it no longer clashes with Cloudflare's security-audit skill."
20985
+ ]
20986
+ },
20987
+ {
20988
+ version: "0.5.2",
20989
+ highlights: ["/model now lists Defense Flash right under Fusion."]
20990
+ },
20979
20991
  {
20980
20992
  version: "0.5.1",
20981
20993
  highlights: [
@@ -21668,8 +21680,6 @@ async function openPrivacyPolicy(opts, ctx) {
21668
21680
  ctx.ui.notify(`Opening the Privacy Policy in your browser: ${PRIVACY_URL}`, "info");
21669
21681
  }
21670
21682
  async function runLogin(opts, ctx) {
21671
- ctx.ui.notify("Sign in with GitHub to get 15,000 free credits a day.", "info");
21672
- ctx.ui.notify(LOGIN_BONUS_UNLOCK_LINE, "info");
21673
21683
  try {
21674
21684
  const attribution = opts.agentDir ? await loadAttribution(getAttributionPath(opts.agentDir)) : {};
21675
21685
  const token = await runDeviceLogin({
@@ -21692,6 +21702,22 @@ async function runLogin(opts, ctx) {
21692
21702
  ctx.ui.notify("Couldn't finish GitHub sign-in. Run /login to try again.", "error");
21693
21703
  }
21694
21704
  }
21705
+ function installLoginHandler(mode, opts) {
21706
+ const m = mode;
21707
+ mode.handleLoginCommand = () => {
21708
+ const lines = [];
21709
+ const notify = (message, type) => {
21710
+ if (type === "error")
21711
+ return m.showError(message);
21712
+ if (type === "warning")
21713
+ return m.showWarning(message);
21714
+ lines.push(message);
21715
+ m.showStatus(lines.join(`
21716
+ `));
21717
+ };
21718
+ return runLogin(opts, { ui: { notify } });
21719
+ };
21720
+ }
21695
21721
  async function showUsage(opts, ctx) {
21696
21722
  const r = await fetchUsageText(opts);
21697
21723
  ctx.ui.notify(r.text, r.ok ? "info" : "error");
@@ -21827,10 +21853,6 @@ function createFreePiCommandsExtension(opts) {
21827
21853
  description: "Update free-pi-cli to the latest version.",
21828
21854
  handler: (_args, ctx) => runUpdate(ctx)
21829
21855
  });
21830
- pi.registerCommand("login", {
21831
- description: "Sign in with GitHub to unlock daily credits and a comeback bonus.",
21832
- handler: (_args, ctx) => runLogin(opts, ctx)
21833
- });
21834
21856
  pi.registerCommand("usage", {
21835
21857
  description: "Show credits left today, refill time, and purchased credit.",
21836
21858
  handler: (_args, ctx) => showUsage(opts, ctx)
@@ -23894,10 +23916,10 @@ process.env.PI_SKIP_VERSION_CHECK = "1";
23894
23916
  process.env.PI_TELEMETRY = "0";
23895
23917
  patchResumeLine(process.stdout);
23896
23918
  function pickerScopeFor(modelRuntime, opts) {
23897
- return [
23898
- ...resolveFreePiScope(modelRuntime, PROVIDER_NAME, catalogModelsFor(opts).map((m) => m.id)),
23899
- ...resolveFreePiScope(modelRuntime, DEFENSE_PROVIDER_NAME, defenseModelsFor(opts).map((m) => m.id))
23900
- ];
23919
+ const main = resolveFreePiScope(modelRuntime, PROVIDER_NAME, catalogModelsFor(opts).map((m) => m.id));
23920
+ const defense = resolveFreePiScope(modelRuntime, DEFENSE_PROVIDER_NAME, defenseModelsFor(opts).map((m) => m.id));
23921
+ const fusion = main.filter((s) => s.model.id === FUSION_PICKER_ID);
23922
+ return [...fusion, ...defense, ...main.filter((s) => !fusion.includes(s))];
23901
23923
  }
23902
23924
  async function launchPi(opts) {
23903
23925
  const cwd = process.cwd();
@@ -23941,6 +23963,12 @@ async function launchPi(opts) {
23941
23963
  initialMessages: []
23942
23964
  });
23943
23965
  installBugHandler(mode, { baseUrl: opts.baseUrl, getToken: () => opts.jwt });
23966
+ installLoginHandler(mode, {
23967
+ baseUrl: opts.baseUrl,
23968
+ getToken: () => opts.jwt,
23969
+ credentialsPath: opts.credentialsPath,
23970
+ agentDir: opts.agentDir
23971
+ });
23944
23972
  installFooterRightAlign(mode);
23945
23973
  await mode.run();
23946
23974
  return sm.getSessionId();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-pi-cli",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "Free, ad-supported distribution of the pi coding agent. Inference paid for by ads.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: security-audit
2
+ name: freepi-security-audit
3
3
  description: Security guidance and vulnerability review for codebases, APIs, services, CLI tools, libraries, and daemons. Use for security questions, focused reviews, vulnerability research, security audits, or pen tests. Run the complete workflow only for explicit codebase audit or pen-test requests, full/comprehensive/end-to-end reviews, or requested report artifacts. Runs entirely in one agent, in the main thread; it never uses sub-agents.
4
4
  ---
5
5