faux-studio 0.4.4 → 0.4.5

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 (2) hide show
  1. package/dist/index.js +16 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -10483,23 +10483,34 @@ var FileCredentialStore = class {
10483
10483
  var KeychainCredentialStore = class {
10484
10484
  name = "keychain";
10485
10485
  entry;
10486
+ cached = void 0;
10486
10487
  constructor(entry) {
10487
10488
  this.entry = entry;
10488
10489
  }
10489
10490
  async load() {
10491
+ if (this.cached !== void 0) return this.cached;
10490
10492
  try {
10491
10493
  const raw = await this.entry.getPassword();
10492
- if (!raw) return null;
10494
+ if (!raw) {
10495
+ this.cached = null;
10496
+ return null;
10497
+ }
10493
10498
  const creds = JSON.parse(raw);
10494
- if (!creds.jwt || !creds.refreshToken || !creds.user) return null;
10499
+ if (!creds.jwt || !creds.refreshToken || !creds.user) {
10500
+ this.cached = null;
10501
+ return null;
10502
+ }
10503
+ this.cached = creds;
10495
10504
  return creds;
10496
10505
  } catch {
10506
+ this.cached = null;
10497
10507
  return null;
10498
10508
  }
10499
10509
  }
10500
10510
  async save(creds) {
10501
10511
  try {
10502
10512
  await this.entry.setPassword(JSON.stringify(creds));
10513
+ this.cached = creds;
10503
10514
  } catch (err) {
10504
10515
  warn(`Could not save to keychain: ${err instanceof Error ? err.message : err}`);
10505
10516
  }
@@ -10507,6 +10518,7 @@ var KeychainCredentialStore = class {
10507
10518
  async clear() {
10508
10519
  try {
10509
10520
  await this.entry.deletePassword();
10521
+ this.cached = null;
10510
10522
  } catch {
10511
10523
  }
10512
10524
  }
@@ -25937,7 +25949,7 @@ Resources provide quick read-only access to Figma state without tool calls:
25937
25949
  - Create components for reusable UI patterns.`;
25938
25950
  function createMcpServer(deps) {
25939
25951
  const server2 = new Server(
25940
- { name: "faux-studio", version: "0.4.4" },
25952
+ { name: "faux-studio", version: "0.4.5" },
25941
25953
  {
25942
25954
  capabilities: { tools: { listChanged: true }, resources: {}, logging: {} },
25943
25955
  instructions: INSTRUCTIONS
@@ -26408,7 +26420,7 @@ Call setup_figma again once the plugin shows "Ready".`,
26408
26420
  };
26409
26421
  }
26410
26422
  async function main() {
26411
- log(`faux-studio v${"0.4.4"}`);
26423
+ log(`faux-studio v${"0.4.5"}`);
26412
26424
  try {
26413
26425
  const port = await pluginServer.start();
26414
26426
  if (forceTransport === "plugin") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "faux-studio",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "AI-powered Figma design via MCP — connect any AI client to Figma Desktop",
5
5
  "type": "module",
6
6
  "bin": {