fivocell 8.12.0 → 8.12.2

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.
@@ -37,6 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  };
38
38
  })();
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.SYNC_CATEGORY_LABELS = void 0;
40
41
  exports.loadConfig = loadConfig;
41
42
  exports.saveConfig = saveConfig;
42
43
  exports.deleteConfig = deleteConfig;
@@ -51,6 +52,22 @@ exports.cloudStatus = cloudStatus;
51
52
  exports.getLocalPacks = getLocalPacks;
52
53
  exports.getPackById = getPackById;
53
54
  exports.cloudHealthCheck = cloudHealthCheck;
55
+ exports.loadSyncScope = loadSyncScope;
56
+ exports.saveSyncScope = saveSyncScope;
57
+ exports.getSyncScopeEntry = getSyncScopeEntry;
58
+ exports.setSyncScopeEntry = setSyncScopeEntry;
59
+ exports.canSyncPersonal = canSyncPersonal;
60
+ exports.canSyncTeam = canSyncTeam;
61
+ exports.canSyncCommunity = canSyncCommunity;
62
+ exports.redactSensitiveData = redactSensitiveData;
63
+ exports.redactObject = redactObject;
64
+ exports.getJwt = getJwt;
65
+ exports.getOrCreateDeviceRegistration = getOrCreateDeviceRegistration;
66
+ exports.registerDevice = registerDevice;
67
+ exports.cloudPushHandoff = cloudPushHandoff;
68
+ exports.syncHandoffs = syncHandoffs;
69
+ exports.cloudPushScoped = cloudPushScoped;
70
+ exports.cloudLoginWithRegistration = cloudLoginWithRegistration;
54
71
  const crypto = __importStar(require("crypto"));
55
72
  const fs = __importStar(require("fs"));
56
73
  const path = __importStar(require("path"));
@@ -468,4 +485,518 @@ async function cloudHealthCheck(config) {
468
485
  return false;
469
486
  }
470
487
  }
