@onepointfour-packs/flaredeck-agent 0.2.39 → 0.2.40

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/hydrate.d.ts CHANGED
@@ -38,6 +38,20 @@ export type Hydrated = {
38
38
  name: string;
39
39
  why: string;
40
40
  }>;
41
+ /** The workspace's GitHub connection, when it has one — wins over this machine's github.json. */
42
+ github?: {
43
+ token: string;
44
+ login: string | null;
45
+ } | null;
46
+ /** The workspace's model keys (OpenRouter, Gemini) from Secrets. */
47
+ providers?: {
48
+ openrouter?: {
49
+ apiKey: string;
50
+ };
51
+ gemini?: {
52
+ apiKey: string;
53
+ };
54
+ } | null;
41
55
  /** What happened, for the log — including nothing, when nothing changed. */
42
56
  note?: string;
43
57
  };
@@ -54,6 +68,18 @@ export declare function hydrateMcpServers(config: Pick<Config, 'mcpServers'>, fe
54
68
  name: string;
55
69
  why: string;
56
70
  }>;
71
+ github?: {
72
+ token: string;
73
+ login: string | null;
74
+ } | null;
75
+ providers?: {
76
+ openrouter?: {
77
+ apiKey: string;
78
+ };
79
+ gemini?: {
80
+ apiKey: string;
81
+ };
82
+ } | null;
57
83
  } | {
58
84
  ok: false;
59
85
  why: string;
@@ -70,6 +96,18 @@ export declare function mcpConfigFetcher(mcpUrl: string, tenantId: string, auth:
70
96
  name: string;
71
97
  why: string;
72
98
  }>;
99
+ github?: {
100
+ token: string;
101
+ login: string | null;
102
+ } | null;
103
+ providers?: {
104
+ openrouter?: {
105
+ apiKey: string;
106
+ };
107
+ gemini?: {
108
+ apiKey: string;
109
+ };
110
+ } | null;
73
111
  } | {
74
112
  ok: false;
75
113
  why: string;
package/dist/hydrate.js CHANGED
@@ -48,6 +48,8 @@ export async function hydrateMcpServers(config, fetchConfig) {
48
48
  return {
49
49
  mcpServers: merged,
50
50
  missingRequired: answer.missingRequired ?? [],
51
+ github: answer.github ?? null,
52
+ providers: answer.providers ?? null,
51
53
  ...(parts.length ? { note: `MCP servers: ${parts.join(', ')}` } : {}),
52
54
  };
53
55
  }
@@ -67,7 +69,7 @@ export function mcpConfigFetcher(mcpUrl, tenantId, auth) {
67
69
  const body = (await res.json().catch(() => undefined));
68
70
  if (!res.ok)
69
71
  return { ok: false, why: String(body?.message ?? `HTTP ${res.status}`) };
70
- return { ok: true, servers: body?.mcpServers ?? [], missingRequired: body?.missingRequired ?? [] };
72
+ return { ok: true, servers: body?.mcpServers ?? [], missingRequired: body?.missingRequired ?? [], github: body?.github ?? null, providers: body?.providers ?? null };
71
73
  }
72
74
  catch (e) {
73
75
  return { ok: false, why: e instanceof Error ? e.message : String(e) };
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -23,7 +23,7 @@ import { serve } from './serve.js';
23
23
  import { Flaredeck } from './flaredeck.js';
24
24
  import { briefText, intake, intakeText } from './intake.js';
25
25
  import { createInterface } from 'node:readline/promises';
26
- import { loadProviders, saveProviders } from './providers.js';
26
+ import { loadLocalProviders, loadProviders, saveProviders } from './providers.js';
27
27
  import { removeSecret, secretNames, secretsPath, setSecret } from './secrets.js';
28
28
  import { loadJam, loginJam } from './jam.js';
29
29
  import { denyingDecider, readToolNames, terminalDecider } from './permissions.js';
@@ -293,8 +293,11 @@ async function cmdLogin(argv) {
293
293
  delete config.github;
294
294
  }
295
295
  }
296
- if (!config.github) {
297
- step(3, 'GitHub', 'So this machine can push branches and open pull requests. The agent never sees this token.');
296
+ /* Only when asked for. GitHub is connected once in FlareDeck (Integrations → GitHub) and every
297
+ agent uses that — a machine needs no login of its own. `login --github` / `--github-token`
298
+ remain for a machine that deliberately keeps a local one. */
299
+ if (!config.github && argv.includes('--github')) {
300
+ step(3, 'GitHub', 'A login for this machine only. Usually unnecessary: connect GitHub once in FlareDeck instead.');
298
301
  try {
299
302
  config.github = await authorizeGitHub(say);
300
303
  stdinAt('after github');
@@ -317,7 +320,7 @@ async function cmdLogin(argv) {
317
320
  // save: each card names its repository, and each repo answers for its own base branch.
318
321
  const found = hasGit ? [] : await checkouts(config.repo);
319
322
  if (found.length > 1) {
320
- step(4, 'Repositories', `This folder holds ${found.length} repositories. Tick the ones this agent may work in — each card's Component says which one a card is for, and each repo answers for its own base branch, so there is no branch to choose here.`);
323
+ step(3, 'Repositories', `This folder holds ${found.length} repositories. Tick the ones this agent may work in — each card's Component says which one a card is for, and each repo answers for its own base branch, so there is no branch to choose here.`);
321
324
  const picked = await askRepos(config.repo, say, config.repos);
322
325
  if (picked) {
323
326
  if (picked.length)
@@ -327,23 +330,23 @@ async function cmdLogin(argv) {
327
330
  }
328
331
  }
329
332
  else if (found.length === 1) {
330
- step(4, 'Repositories', `One repository in this folder: ${found[0].name}.`);
333
+ step(3, 'Repositories', `One repository in this folder: ${found[0].name}.`);
331
334
  }
332
335
  else if (!hasGit) {
333
- step(4, 'Branch', 'No git repository here and none in this folder, so this agent will have no checkout — right for a lead, wrong for a worker.');
336
+ step(3, 'Branch', 'No git repository here and none in this folder, so this agent will have no checkout — right for a lead, wrong for a worker.');
334
337
  }
335
338
  else if (declared) {
336
- step(4, 'Branch', `This repo declares its base branch (${declared}), so there is nothing to choose.`);
339
+ step(3, 'Branch', `This repo declares its base branch (${declared}), so there is nothing to choose.`);
337
340
  }
338
341
  else if (flag(argv, '--branch')) {
339
342
  // Said outright, so nothing has to be asked. Three logins died at the branch question
340
343
  // today — twice for a reader that had been closed under it — and a prompt that can be
341
344
  // skipped is one that cannot strand anybody.
342
345
  config.baseBranch = flag(argv, '--branch');
343
- step(4, 'Branch', `Given on the command line: ${config.baseBranch}.`);
346
+ step(3, 'Branch', `Given on the command line: ${config.baseBranch}.`);
344
347
  }
345
348
  else if (!config.baseBranch) {
346
- step(4, 'Branch', 'Where new work is cut from and merged back into. Cards in a production-fix environment use the board\'s fix branch instead.');
349
+ step(3, 'Branch', 'Where new work is cut from and merged back into. Cards in a production-fix environment use the board\'s fix branch instead.');
347
350
  stdinAt('before branch');
348
351
  const picked = await askBaseBranch(config.repo, say, loginReader());
349
352
  stdinAt('after branch');
@@ -351,7 +354,7 @@ async function cmdLogin(argv) {
351
354
  config.baseBranch = picked;
352
355
  }
353
356
  else {
354
- step(4, 'Branch', `Already chosen on this machine: ${config.baseBranch}.`);
357
+ step(3, 'Branch', `Already chosen on this machine: ${config.baseBranch}.`);
355
358
  }
356
359
  /**
357
360
  * The key behind the command guard. Asked here rather than left to `providers`, because the
@@ -362,24 +365,8 @@ async function cmdLogin(argv) {
362
365
  * Machine-wide, not saved in this agent's config — a key is a billing relationship, and a
363
366
  * config file copied to another box should carry no third-party credential.
364
367
  */
365
- const providers = loadProviders();
366
- if (!providers.openrouter?.apiKey) {
367
- step(5, 'Command guard', 'An OpenRouter key lets Jev judge risky shell commands — it refuses the irreversible ones and lets the rest run, for a fraction of a cent each. WITHOUT one the guard still runs, but every risky command stops and asks you in person. Get one at https://openrouter.ai/keys. Enter to skip.');
368
- if (process.stdin.isTTY) {
369
- // The login's one reader; it is closed once at the end, not here.
370
- const entered = (await loginReader().question('OpenRouter key (sk-or-…), or Enter to skip: ')).trim();
371
- if (entered) {
372
- saveProviders({ ...providers, openrouter: { apiKey: entered } });
373
- say('✓ Saved — the guard will judge commands instead of interrupting you');
374
- }
375
- else {
376
- say(' Skipped — and the agent will REFUSE TO START without it. Add one with: flaredeck-agent providers --openrouter sk-or-…');
377
- }
378
- }
379
- }
380
- else {
381
- step(5, 'Command guard', 'On, with an OpenRouter key already set on this machine.');
382
- }
368
+ // No OpenRouter question: the key lives in FlareDeck (Integrations → Secrets) and every machine
369
+ // gets it. `flaredeck-agent providers --openrouter …` still sets a machine-only one.
383
370
  const path = saveConfig(config);
384
371
  // Saved BEFORE the optional steps below. One of them crashed partway through and took the
385
372
  // whole login with it — the agent had signed into Claude, FlareDeck and GitHub, and ended
@@ -392,61 +379,8 @@ async function cmdLogin(argv) {
392
379
  // afterwards, asking again about Jam and about design tools that were connected weeks ago. On
393
380
  // a headless box that is worse than noise: the optional sign-ins wait on a browser that is not
394
381
  // there.
395
- const targeted = argv.includes('--github') || !!givenToken;
396
- if (process.stdin.isTTY && !targeted) {
397
- const { loadJam, loginJam } = await import('./jam.js');
398
- const { connectInteractive } = await import('./connect.js');
399
- const already = new Set((config.mcpServers ?? []).map((m) => m.name));
400
- const rl = loginReader();
401
- try {
402
- const yes = async (q) => /^y/i.test((await rl.question(`${q} [y/N] `)).trim());
403
- step(6, 'Jam', 'Cards here often link a Jam recording. Without this an agent cannot start one at all — the recording is the card.');
404
- if (loadJam())
405
- say(' Already connected.');
406
- else if (await yes(' Connect Jam now?')) {
407
- try {
408
- await loginJam(say, rl);
409
- say('✓ Jam connected');
410
- }
411
- catch (e) {
412
- say(` Not connected (${e instanceof Error ? e.message.split('\n')[0] : String(e)}) — later: flaredeck-agent login --jam`);
413
- }
414
- }
415
- else
416
- say(' Skipped — later: flaredeck-agent login --jam');
417
- const { KNOWN_MCP } = await import('./connect.js');
418
- step(7, 'Other tools', 'Neither is required, and both sign in the same way FlareDeck just did.');
419
- for (const [name, port] of [['cnjure', 41791], ['sceneflo', 41792]]) {
420
- if (already.has(name)) {
421
- say(` ${name}: already connected.`);
422
- continue;
423
- }
424
- const known = KNOWN_MCP[name];
425
- // The address is known, so it is offered rather than asked for. A different one can still
426
- // be typed — a self-hosted instance, or a staging one.
427
- const answer = (await rl.question(` Connect ${name}? ${known?.what ?? ''} [y/N] `)).trim();
428
- if (!answer || /^n/i.test(answer))
429
- continue;
430
- // No URL is asked for: these have one address, and a machine that needs a different one
431
- // (self-hosted, staging) says so with `flaredeck-agent connect <name> <url>` afterwards.
432
- const url = known?.url;
433
- if (!url)
434
- continue;
435
- try {
436
- await connectInteractive(name, url, port, say, (q) => rl.question(q), rl);
437
- }
438
- catch (e) {
439
- // Optional means optional: one that will not connect is reported and stepped over, not
440
- // a reason the agent ends up with no login at all.
441
- say(` ${name} not connected (${e instanceof Error ? e.message.split('\n')[0] : String(e)}).`);
442
- say(` Later, on its own: flaredeck-agent connect ${name}`);
443
- }
444
- }
445
- }
446
- finally {
447
- closeReader();
448
- }
449
- }
382
+ // No Jam or tool sign-ins either: MCP servers (Jam, Conjure, Sceneflo…) are connected once in
383
+ // FlareDeck (Integrations → MCP servers) and every agent gets them each session.
450
384
  closeReader();
451
385
  const who = identityOf(config) ?? 'unknown';
452
386
  say('\n── Done ' + '─'.repeat(63));
@@ -458,11 +392,30 @@ async function cmdLogin(argv) {
458
392
  say(` Branch ${declared ?? config.baseBranch ?? (hasGit ? 'not set' : inScope.length ? "each repo's own" : 'n/a')}`);
459
393
  // Worth stating either way: "every board" is the thing a person is usually surprised by.
460
394
  say(` Boards ${config.boards?.length ? config.boards.map((b) => b.name).join(', ') : 'every board on this account'}`);
461
- say(` Guard ${loadProviders().openrouter?.apiKey ? 'Jev judges risky commands' : 'on, but every risky command will ask you (no OpenRouter key)'}`);
462
395
  say(` Approvals via FlareDeck, as ${who}`);
463
396
  say(` Saved ${path}`);
464
- const { extrasSummary } = await import('./extras.js');
465
- say(extrasSummary());
397
+ /* Everything else comes from the workspace. Said here, so a gap is seen at setup — not on the
398
+ first card that needs it. */
399
+ try {
400
+ const { mcpConfigFetcher } = await import('./hydrate.js');
401
+ const tenant = tenantOf(config);
402
+ const auth = () => freshAccessToken(mcpOrigin(config), config.oauth, (next) => { config.oauth = next; saveConfig(config); });
403
+ const ws = tenant && config.oauth ? await mcpConfigFetcher(config.mcpUrl, tenant, auth)() : null;
404
+ if (ws?.ok) {
405
+ const missing = 'not set — add it on FlareDeck → Integrations';
406
+ say('\n From FlareDeck (nothing else to set up on this machine):');
407
+ say(` GitHub ${ws.github ? `@${ws.github.login ?? 'connected'}` : config.github ? 'this machine\'s own login' : missing}`);
408
+ say(` Guard ${ws.providers?.openrouter || loadLocalProviders().openrouter?.apiKey ? 'Jev judges risky commands (OpenRouter)' : `${missing} → Secrets → OpenRouter API key`}`);
409
+ say(` Gemini ${ws.providers?.gemini || loadLocalProviders().gemini?.apiKey ? 'set' : 'not set (optional)'}`);
410
+ say(` MCP ${ws.servers.length ? ws.servers.map((m) => m.name).join(', ') : 'none yet'}`);
411
+ if (ws.missingRequired?.length)
412
+ say(` ⚠ Required but not connected: ${ws.missingRequired.map((m) => m.name).join(', ')}`);
413
+ }
414
+ else {
415
+ say('\n Could not ask FlareDeck what it provides — the agent will on start.');
416
+ }
417
+ }
418
+ catch { /* the summary is information, never a reason the login fails */ }
466
419
  say('');
467
420
  say('Start it with: flaredeck-agent Check it with: flaredeck-agent whoami');
468
421
  // A login is over once it has printed this. Something from the sign-ins — a socket a browser
@@ -814,13 +767,38 @@ async function cmdServe(argv) {
814
767
  // happens before any work is claimed rather than in the middle of it.
815
768
  // Nor should it start if it cannot publish what it writes. Same reasoning as the judge above,
816
769
  // and the same moment: before a card is claimed rather than twenty minutes into one.
770
+ /* What the WORKSPACE provides, asked once before the checks below: a machine that only logged in
771
+ to FlareDeck has no github.json and no providers.json, and must not be refused for lacking
772
+ what FlareDeck holds for it. Null when FlareDeck cannot be asked — then the machine's own
773
+ answers decide, as before. */
774
+ const workspace = await (async () => {
775
+ if (!config.oauth)
776
+ return null;
777
+ try {
778
+ const { mcpConfigFetcher } = await import('./hydrate.js');
779
+ const tenant = tenantOf(config);
780
+ if (!tenant)
781
+ return null;
782
+ const auth = () => freshAccessToken(mcpOrigin(config), config.oauth, (next) => { config.oauth = next; saveConfig(config); });
783
+ const got = await mcpConfigFetcher(config.mcpUrl, tenant, auth)();
784
+ return got.ok ? got : null;
785
+ }
786
+ catch {
787
+ return null;
788
+ }
789
+ })();
790
+ if (workspace) {
791
+ const { setProvidersFromFlaredeck } = await import('./providers.js');
792
+ setProvidersFromFlaredeck(workspace.providers);
793
+ }
817
794
  {
818
795
  const { canPublish } = await import('./githubauth.js');
819
- const why = await canPublish(config.github);
796
+ // FlareDeck's GitHub connection counts — checked, never written into config (and so to disk).
797
+ const why = workspace?.github ? await canPublish({ accessToken: workspace.github.token }) : await canPublish(config.github);
820
798
  // No login at all is a setup step somebody at this keyboard skipped: say so and stop. A login
821
799
  // GitHub now refuses is different — the agent starts PAUSED, hands its cards back and tells its
822
800
  // lead, rather than exiting in a pane nobody is watching. See serve.ts `walls`.
823
- if (why && !config.github?.accessToken)
801
+ if (why && !config.github?.accessToken && !workspace?.github)
824
802
  die(why);
825
803
  }
826
804
  if (!loadProviders().openrouter?.apiKey && process.env['FLAREDECK_AGENT_NO_JEV'] !== '1') {
@@ -828,7 +806,8 @@ async function cmdServe(argv) {
828
806
  'Every command that looks risky would be sent to a person for approval, and an agent running\n' +
829
807
  'unattended has no person: each one waits ten minutes and is then refused. The agent is told\n' +
830
808
  'only "not approved", so it cannot tell a dangerous command from a misconfigured machine.\n\n' +
831
- 'Set one and start again:\n\n' +
809
+ 'Set one and start again — once for every machine, in FlareDeck (Integrations → Secrets →\n' +
810
+ 'OpenRouter API key), or just for this one:\n\n' +
832
811
  ' flaredeck-agent providers --openrouter sk-or-…\n\n' +
833
812
  'It costs a fraction of a cent per judgement. If you genuinely want every risky command to\n' +
834
813
  'stop and ask, run with FLAREDECK_AGENT_NO_JEV=1 and somebody at the keyboard.');
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -22,5 +22,15 @@ export type Providers = {
22
22
  */
23
23
  brief?: 'haiku' | 'gemini';
24
24
  };
25
+ export declare function setProvidersFromFlaredeck(p: {
26
+ openrouter?: {
27
+ apiKey: string;
28
+ };
29
+ gemini?: {
30
+ apiKey: string;
31
+ };
32
+ } | null | undefined): void;
25
33
  export declare function loadProviders(): Providers;
34
+ /** What this machine's own providers.json says, without anything from FlareDeck. */
35
+ export declare function loadLocalProviders(): Providers;
26
36
  export declare function saveProviders(p: Providers): string;
package/dist/providers.js CHANGED
@@ -2,7 +2,30 @@ import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'n
2
2
  import { homedir } from 'node:os';
3
3
  import { dirname, join } from 'node:path';
4
4
  const providersPath = () => join(process.env['XDG_CONFIG_HOME'] || join(homedir(), '.config'), 'flaredeck-agent', 'providers.json');
5
+ /**
6
+ * Keys set in FlareDeck (Integrations → Secrets, purpose openrouter / gemini), fetched at start and
7
+ * every session. They WIN over providers.json — the same rule as MCP servers: a key rotated in
8
+ * FlareDeck must not be shadowed by a stale copy on one machine. A machine with no FlareDeck key
9
+ * keeps using its own file, exactly as before.
10
+ */
11
+ let fromFlaredeck = {};
12
+ export function setProvidersFromFlaredeck(p) {
13
+ fromFlaredeck = {
14
+ ...(p?.openrouter?.apiKey ? { openrouter: { apiKey: p.openrouter.apiKey } } : {}),
15
+ ...(p?.gemini?.apiKey ? { gemini: { apiKey: p.gemini.apiKey } } : {}),
16
+ };
17
+ }
5
18
  export function loadProviders() {
19
+ const local = loadLocalProviders();
20
+ return {
21
+ ...local,
22
+ ...(fromFlaredeck.openrouter ? { openrouter: fromFlaredeck.openrouter } : {}),
23
+ // The model choice stays the machine's: FlareDeck holds the key, not the preference.
24
+ ...(fromFlaredeck.gemini ? { gemini: { ...fromFlaredeck.gemini, ...(local.gemini?.model ? { model: local.gemini.model } : {}) } } : {}),
25
+ };
26
+ }
27
+ /** What this machine's own providers.json says, without anything from FlareDeck. */
28
+ export function loadLocalProviders() {
6
29
  try {
7
30
  if (!existsSync(providersPath()))
8
31
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAsB1C,MAAM,aAAa,GAAG,GAAW,EAAE,CACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AAE1G,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAc,CAAC;QAC3E,OAAO;YACL,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClI,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAY;IACxC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1F,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}