instar 1.3.804 → 1.3.806

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 (32) hide show
  1. package/dashboard/index.html +19 -1
  2. package/dashboard/subscriptions.js +513 -67
  3. package/dist/commands/server.d.ts.map +1 -1
  4. package/dist/commands/server.js +43 -0
  5. package/dist/commands/server.js.map +1 -1
  6. package/dist/core/CoherenceJournal.d.ts +14 -0
  7. package/dist/core/CoherenceJournal.d.ts.map +1 -1
  8. package/dist/core/CoherenceJournal.js +33 -0
  9. package/dist/core/CoherenceJournal.js.map +1 -1
  10. package/dist/core/EnrollmentWizard.d.ts +23 -0
  11. package/dist/core/EnrollmentWizard.d.ts.map +1 -1
  12. package/dist/core/EnrollmentWizard.js +42 -1
  13. package/dist/core/EnrollmentWizard.js.map +1 -1
  14. package/dist/core/JournalSyncApplier.d.ts +14 -0
  15. package/dist/core/JournalSyncApplier.d.ts.map +1 -1
  16. package/dist/core/JournalSyncApplier.js +33 -0
  17. package/dist/core/JournalSyncApplier.js.map +1 -1
  18. package/dist/core/ReplicatedPeerStreamReader.d.ts +29 -1
  19. package/dist/core/ReplicatedPeerStreamReader.d.ts.map +1 -1
  20. package/dist/core/ReplicatedPeerStreamReader.js +175 -0
  21. package/dist/core/ReplicatedPeerStreamReader.js.map +1 -1
  22. package/dist/server/routes.d.ts.map +1 -1
  23. package/dist/server/routes.js +128 -30
  24. package/dist/server/routes.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/data/builtin-manifest.json +46 -46
  27. package/upgrades/1.3.805.md +41 -0
  28. package/upgrades/1.3.806.md +30 -0
  29. package/upgrades/eli16/replicated-witness-index.md +19 -0
  30. package/upgrades/side-effects/replicated-witness-index.md +83 -0
  31. package/upgrades/side-effects/subs-setup-flow-ux.md +79 -0
  32. package/upgrades/subs-setup-flow-ux.eli16.md +31 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwDH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA6H7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAgmDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAonBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2zmBtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwDH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA6H7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAgmDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAonBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAo2mBtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
@@ -4111,6 +4111,13 @@ export async function startServer(options) {
4111
4111
  stateDir: config.stateDir,
4112
4112
  registry: replicatedKindRegistry,
4113
4113
  selfMachineId: cjOwnMachineId,
4114
+ logger: (m) => console.log(pc.dim(` [ws2-witness-index] ${m}`)),
4115
+ });
4116
+ coherenceJournal.setReplicatedRecordCommitObserver((kind, entries) => {
4117
+ replicatedPeerStreamReader?.observeCommittedEntries(kind, entries);
4118
+ });
4119
+ journalSyncApplier?.setReplicatedRecordCommitObserver((_senderMachineId, kind, entries) => {
4120
+ replicatedPeerStreamReader?.observeCommittedEntries(kind, entries);
4114
4121
  });
4115
4122
  // Author-side HLC clock — persisted under the journal dir (atomic temp+rename)
4116
4123
  // so the merge total order survives restarts (§3.5). node = this machine's id.
@@ -12062,10 +12069,46 @@ export async function startServer(options) {
12062
12069
  // Background auto-reissue sweep — refreshes an expired login code without the
12063
12070
  // operator asking (the pi-live-test gap). Inert with no pending logins; the
12064
12071
  // timer is unref'd so it never holds the process open.
12072
+ // The SAME tick also runs the follow-me COMPLETION sweep (D5, topic 29836): a
12073
+ // sign-in that completed WITHOUT a paste-back code (the provider's already-
12074
+ // authorized short-circuit — "You're all set up… close this window") lands its
12075
+ // credential in the slot with nothing calling submit-code; the sweep detects the
12076
+ // landed credential and drives the identity-verified completion (S7 email gate —
12077
+ // a mismatch is HELD, never auto-enrolled) instead of waiting forever at a code
12078
+ // prompt. This makes the submit-code route's "the reissue/complete sweep finishes
12079
+ // it" contract true.
12065
12080
  const enrollReissueTimer = setInterval(() => {
12066
12081
  enrollmentWizard
12067
12082
  .reissueExpired()
12068
12083
  .catch(() => { });
12084
+ enrollmentWizard
12085
+ .sweepFollowMeCompletions({
12086
+ credentialReady: (l) => !!l.configHome && fs.existsSync(path.join(l.configHome, '.claude.json')),
12087
+ onValidated: (login, email) => {
12088
+ // Upsert (D5): a re-auth of an EXISTING pool account updates it back to
12089
+ // active; only a genuinely-new account is added (add() refuses dup ids).
12090
+ if (subscriptionPool.get(login.id)) {
12091
+ subscriptionPool.update(login.id, {
12092
+ nickname: login.label, status: 'active', email,
12093
+ ...(login.configHome ? { configHome: login.configHome } : {}),
12094
+ });
12095
+ }
12096
+ else {
12097
+ subscriptionPool.add({
12098
+ id: login.id, nickname: login.label, provider: login.provider,
12099
+ framework: login.framework, configHome: login.configHome ?? '', status: 'active', email,
12100
+ });
12101
+ }
12102
+ console.log(`[follow-me] completion-sweep outcome=validated id=${login.id}`);
12103
+ },
12104
+ })
12105
+ .then((results) => {
12106
+ for (const r of results) {
12107
+ if (r.outcome === 'held')
12108
+ console.warn(`[follow-me] completion-sweep outcome=held id=${r.id}`);
12109
+ }
12110
+ })
12111
+ .catch(() => { });
12069
12112
  }, config.subscriptionPool?.enrollment?.reissueSweepMs ?? 5 * 60_000);
12070
12113
  if (enrollReissueTimer.unref)
12071
12114
  enrollReissueTimer.unref();