488
+ // ═══════════════════════════════════════════════════════════════════════════
489
+ // PHASE 2: OPT-IN SYNC SCOPE + PRIVACY REDACTOR + JWT REFRESH + HANDOFF
490
+ // ═══════════════════════════════════════════════════════════════════════════
491
+ // ── Sync Scope Config ───────────────────────────────────────────────────────
492
+ const SYNC_SCOPE_PATH = path.join(os.homedir(), '.fivo', 'cell', 'sync-scope.json');
493
+ const DEFAULT_SYNC_SCOPES = [
494
+ { category: 'vibe', enabled: true, scopes: ['personal'] },
495
+ { category: 'patterns', enabled: true, scopes: ['personal'] },
496
+ { category: 'memory', enabled: true, scopes: ['personal'] },
497
+ { category: 'sessions', enabled: true, scopes: ['personal'] },
498
+ { category: 'handoffs', enabled: true, scopes: ['personal'] },
499
+ { category: 'profile', enabled: true, scopes: ['personal'] },
500
+ ];
501
+ /** Category labels for CLI display */
502
+ exports.SYNC_CATEGORY_LABELS = {
503
+ vibe: 'Vibe (personality, tone, style)',
504
+ patterns: 'Code patterns, workflow preferences',
505
+ memory: 'Important events, milestones',
506
+ sessions: 'AI session summaries',
507
+ handoffs: 'AI-to-AI handoff context',
508
+ profile: 'Profile identity (language, framework)',
509
+ };
510
+ /** Load sync scope config from ~/.fivo/cell/sync-scope.json.
511
+ * Returns defaults if no config exists, preserving any existing selections. */
512
+ function loadSyncScope() {
513
+ try {
514
+ if (fs.existsSync(SYNC_SCOPE_PATH)) {
515
+ const raw = JSON.parse(fs.readFileSync(SYNC_SCOPE_PATH, 'utf-8'));
516
+ if (raw.version === 1 && Array.isArray(raw.selections) && raw.selections.length > 0) {
517
+ return raw;
518
+ }
519
+ }
520
+ }
521
+ catch { }
522
+ // Return defaults
523
+ return { version: 1, selections: DEFAULT_SYNC_SCOPES, updatedAt: new Date().toISOString() };
524
+ }
525
+ /** Save sync scope config */
526
+ function saveSyncScope(scope) {
527
+ try {
528
+ const dir = path.dirname(SYNC_SCOPE_PATH);
529
+ if (!fs.existsSync(dir))
530
+ fs.mkdirSync(dir, { recursive: true });
531
+ scope.updatedAt = new Date().toISOString();
532
+ // Atomic write
533
+ const tmp = SYNC_SCOPE_PATH + '.tmp';
534
+ fs.writeFileSync(tmp, JSON.stringify(scope, null, 2), 'utf-8');
535
+ fs.renameSync(tmp, SYNC_SCOPE_PATH);
536
+ try {
537
+ fs.chmodSync(SYNC_SCOPE_PATH, 0o600);
538
+ }
539
+ catch { }
540
+ }
541
+ catch { }
542
+ }
543
+ /** Get a specific category entry from scope config */
544
+ function getSyncScopeEntry(category) {
545
+ const scope = loadSyncScope();
546
+ const entry = scope.selections.find(s => s.category === category);
547
+ return entry || { category, enabled: true, scopes: ['personal'] };
548
+ }
549
+ /** Update a specific category entry */
550
+ function setSyncScopeEntry(category, enabled, scopes) {
551
+ const scope = loadSyncScope();
552
+ const idx = scope.selections.findIndex(s => s.category === category);
553
+ if (idx >= 0) {
554
+ scope.selections[idx] = { category, enabled, scopes };
555
+ }
556
+ else {
557
+ scope.selections.push({ category, enabled, scopes });
558
+ }
559
+ saveSyncScope(scope);
560
+ }
561
+ /** Check if a category can sync to personal scope */
562
+ function canSyncPersonal(category) {
563
+ const entry = getSyncScopeEntry(category);
564
+ return entry.enabled && entry.scopes.includes('personal');
565
+ }
566
+ /** Check if a category can sync to team scope */
567
+ function canSyncTeam(category) {
568
+ const entry = getSyncScopeEntry(category);
569
+ return entry.enabled && entry.scopes.includes('team');
570
+ }
571
+ /** Check if a category can sync to community scope (only vibe + patterns) */
572
+ function canSyncCommunity(category) {
573
+ if (category !== 'vibe' && category !== 'patterns')
574
+ return false;
575
+ const entry = getSyncScopeEntry(category);
576
+ return entry.enabled && entry.scopes.includes('community');
577
+ }
578
+ // ── Privacy Redactor (13+ Secret Patterns) ─────────────────────────────────
579
+ /** 13+ forbidden pattern types caught before any cloud sync.
580
+ * These patterns strip anything that could expose secrets, paths, or PII. */
581
+ const REDACTOR_PATTERNS = [
582
+ // 1. API keys & tokens (sk-..., fv_..., GitHub PATs)
583
+ { name: 'api_key', regex: /['"]?(?:sk|fk|pk|tk|ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{20,}['"]?/g },
584
+ // 2. AWS / cloud credentials
585
+ { name: 'aws_key', regex: /(?:AKIA|ASIA)[A-Z0-9]{16}/g },
586
+ // 3. Private keys (RSA, EC, OPENSSH)
587
+ { name: 'private_key', regex: /-----BEGIN\s+(?:RSA\s+)?(?:EC\s+)?PRIVATE\s+KEY-----[\s\S]*?-----END\s+(?:RSA\s+)?(?:EC\s+)?PRIVATE\s+KEY-----/g },
588
+ // 4. Connection strings (mongodb+srv://, postgres://, mysql://)
589
+ { name: 'conn_string', regex: /(?:mongodb\+srv|postgres|mysql|redis):\/\/[^\s'"]+/g },
590
+ // 5. Environment variables with secrets
591
+ { name: 'env_secret', regex: /(?:DATABASE_URL|API_KEY|SECRET_KEY|PRIVATE_KEY|ACCESS_TOKEN|SESSION_SECRET)\s*[:=]\s*['"][^'"]+['"]/gi },
592
+ // 6. File system paths (absolute) — Windows \path\to\file and Unix /path/to/file
593
+ { name: 'abs_path', regex: new RegExp('(?:[A-Za-z]:\\\\[^\\s,;"]+|\\/[a-z][^\\s,;"]+)', 'g') },
594
+ // 7. Email addresses
595
+ { name: 'email', regex: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g },
596
+ // 8. IP addresses (private range)
597
+ { name: 'ip_addr', regex: /\b(?:10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(?:1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})\b/g },
598
+ // 9. Hostnames and server names
599
+ { name: 'hostname', regex: /\b(?:localhost|staging|production|prod|dev|test)\.(?:com|io|app|local|dev|net|org)\b/g },
600
+ // 10. Password / secret fields in JSON
601
+ { name: 'password_field', regex: /['"]password['"]\s*[:=]\s*['"][^'"]+['"]/gi },
602
+ // 11. Authorization headers / bearer tokens
603
+ { name: 'auth_header', regex: /(?:Authorization|Bearer|Basic)\s*:\s*[A-Za-z0-9+/=._-]{20,}/g },
604
+ // 12. JWT tokens
605
+ { name: 'jwt_token', regex: /eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}/g },
606
+ // 13. npm / .npmrc auth tokens
607
+ { name: 'npm_token', regex: /\/\/registry\.npmjs\.org\/:_authToken=[A-Za-z0-9-]{20,}/g },
608
+ // 14. CommandCode config paths
609
+ { name: 'config_path', regex: /~\/\.(?:commandcode|fivo|config|ssh|aws|azure|gcloud)/g },
610
+ // 15. Project/file names with sensitive context (e.g., "company-project", "payment-service")
611
+ { name: 'project_name', regex: /(?:company|payment|billing|auth|admin|finance|customer|invoice|secret|proprietary)[-_][a-z]+/gi },
612
+ ];
613
+ /** Redact any secret/confidential data from a string.
614
+ * Replaces matched patterns with '[REDACTED]' and returns the result. */
615
+ function redactSensitiveData(input) {
616
+ let data = input;
617
+ const blockedPatterns = [];
618
+ for (const { name, regex } of REDACTOR_PATTERNS) {
619
+ if (regex.test(data)) {
620
+ blockedPatterns.push(name);
621
+ data = data.replace(regex, `[REDACTED:${name}]`);
622
+ }
623
+ // Reset regex state
624
+ regex.lastIndex = 0;
625
+ }
626
+ return {
627
+ safe: blockedPatterns.length === 0,
628
+ redacted: blockedPatterns.length > 0,
629
+ blockedPatterns,
630
+ data,
631
+ };
632
+ }
633
+ /** Deep-redact an object before cloud push.
634
+ * Returns a new object with all sensitive fields stripped/redacted. */
635
+ function redactObject(obj) {
636
+ const serialized = JSON.stringify(obj);
637
+ const result = redactSensitiveData(serialized);
638
+ if (result.redacted) {
639
+ return JSON.parse(result.data);
640
+ }
641
+ return { ...obj };
642
+ }
643
+ // ── JWT Session Management ─────────────────────────────────────────────────
644
+ const JWT_SESSION_PATH = path.join(os.homedir(), '.fivo', 'cell', 'jwt-session.json');
645
+ function loadJwtSession() {
646
+ try {
647
+ if (fs.existsSync(JWT_SESSION_PATH)) {
648
+ return JSON.parse(fs.readFileSync(JWT_SESSION_PATH, 'utf-8'));
649
+ }
650
+ }
651
+ catch { }
652
+ return null;
653
+ }
654
+ function saveJwtSession(session) {
655
+ try {
656
+ const dir = path.dirname(JWT_SESSION_PATH);
657
+ if (!fs.existsSync(dir))
658
+ fs.mkdirSync(dir, { recursive: true });
659
+ const tmp = JWT_SESSION_PATH + '.tmp';
660
+ fs.writeFileSync(tmp, JSON.stringify(session, null, 2), 'utf-8');
661
+ fs.renameSync(tmp, JWT_SESSION_PATH);
662
+ try {
663
+ fs.chmodSync(JWT_SESSION_PATH, 0o600);
664
+ }
665
+ catch { }
666
+ }
667
+ catch { }
668
+ }
669
+ function isJwtExpired(session) {
670
+ return Date.now() >= session.expiresAt - 300_000; // 5 min grace period
671
+ }
672
+ async function refreshJwt(config, session) {
673
+ try {
674
+ const result = await cloudPost(config, '/auth/oss/refresh', {
675
+ deviceId: session.deviceId,
676
+ refreshToken: session.refreshToken || session.token,
677
+ });
678
+ const newToken = (result.token || result.jwt);
679
+ const expiresIn = result.expiresIn || 3600;
680
+ if (newToken) {
681
+ const newSession = {
682
+ token: newToken,
683
+ deviceId: session.deviceId,
684
+ expiresAt: Date.now() + (expiresIn * 1000),
685
+ refreshToken: session.refreshToken,
686
+ };
687
+ saveJwtSession(newSession);
688
+ return newSession;
689
+ }
690
+ }
691
+ catch { }
692
+ return null;
693
+ }
694
+ /** Get a fresh JWT — auto-refreshes if expired */
695
+ async function getJwt(config) {
696
+ const session = loadJwtSession();
697
+ if (session && !isJwtExpired(session)) {
698
+ return session.token;
699
+ }
700
+ if (session && isJwtExpired(session)) {
701
+ const refreshed = await refreshJwt(config, session);
702
+ if (refreshed)
703
+ return refreshed.token;
704
+ }
705
+ // Fallback: try login again using API key
706
+ const verify = await cloudVerify(config);
707
+ if (verify) {
708
+ const newSession = {
709
+ token: config.apiKey,
710
+ deviceId: config.deviceId,
711
+ expiresAt: Date.now() + 3600_000, // 1 hour
712
+ };
713
+ saveJwtSession(newSession);
714
+ return config.apiKey;
715
+ }
716
+ throw new Error('Unable to refresh JWT. Run `cell cloud login` again.');
717
+ }
718
+ // ── Rate Limit Backoff ─────────────────────────────────────────────────────
719
+ const RATE_LIMIT_WAIT = 60000; // 1 minute default
720
+ const MAX_BACKOFF = 300_000; // 5 minutes max
721
+ async function fetchWithRetry(url, options, retries = 3) {
722
+ let attempt = 0;
723
+ while (attempt <= retries) {
724
+ try {
725
+ const response = await fetch(url, { ...options, signal: AbortSignal.timeout(15000) });
726
+ if (response.status === 429) {
727
+ const retryAfter = parseInt(response.headers.get('retry-after') || '60', 10) * 1000;
728
+ const wait = Math.min(retryAfter, MAX_BACKOFF);
729
+ console.error(` ⏳ Rate limited. Retrying in ${Math.round(wait / 1000)}s...`);
730
+ await new Promise(r => setTimeout(r, wait));
731
+ attempt++;
732
+ continue;
733
+ }
734
+ return response;
735
+ }
736
+ catch (err) {
737
+ if (attempt < retries) {
738
+ const wait = Math.min(1000 * Math.pow(2, attempt), MAX_BACKOFF);
739
+ await new Promise(r => setTimeout(r, wait));
740
+ attempt++;
741
+ continue;
742
+ }
743
+ throw err;
744
+ }
745
+ }
746
+ throw new Error(`Request failed after ${retries + 1} attempts`);
747
+ }
748
+ // Re-export fetch functions with retry
749
+ async function cloudPostRetry(config, endpoint, body) {
750
+ const url = apiUrl(config, endpoint);
751
+ const data = JSON.stringify(body);
752
+ const response = await fetchWithRetry(url, {
753
+ method: 'POST',
754
+ headers: {
755
+ 'Authorization': `Bearer ${await getJwt(config)}`,
756
+ 'Content-Type': 'application/json',
757
+ 'X-Device-Id': config.deviceId,
758
+ },
759
+ body: data,
760
+ });
761
+ if (!response.ok) {
762
+ const text = await response.text();
763
+ throw new Error(`Cloud API error ${response.status}: ${text.substring(0, 100)}`);
764
+ }
765
+ return response.json();
766
+ }
767
+ async function cloudGetRetry(config, endpoint) {
768
+ const url = apiUrl(config, endpoint);
769
+ const response = await fetchWithRetry(url, {
770
+ method: 'GET',
771
+ headers: {
772
+ 'Authorization': `Bearer ${await getJwt(config)}`,
773
+ 'X-Device-Id': config.deviceId,
774
+ },
775
+ });
776
+ if (!response.ok) {
777
+ const text = await response.text();
778
+ throw new Error(`Cloud API error ${response.status}: ${text.substring(0, 100)}`);
779
+ }
780
+ return response.json();
781
+ }
782
+ // ── Device Registration ────────────────────────────────────────────────────
783
+ const DEVICE_REG_PATH = path.join(os.homedir(), '.fivo', 'cell', 'device.json');
784
+ function getOrCreateDeviceRegistration() {
785
+ try {
786
+ if (fs.existsSync(DEVICE_REG_PATH)) {
787
+ return JSON.parse(fs.readFileSync(DEVICE_REG_PATH, 'utf-8'));
788
+ }
789
+ }
790
+ catch { }
791
+ const reg = {
792
+ deviceId: getDeviceId(),
793
+ name: os.hostname(),
794
+ platform: `${os.platform()}-${os.arch()}`,
795
+ ossVersion: '8.12.0',
796
+ registeredAt: Date.now(),
797
+ };
798
+ try {
799
+ const dir = path.dirname(DEVICE_REG_PATH);
800
+ if (!fs.existsSync(dir))
801
+ fs.mkdirSync(dir, { recursive: true });
802
+ fs.writeFileSync(DEVICE_REG_PATH, JSON.stringify(reg, null, 2), 'utf-8');
803
+ try {
804
+ fs.chmodSync(DEVICE_REG_PATH, 0o600);
805
+ }
806
+ catch { }
807
+ }
808
+ catch { }
809
+ return reg;
810
+ }
811
+ /** Register device with cloud server. Non-fatal — best effort. */
812
+ async function registerDevice(config) {
813
+ try {
814
+ const reg = getOrCreateDeviceRegistration();
815
+ await cloudPostRetry(config, '/auth/oss/connect', {
816
+ deviceId: reg.deviceId,
817
+ name: reg.name,
818
+ platform: reg.platform,
819
+ ossVersion: reg.ossVersion,
820
+ });
821
+ return true;
822
+ }
823
+ catch {
824
+ return false;
825
+ }
826
+ }
827
+ // ── Handoff Push ───────────────────────────────────────────────────────────
828
+ /** Push an AI-to-AI handoff record to cloud.
829
+ * Only pushes if handoffs category has personal or team scope enabled.
830
+ * Returns false if scope blocks it. */
831
+ async function cloudPushHandoff(config, handoff) {
832
+ const entry = getSyncScopeEntry('handoffs');
833
+ if (!entry.enabled || !entry.scopes.includes('personal')) {
834
+ return false; // Scope blocks handoff sync
835
+ }
836
+ const redacted = redactObject(handoff);
837
+ try {
838
+ await cloudPostRetry(config, '/handoffs', redacted);
839
+ return true;
840
+ }
841
+ catch {
842
+ return false;
843
+ }
844
+ }
845
+ /** Push all pending handoffs from local DB to cloud.
846
+ * Called as part of cloud sync. */
847
+ async function syncHandoffs(config) {
848
+ const entry = getSyncScopeEntry('handoffs');
849
+ if (!entry.enabled || !entry.scopes.includes('personal'))
850
+ return 0;
851
+ let pushed = 0;
852
+ try {
853
+ const db = (0, database_1.getDb)();
854
+ const pending = db.prepare(`SELECT from_ai, to_ai, context_snapshot, session_id, device_id, ts
855
+ FROM handoffs WHERE synced = 0 OR synced IS NULL LIMIT 50`).all();
856
+ for (const h of pending) {
857
+ const handoff = {
858
+ fromAI: h.from_ai || 'unknown',
859
+ toAI: h.to_ai || 'unknown',
860
+ contextSnapshot: h.context_snapshot || '',
861
+ sessionId: h.session_id || '',
862
+ deviceId: h.device_id || config.deviceId,
863
+ ts: h.ts || Date.now(),
864
+ };
865
+ const ok = await cloudPushHandoff(config, handoff);
866
+ if (ok) {
867
+ db.prepare('UPDATE handoffs SET synced = 1 WHERE rowid = ?').run(h.rowid || h.session_id);
868
+ pushed++;
869
+ }
870
+ }
871
+ }
872
+ catch { }
873
+ return pushed;
874
+ }
875
+ // ── Scope-Aware Sync ───────────────────────────────────────────────────────
876
+ /** Enhanced cloudPush that respects sync scope + redaction.
877
+ * Pushes only categories user has opted into.
878
+ * Community scope = anonymized vibe + patterns only.
879
+ * Team scope = full categories to team endpoint.
880
+ * Personal scope = full categories to personal sync. */
881
+ async function cloudPushScoped(config) {
882
+ const warnings = [];
883
+ const personal = [];
884
+ const team = [];
885
+ const community = [];
886
+ const scope = loadSyncScope();
887
+ // Build intelligence bundle (already privacy-checked)
888
+ const { bundle, warnings: bw } = buildIntelligenceBundle(config);
889
+ warnings.push(...bw);
890
+ const { language, framework } = detectStack();
891
+ // ── 1. PERSONAL scope ─────────────────────────────────────────────
892
+ const personalCats = scope.selections.filter(s => s.enabled && s.scopes.includes('personal'));
893
+ if (personalCats.length > 0) {
894
+ try {
895
+ const patterns = bundle.anonymousSignals.map(s => ({
896
+ patternId: s.signal,
897
+ category: s.category,
898
+ confidence: s.confidence,
899
+ description: `signal from ${bundle.deviceId}`,
900
+ from: s.category,
901
+ to: s.signal,
902
+ signals: { positive: s.confidence, negative: 100 - s.confidence },
903
+ }));
904
+ await cloudPostRetry(config, '/sync/push', {
905
+ deviceId: config.deviceId,
906
+ teamId: config.teamId || null,
907
+ patterns,
908
+ signalCount: patterns.length,
909
+ language,
910
+ framework,
911
+ compressedAt: bundle.compressedAt,
912
+ categories: personalCats.map(c => c.category),
913
+ });
914
+ personal.push(...personalCats.map(c => c.category));
915
+ }
916
+ catch (e) {
917
+ warnings.push(`Personal sync failed: ${String(e).substring(0, 60)}`);
918
+ }
919
+ }
920
+ // ── 2. TEAM scope (only if teamId exists) ─────────────────────────
921
+ if (config.teamId) {
922
+ const teamCats = scope.selections.filter(s => s.enabled && s.scopes.includes('team'));
923
+ if (teamCats.length > 0) {
924
+ try {
925
+ // Team patterns — full context (team trust)
926
+ const teamPayload = {
927
+ teamId: config.teamId,
928
+ deviceId: config.deviceId,
929
+ patterns: bundle.anonymousSignals,
930
+ profile: bundle.profile,
931
+ memory: bundle.memorySummary.slice(0, 5),
932
+ categories: teamCats.map(c => c.category),
933
+ };
934
+ const redacted = redactObject(teamPayload);
935
+ await cloudPostRetry(config, `/team/patterns`, redacted);
936
+ team.push(...teamCats.map(c => c.category));
937
+ }
938
+ catch (e) {
939
+ warnings.push(`Team sync failed: ${String(e).substring(0, 60)}`);
940
+ }
941
+ }
942
+ }
943
+ // ── 3. COMMUNITY scope (anonymized — only vibe + patterns) ──────
944
+ const communityCats = scope.selections.filter(s => s.enabled && s.scopes.includes('community') && (s.category === 'vibe' || s.category === 'patterns'));
945
+ if (communityCats.length > 0) {
946
+ try {
947
+ // Only anonymous signals — NO memory, NO sessions, NO paths
948
+ for (const signal of bundle.anonymousSignals) {
949
+ const ingestPayload = {
950
+ category: signal.category,
951
+ language,
952
+ framework,
953
+ outcome: 'success',
954
+ confidence: signal.confidence / 100,
955
+ };
956
+ // Redact is extra safety — but anonymous signals already have no PII
957
+ const safe = redactObject(ingestPayload);
958
+ await cloudPostRetry(config, '/community/ingest', safe);
959
+ }
960
+ community.push('vibe', 'patterns');
961
+ }
962
+ catch (e) {
963
+ warnings.push(`Community sync failed: ${String(e).substring(0, 60)}`);
964
+ }
965
+ }
966
+ // ── 4. Handoffs ──────────────────────────────────────────────────
967
+ let handoffCount = 0;
968
+ try {
969
+ handoffCount = await syncHandoffs(config);
970
+ }
971
+ catch { }
972
+ // Update last sync
973
+ config.lastSync = new Date().toISOString();
974
+ saveConfig(config);
975
+ return {
976
+ pushed: personal.length > 0 || team.length > 0 || community.length > 0 || handoffCount > 0,
977
+ warnings,
978
+ personal,
979
+ team,
980
+ community,
981
+ handoffs: handoffCount,
982
+ };
983
+ }
984
+ // ── Device Registration on Login ───────────────────────────────────────────
985
+ /** Extended login with device registration + JWT session setup */
986
+ async function cloudLoginWithRegistration(email, password, cloudUrl) {
987
+ const config = await cloudLogin(email, password, cloudUrl);
988
+ // Register device (best-effort, non-fatal)
989
+ const deviceRegistered = await registerDevice(config);
990
+ if (!deviceRegistered) {
991
+ console.error(' ⚠ Device registration failed (non-fatal)');
992
+ }
993
+ // Setup JWT session
994
+ const jwtSession = {
995
+ token: config.apiKey,
996
+ deviceId: config.deviceId,
997
+ expiresAt: Date.now() + 3600_000, // 1 hour estimate
998
+ };
999
+ saveJwtSession(jwtSession);
1000
+ return config;
1001
+ }
471
1002
  //# sourceMappingURL=cloud-connector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-connector.js","sourceRoot":"","sources":["../../../../src/walls/05-community/share/cloud-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-connector.js","sourceRoot":"","sources":["../../../../src/walls/05-community/share/cloud-connector.ts"],"names":[],"mappings":"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"}