instar 1.3.928 → 1.3.930
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +8 -7
- package/dist/commands/server.js.map +1 -1
- package/dist/core/PostUpdateMigrator.js +1 -1
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/WorktreeManager.d.ts +22 -0
- package/dist/core/WorktreeManager.d.ts.map +1 -1
- package/dist/core/WorktreeManager.js +107 -0
- package/dist/core/WorktreeManager.js.map +1 -1
- package/dist/monitoring/CoherenceMonitor.d.ts.map +1 -1
- package/dist/monitoring/CoherenceMonitor.js +2 -1
- package/dist/monitoring/CoherenceMonitor.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +19 -19
- package/upgrades/1.3.929.md +22 -0
- package/upgrades/1.3.930.md +25 -0
- package/upgrades/side-effects/adopt-secure-random.md +35 -0
- package/upgrades/side-effects/worktree-git-hooks-seed.md +109 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4EH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,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;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4EH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,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;AAuID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+rDD;;;;;;;;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,CAwtBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA24pBtE;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"}
|
package/dist/commands/server.js
CHANGED
|
@@ -163,7 +163,7 @@ import { SenderRejectionNoticer, SENDER_DEAUTHORIZED_CAUSE } from '../core/sende
|
|
|
163
163
|
import { appendMeshRejection } from '../core/meshRejectionLog.js';
|
|
164
164
|
import { ReplyMarkerTransport } from '../core/ReplyMarkerTransport.js';
|
|
165
165
|
import { decryptFromSync, encryptForSync } from '../core/SecretStore.js';
|
|
166
|
-
import { createPrivateKey, createPublicKey, createHash } from 'node:crypto';
|
|
166
|
+
import { createPrivateKey, createPublicKey, createHash, randomBytes, randomInt } from 'node:crypto';
|
|
167
167
|
import { sign as signEd25519, verify as verifyEd25519 } from '../core/MachineIdentity.js';
|
|
168
168
|
import { ProjectMapper } from '../core/ProjectMapper.js';
|
|
169
169
|
import { CartographerTree } from '../core/CartographerTree.js';
|
|
@@ -332,8 +332,8 @@ async function handleFixCommand(topicId, text, deps) {
|
|
|
332
332
|
await send('Your API already has an authentication token configured. No changes needed.');
|
|
333
333
|
return true;
|
|
334
334
|
}
|
|
335
|
-
// Generate a random token
|
|
336
|
-
const token =
|
|
335
|
+
// Generate a cryptographically secure random token
|
|
336
|
+
const token = randomBytes(16).toString('hex');
|
|
337
337
|
deps.liveConfig.set('authToken', token);
|
|
338
338
|
await send(`Done! Generated and saved a new API authentication token. Your API is now protected.\n\nToken: ${token.slice(0, 8)}... (stored in config)`);
|
|
339
339
|
return true;
|
|
@@ -344,7 +344,7 @@ async function handleFixCommand(topicId, text, deps) {
|
|
|
344
344
|
await send(`Your dashboard already has a PIN: ${existing}`);
|
|
345
345
|
return true;
|
|
346
346
|
}
|
|
347
|
-
const pin = String(
|
|
347
|
+
const pin = String(randomInt(100000, 1000000));
|
|
348
348
|
deps.liveConfig.set('dashboardPin', pin);
|
|
349
349
|
await send(`Done! Generated dashboard PIN: ${pin}`);
|
|
350
350
|
return true;
|
|
@@ -10914,8 +10914,8 @@ export async function startServer(options) {
|
|
|
10914
10914
|
// view URL and the dashboard session — the documented UX cost of
|
|
10915
10915
|
// having briefly routed private traffic through a third-party relay.
|
|
10916
10916
|
tunnel.setCredentialRotator(async () => {
|
|
10917
|
-
const { randomUUID } = await import('node:crypto');
|
|
10918
|
-
const newPin = String(
|
|
10917
|
+
const { randomUUID, randomInt } = await import('node:crypto');
|
|
10918
|
+
const newPin = String(randomInt(100000, 1000000)); // 6-digit, matches startup gen
|
|
10919
10919
|
const newToken = randomUUID();
|
|
10920
10920
|
// Persist to config.json (survives restart; boot reads the new token)…
|
|
10921
10921
|
liveConfig.set('authToken', newToken);
|
|
@@ -23875,7 +23875,8 @@ export async function startServer(options) {
|
|
|
23875
23875
|
// Auto-generate dashboardPin if missing — do this on every startup,
|
|
23876
23876
|
// not just during upgrades. The PIN should always exist.
|
|
23877
23877
|
if (!config.dashboardPin) {
|
|
23878
|
-
const
|
|
23878
|
+
const { randomInt } = await import('node:crypto');
|
|
23879
|
+
const pin = String(randomInt(100000, 1000000)); // 6-digit
|
|
23879
23880
|
config.dashboardPin = pin;
|
|
23880
23881
|
// Persist via LiveConfig so it survives restart
|
|
23881
23882
|
liveConfig.set('dashboardPin', pin);
|