studiograph 1.3.48-next.126 → 1.3.48-next.128
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/agent/tools/web-tools.js +6 -7
- package/dist/agent/tools/web-tools.js.map +1 -1
- package/dist/cli/commands/serve.js +73 -81
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/core/secrets/dual-write.d.ts +9 -7
- package/dist/core/secrets/dual-write.js +10 -8
- package/dist/core/secrets/dual-write.js.map +1 -1
- package/dist/core/secrets/index.d.ts +2 -3
- package/dist/core/secrets/index.js +3 -4
- package/dist/core/secrets/index.js.map +1 -1
- package/dist/core/secrets/read-flip.d.ts +17 -13
- package/dist/core/secrets/read-flip.js +17 -17
- package/dist/core/secrets/read-flip.js.map +1 -1
- package/dist/core/secrets/registry.js +4 -1
- package/dist/core/secrets/registry.js.map +1 -1
- package/dist/core/user-config.d.ts +15 -17
- package/dist/core/user-config.js +18 -22
- package/dist/core/user-config.js.map +1 -1
- package/dist/core/workspace.d.ts +7 -7
- package/dist/core/workspace.js +7 -9
- package/dist/core/workspace.js.map +1 -1
- package/dist/mcp/connector-manager.d.ts +5 -5
- package/dist/mcp/connector-manager.js +5 -7
- package/dist/mcp/connector-manager.js.map +1 -1
- package/dist/server/index.d.ts +2 -3
- package/dist/server/index.js +2 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/audit-api.js +0 -2
- package/dist/server/routes/audit-api.js.map +1 -1
- package/dist/server/routes/connectors-api.js +9 -9
- package/dist/server/routes/connectors-api.js.map +1 -1
- package/dist/server/routes/features-api.d.ts +7 -3
- package/dist/server/routes/features-api.js +8 -4
- package/dist/server/routes/features-api.js.map +1 -1
- package/dist/server/routes/secrets-api.js +0 -2
- package/dist/server/routes/secrets-api.js.map +1 -1
- package/dist/server/routes/settings-api.d.ts +5 -4
- package/dist/server/routes/settings-api.js +5 -8
- package/dist/server/routes/settings-api.js.map +1 -1
- package/dist/services/auth-service.js +15 -0
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/vector-service.d.ts +4 -4
- package/dist/services/vector-service.js +4 -4
- package/dist/web/_app/immutable/chunks/BLiqJHqq.js +1 -0
- package/dist/web/_app/immutable/chunks/{B1fZGblg.js → BPhUecIO.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DdFPePAW.js → BUZOwQbn.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CNBwlPAC2.js → BeKQ1vVI2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CW3g99i7.js → C7z6EEL-.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DWan8MGv.js → CMyIG4R9.js} +1 -1
- package/dist/web/_app/immutable/chunks/{lbpRDjhE.js → CTxUvEW-.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BM-vDUo3.js → CZlhWwGG.js} +3 -3
- package/dist/web/_app/immutable/chunks/{KcrJk-TL.js → CjzRcfZA.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B9zzUJ3L.js → CqPAh_Vt.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bq3UUzpi.js → Crhos59x.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dju_-vTG2.js → CtYPPehZ2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C2QBSjLp.js → DSGoXpvt.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CVPHLlAq.js → DWF8cRNx.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DnQIcoLD2.js → DZ_qFeb22.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B-VP4t3K.js → DeHIvBDH.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B2XnVemz.js → DsGSHcty.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Cz-cnsRw2.js → DsL5PXPN2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bl_RWzoN.js → PgfNOIYB.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bp38UOP4.js → W8GPaoLR.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DIwNe0xx2.js → e02lpsL32.js} +2 -2
- package/dist/web/_app/immutable/chunks/{B2iru5722.js → iFw90bLl2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{L1m_zwr1.js → qEyuQJHq.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.CMLSE3g4.js → app.DuuWBTji.js} +2 -2
- package/dist/web/_app/immutable/entry/start.BoL6sf4X.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.CGLpuVgd.js → 0.Bnu7VL-F.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.MToRYUP6.js → 1.B_DT4_7P.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.D4G8m6XY.js → 10.f7n9Ehbp.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.jnRvzkiY.js → 11.CRscnLUS.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.DHrAjUjk.js → 12.C6B_tGul.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.UQLeD4S4.js → 13.Bkvs4Nl8.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.Cs-eKIz-.js → 2.MrcbTTuh.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.CUIYG-dz.js → 3.Dj7jX8gK.js} +1 -1
- package/dist/web/_app/immutable/nodes/{4.LIlgSH2L.js → 4.BpCpkzpn.js} +2 -2
- package/dist/web/_app/immutable/nodes/{5.BP7m75m7.js → 5.BFM0z14j.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.CGAhMbZx.js → 6.CDkqp-xt.js} +1 -1
- package/dist/web/_app/immutable/nodes/{7.CfzvRDuv.js → 7.L36BOAfl.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.DBr2nnMK.js → 8.DmIExz7L.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.C0QaZhMb.js → 9.vauB21VL.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +12 -12
- package/package.json +1 -1
- package/dist/web/_app/immutable/chunks/CEdiMrk9.js +0 -1
- package/dist/web/_app/immutable/entry/start.Cjifltq3.js +0 -1
|
@@ -90,13 +90,12 @@ class TavilySearchProvider {
|
|
|
90
90
|
/**
|
|
91
91
|
* Resolve a search provider from config + env vars.
|
|
92
92
|
*
|
|
93
|
-
* Phase 6 read-flip:
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* precedence logic.
|
|
93
|
+
* Phase 6 read-flip: the encrypted store wins via the resolver. We
|
|
94
|
+
* check the store for each provider's api_key + (for Google)
|
|
95
|
+
* `search.google.cx`, then fall back to the workspace config and
|
|
96
|
+
* env-var chain. The resolver itself bakes in env > store > default
|
|
97
|
+
* precedence, so calling tryResolve() is the right way to consult
|
|
98
|
+
* either source without duplicating precedence logic.
|
|
100
99
|
*
|
|
101
100
|
* Env vars checked (legacy fallback only):
|
|
102
101
|
* BRAVE_SEARCH_API_KEY
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/web-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"web-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/web-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,12 +61,6 @@ export const serveCommand = new Command('serve')
|
|
|
61
61
|
process.exit(1);
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
// Feature flag: STUDIOGRAPH_NEW_STORE=1 wires up the encrypted secrets
|
|
65
|
-
// store + master-key bootstrap. Default-off through Phases 0-3 — the
|
|
66
|
-
// store is scaffolding only until Phase 5/6 dual-write + read-flip
|
|
67
|
-
// land. Production behaviour is unchanged when the flag is off, since
|
|
68
|
-
// every existing call site still reaches into auth.db / user.json /
|
|
69
|
-
// workspace.json directly.
|
|
70
64
|
// Phase 11: install the production console patch as soon as we know
|
|
71
65
|
// the master key is loaded. Patches console.log/info/warn/error/debug
|
|
72
66
|
// so any direct console call (third-party, yet-to-migrate, or
|
|
@@ -78,91 +72,89 @@ export const serveCommand = new Command('serve')
|
|
|
78
72
|
// is live by the time we log the master-key source. The master-key
|
|
79
73
|
// source itself is a friendly label ('env'/'file'/'first-run'), not
|
|
80
74
|
// a secret, so the line passes through unredacted in practice.
|
|
75
|
+
//
|
|
76
|
+
// The encrypted secrets store + Phase 8 auth.db migration + first-run
|
|
77
|
+
// importer all run unconditionally. The `STUDIOGRAPH_NEW_STORE` env
|
|
78
|
+
// flag that previously gated this block was removed once Phase 6
|
|
79
|
+
// shipped stably in production; setting the var is now a no-op.
|
|
81
80
|
let authCryptoOptions;
|
|
82
|
-
|
|
81
|
+
try {
|
|
82
|
+
const loaded = loadMasterKey();
|
|
83
|
+
const previous = loadPreviousMasterKey();
|
|
84
|
+
installConsolePatch();
|
|
85
|
+
const sgRoot = process.env.RAILWAY_ENVIRONMENT && existsSync('/workspace')
|
|
86
|
+
? '/workspace'
|
|
87
|
+
: join(homedir(), '.studiograph');
|
|
88
|
+
const dbPath = join(sgRoot, 'secrets.db');
|
|
89
|
+
const store = new SqliteEncryptedStore({
|
|
90
|
+
dbPath,
|
|
91
|
+
masterKey: loaded.key,
|
|
92
|
+
previousMasterKey: previous,
|
|
93
|
+
});
|
|
94
|
+
setSecretStore(store);
|
|
95
|
+
console.log(`[secrets] store ready at ${dbPath} (master key from ${loaded.source})`);
|
|
96
|
+
// Stash the master key so AuthService (constructed later in
|
|
97
|
+
// createServer) can use it for per-user OAuth + settings encryption.
|
|
98
|
+
authCryptoOptions = { masterKey: loaded.key };
|
|
99
|
+
// Phase 8: auth.db column upgrades. Runs BEFORE the importer
|
|
100
|
+
// (defensive ordering — even though today's importer doesn't
|
|
101
|
+
// touch user-secret keys, a future importer could mirror
|
|
102
|
+
// auth.db values into the store and would need the new schema
|
|
103
|
+
// already in place). Idempotent — re-running after success is
|
|
104
|
+
// a no-op via meta.auth_db_phase8_migrated_at. Failure is fatal:
|
|
105
|
+
// a half-rebuilt oauth_tokens would corrupt OAuth flows for
|
|
106
|
+
// every MCP connector, so refusing to start is safer than
|
|
107
|
+
// serving with mixed plaintext/ciphertext rows.
|
|
83
108
|
try {
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
const sgRoot = process.env.RAILWAY_ENVIRONMENT && existsSync('/workspace')
|
|
88
|
-
? '/workspace'
|
|
89
|
-
: join(homedir(), '.studiograph');
|
|
90
|
-
const dbPath = join(sgRoot, 'secrets.db');
|
|
91
|
-
const store = new SqliteEncryptedStore({
|
|
92
|
-
dbPath,
|
|
109
|
+
const authDbPath = join(process.cwd(), '.studiograph', 'auth.db');
|
|
110
|
+
const migrationResult = migrateAuthDbPhase8({
|
|
111
|
+
authDbPath,
|
|
93
112
|
masterKey: loaded.key,
|
|
94
|
-
previousMasterKey: previous,
|
|
95
113
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
// Phase 8: auth.db column upgrades. Runs BEFORE the importer
|
|
102
|
-
// (defensive ordering — even though today's importer doesn't
|
|
103
|
-
// touch user-secret keys, a future importer could mirror
|
|
104
|
-
// auth.db values into the store and would need the new schema
|
|
105
|
-
// already in place). Idempotent — re-running after success is
|
|
106
|
-
// a no-op via meta.auth_db_phase8_migrated_at. Failure is fatal:
|
|
107
|
-
// a half-rebuilt oauth_tokens would corrupt OAuth flows for
|
|
108
|
-
// every MCP connector, so refusing to start is safer than
|
|
109
|
-
// serving with mixed plaintext/ciphertext rows.
|
|
110
|
-
try {
|
|
111
|
-
const authDbPath = join(process.cwd(), '.studiograph', 'auth.db');
|
|
112
|
-
const migrationResult = migrateAuthDbPhase8({
|
|
113
|
-
authDbPath,
|
|
114
|
-
masterKey: loaded.key,
|
|
115
|
-
});
|
|
116
|
-
if (!migrationResult.skipped) {
|
|
117
|
-
console.log(`[secrets] Encrypted per-user secrets (one-time migration): ` +
|
|
118
|
-
`${migrationResult.oauthRowsMigrated} oauth_tokens row(s), ` +
|
|
119
|
-
`${migrationResult.prefsRowsMigrated} user_preferences row(s). ` +
|
|
120
|
-
`Backup at ${migrationResult.backupPath}.`);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
catch (err) {
|
|
124
|
-
console.error('[secrets] auth.db Phase 8 migration failed; refusing to start:', err instanceof Error ? err.message : err);
|
|
125
|
-
process.exit(1);
|
|
126
|
-
}
|
|
127
|
-
// Phase 6: first-run importer. Reads legacy plaintext files
|
|
128
|
-
// (user.json, connectors/*.json, workspace.json) and the
|
|
129
|
-
// running process env, seeds the store with whatever
|
|
130
|
-
// registry-mapped values are present. Guarded by a meta row
|
|
131
|
-
// (`imported_legacy_at`) — re-running this binary is a no-op
|
|
132
|
-
// after the first successful pass.
|
|
133
|
-
//
|
|
134
|
-
// We pass `importFromEnv: true` on Railway so vars provisioned
|
|
135
|
-
// by `studiograph deploy` (Phase 2) land in the store and the
|
|
136
|
-
// audit log captures the provisioning event. Locally we
|
|
137
|
-
// intentionally skip env mirroring: dev machines often carry
|
|
138
|
-
// ad-hoc `ANTHROPIC_API_KEY` shells that we don't want
|
|
139
|
-
// permanently committed to the encrypted store.
|
|
140
|
-
try {
|
|
141
|
-
const importResult = await runFirstRunImporter({
|
|
142
|
-
workspacePath: process.cwd(),
|
|
143
|
-
importFromEnv: !!process.env.RAILWAY_ENVIRONMENT,
|
|
144
|
-
});
|
|
145
|
-
if (!importResult.skipped) {
|
|
146
|
-
console.log(`[secrets] Imported ${importResult.settings} settings, ${importResult.secrets} secrets from legacy files`);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
catch (err) {
|
|
150
|
-
// Importer failure is non-fatal — legacy readers still work.
|
|
151
|
-
console.warn(`[secrets] first-run importer failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
114
|
+
if (!migrationResult.skipped) {
|
|
115
|
+
console.log(`[secrets] Encrypted per-user secrets (one-time migration): ` +
|
|
116
|
+
`${migrationResult.oauthRowsMigrated} oauth_tokens row(s), ` +
|
|
117
|
+
`${migrationResult.prefsRowsMigrated} user_preferences row(s). ` +
|
|
118
|
+
`Backup at ${migrationResult.backupPath}.`);
|
|
152
119
|
}
|
|
153
120
|
}
|
|
154
121
|
catch (err) {
|
|
155
|
-
|
|
156
|
-
// surface immediately rather than silently fall back.
|
|
157
|
-
console.error('[secrets] failed to initialize store:', err instanceof Error ? err.message : err);
|
|
122
|
+
console.error('[secrets] auth.db Phase 8 migration failed; refusing to start:', err instanceof Error ? err.message : err);
|
|
158
123
|
process.exit(1);
|
|
159
124
|
}
|
|
125
|
+
// Phase 6: first-run importer. Reads legacy plaintext files
|
|
126
|
+
// (user.json, connectors/*.json, workspace.json) and the
|
|
127
|
+
// running process env, seeds the store with whatever
|
|
128
|
+
// registry-mapped values are present. Guarded by a meta row
|
|
129
|
+
// (`imported_legacy_at`) — re-running this binary is a no-op
|
|
130
|
+
// after the first successful pass.
|
|
131
|
+
//
|
|
132
|
+
// We pass `importFromEnv: true` on Railway so vars provisioned
|
|
133
|
+
// by `studiograph deploy` (Phase 2) land in the store and the
|
|
134
|
+
// audit log captures the provisioning event. Locally we
|
|
135
|
+
// intentionally skip env mirroring: dev machines often carry
|
|
136
|
+
// ad-hoc `ANTHROPIC_API_KEY` shells that we don't want
|
|
137
|
+
// permanently committed to the encrypted store.
|
|
138
|
+
try {
|
|
139
|
+
const importResult = await runFirstRunImporter({
|
|
140
|
+
workspacePath: process.cwd(),
|
|
141
|
+
importFromEnv: !!process.env.RAILWAY_ENVIRONMENT,
|
|
142
|
+
});
|
|
143
|
+
if (!importResult.skipped) {
|
|
144
|
+
console.log(`[secrets] Imported ${importResult.settings} settings, ${importResult.secrets} secrets from legacy files`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
// Importer failure is non-fatal — legacy readers still work.
|
|
149
|
+
console.warn(`[secrets] first-run importer failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
150
|
+
}
|
|
160
151
|
}
|
|
161
|
-
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
//
|
|
165
|
-
|
|
152
|
+
catch (err) {
|
|
153
|
+
// Hard error — the store is required to boot. A misconfigured
|
|
154
|
+
// master key or unreadable secrets.db should surface immediately
|
|
155
|
+
// rather than silently fall back.
|
|
156
|
+
console.error('[secrets] failed to initialize store:', err instanceof Error ? err.message : err);
|
|
157
|
+
process.exit(1);
|
|
166
158
|
}
|
|
167
159
|
const config = await workspace.loadConfig();
|
|
168
160
|
// Configure each folder repo to accept pushes to the checked-out branch.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAmB,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC;KACxD,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,CAAC;KACzD,MAAM,CAAC,WAAW,EAAE,0CAA0C,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,IAAuD,EAAE,EAAE;IACxE,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC;IAExD,yEAAyE;IACzE,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,0EAA0E;IAC1E,qEAAqE;IACrE,oEAAoE;IACpE,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAElC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAExC,
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dual-write helpers — Phase 5 of the secrets refactor.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Every legacy writer of a configuration file (user.json, workspace.json,
|
|
5
|
+
* connectors/*.json) also mirrors the registry-mapped fields into the
|
|
6
|
+
* encrypted store. The legacy file remains authoritative through Phase 5;
|
|
7
|
+
* Phase 6 flipped the read path so the store is the source of truth at
|
|
8
|
+
* read time.
|
|
8
9
|
*
|
|
9
10
|
* Failure modes are deliberately non-fatal: a dropped dual-write must
|
|
10
11
|
* never block the legacy write, because the file is still the source of
|
|
@@ -26,9 +27,10 @@
|
|
|
26
27
|
import { type KeyDef } from './registry.js';
|
|
27
28
|
import type { ActorContext } from './SecretStore.js';
|
|
28
29
|
/**
|
|
29
|
-
* Returns true when the
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* Returns true when the store singleton was successfully initialized at
|
|
31
|
+
* boot. Every dual-write entry point guards on this before touching the
|
|
32
|
+
* store. Historically gated on the `STUDIOGRAPH_NEW_STORE` env flag too;
|
|
33
|
+
* the flag was removed once Phase 6 stabilized in production.
|
|
32
34
|
*/
|
|
33
35
|
export declare function dualWriteEnabled(): boolean;
|
|
34
36
|
interface MirrorContext {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dual-write helpers — Phase 5 of the secrets refactor.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Every legacy writer of a configuration file (user.json, workspace.json,
|
|
5
|
+
* connectors/*.json) also mirrors the registry-mapped fields into the
|
|
6
|
+
* encrypted store. The legacy file remains authoritative through Phase 5;
|
|
7
|
+
* Phase 6 flipped the read path so the store is the source of truth at
|
|
8
|
+
* read time.
|
|
8
9
|
*
|
|
9
10
|
* Failure modes are deliberately non-fatal: a dropped dual-write must
|
|
10
11
|
* never block the legacy write, because the file is still the source of
|
|
@@ -26,12 +27,13 @@
|
|
|
26
27
|
import { REGISTRY, getKeyDef } from './registry.js';
|
|
27
28
|
import { getSecretStore, hasSecretStore } from './index.js';
|
|
28
29
|
/**
|
|
29
|
-
* Returns true when the
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* Returns true when the store singleton was successfully initialized at
|
|
31
|
+
* boot. Every dual-write entry point guards on this before touching the
|
|
32
|
+
* store. Historically gated on the `STUDIOGRAPH_NEW_STORE` env flag too;
|
|
33
|
+
* the flag was removed once Phase 6 stabilized in production.
|
|
32
34
|
*/
|
|
33
35
|
export function dualWriteEnabled() {
|
|
34
|
-
return
|
|
36
|
+
return hasSecretStore();
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* `$ENV_VAR` placeholder values are written into connector configs as the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dual-write.js","sourceRoot":"","sources":["../../../src/core/secrets/dual-write.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dual-write.js","sourceRoot":"","sources":["../../../src/core/secrets/dual-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,8 @@ export type { SettingMetadata, SettingsStore, SetSettingInput, } from './Setting
|
|
|
21
21
|
import type { SqliteEncryptedStore as SqliteEncryptedStoreType } from './SqliteEncryptedStore.js';
|
|
22
22
|
export declare function setSecretStore(store: SqliteEncryptedStoreType | undefined): void;
|
|
23
23
|
/**
|
|
24
|
-
* Module-level accessor. Throws when the
|
|
25
|
-
*
|
|
26
|
-
* are gated by STUDIOGRAPH_NEW_STORE — this is a hard error rather than
|
|
24
|
+
* Module-level accessor. Throws when the boot path didn't initialize the
|
|
25
|
+
* store (test harness, early-init code paths). Hard error rather than
|
|
27
26
|
* silent undefined to surface mis-wired callsites quickly.
|
|
28
27
|
*/
|
|
29
28
|
export declare function getSecretStore(): SqliteEncryptedStoreType;
|
|
@@ -16,14 +16,13 @@ export function setSecretStore(store) {
|
|
|
16
16
|
_resolver = undefined;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Module-level accessor. Throws when the
|
|
20
|
-
*
|
|
21
|
-
* are gated by STUDIOGRAPH_NEW_STORE — this is a hard error rather than
|
|
19
|
+
* Module-level accessor. Throws when the boot path didn't initialize the
|
|
20
|
+
* store (test harness, early-init code paths). Hard error rather than
|
|
22
21
|
* silent undefined to surface mis-wired callsites quickly.
|
|
23
22
|
*/
|
|
24
23
|
export function getSecretStore() {
|
|
25
24
|
if (!_store) {
|
|
26
|
-
throw new Error('Secrets store not initialized.
|
|
25
|
+
throw new Error('Secrets store not initialized. The serve.ts bootstrap should have set this up — call site is running too early or in a test without store wiring.');
|
|
27
26
|
}
|
|
28
27
|
return _store;
|
|
29
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/secrets/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAYvB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAkBlE,IAAI,MAA4C,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,KAA2C;IACxE,MAAM,GAAG,KAAK,CAAC;IACf,wEAAwE;IACxE,SAAS,GAAG,SAAS,CAAC;AACxB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/secrets/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAYvB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAkBlE,IAAI,MAA4C,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,KAA2C;IACxE,MAAM,GAAG,KAAK,CAAC;IACf,wEAAwE;IACxE,SAAS,GAAG,SAAS,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,mJAAmJ,CACpJ,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,KAAK,SAAS,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;GASG;AACH,IAAI,SAAuC,CAAC;AAC5C,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,SAAS,GAAG,SAAS,CAAC;AACxB,CAAC"}
|
|
@@ -2,29 +2,33 @@
|
|
|
2
2
|
* Read-flip helpers — Phase 6 of the secrets refactor.
|
|
3
3
|
*
|
|
4
4
|
* Call sites that historically read directly from `~/.studiograph/user.json`
|
|
5
|
-
* / `workspace.json` / `process.env.*`
|
|
6
|
-
*
|
|
5
|
+
* / `workspace.json` / `process.env.*` route through this module so the
|
|
6
|
+
* flip is uniform across the codebase.
|
|
7
7
|
*
|
|
8
|
-
* Contract: every helper here returns `undefined` when the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Contract: every helper here returns `undefined` when the resolver
|
|
9
|
+
* returns `unset` (or when the store hasn't been initialized yet —
|
|
10
|
+
* very early boot or test harness without a store). Callers MUST fall
|
|
11
|
+
* back to their pre-existing legacy read in that case. This is the
|
|
11
12
|
* transitional safety net documented in the plan: if the importer
|
|
12
13
|
* hasn't run yet (boot race, mis-provisioned redeploy), the resolver
|
|
13
14
|
* sees empty slots and we don't want to regress to "no value at all".
|
|
14
15
|
*
|
|
15
|
-
* When the
|
|
16
|
-
*
|
|
17
|
-
* after this phase, the store is the source of truth in production.
|
|
16
|
+
* When the resolver returns a value, callers MUST use it and skip the
|
|
17
|
+
* legacy read. The store is the source of truth in production.
|
|
18
18
|
*
|
|
19
19
|
* Why a thin wrapper rather than inlining `getSettingsResolver()?.resolve()`
|
|
20
20
|
* at every call site:
|
|
21
|
-
* 1. Single place to
|
|
22
|
-
* flag is on but the resolver returns undefined (suggests the
|
|
23
|
-
* importer didn't run or didn't see the legacy file).
|
|
21
|
+
* 1. Single place to handle the "store not yet initialized" guard.
|
|
24
22
|
* 2. Single place to flip the implementation again in Phase 9 (when
|
|
25
23
|
* legacy fallbacks are removed).
|
|
26
|
-
* 3. Concise call sites: `
|
|
27
|
-
*
|
|
24
|
+
* 3. Concise call sites: `tryResolve('model.api_key')` is shorter
|
|
25
|
+
* than the resolver dance.
|
|
26
|
+
*
|
|
27
|
+
* Historical note: the `STUDIOGRAPH_NEW_STORE` env flag previously
|
|
28
|
+
* gated these helpers (returned undefined when off). The flag was
|
|
29
|
+
* removed once Phase 6 was proven stable in production — the store is
|
|
30
|
+
* now unconditional. The env var can still be set on Railway services
|
|
31
|
+
* for backwards-compat; it is silently ignored.
|
|
28
32
|
*/
|
|
29
33
|
import type { ResolverContext } from './SettingsResolver.js';
|
|
30
34
|
/**
|
|
@@ -2,29 +2,33 @@
|
|
|
2
2
|
* Read-flip helpers — Phase 6 of the secrets refactor.
|
|
3
3
|
*
|
|
4
4
|
* Call sites that historically read directly from `~/.studiograph/user.json`
|
|
5
|
-
* / `workspace.json` / `process.env.*`
|
|
6
|
-
*
|
|
5
|
+
* / `workspace.json` / `process.env.*` route through this module so the
|
|
6
|
+
* flip is uniform across the codebase.
|
|
7
7
|
*
|
|
8
|
-
* Contract: every helper here returns `undefined` when the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Contract: every helper here returns `undefined` when the resolver
|
|
9
|
+
* returns `unset` (or when the store hasn't been initialized yet —
|
|
10
|
+
* very early boot or test harness without a store). Callers MUST fall
|
|
11
|
+
* back to their pre-existing legacy read in that case. This is the
|
|
11
12
|
* transitional safety net documented in the plan: if the importer
|
|
12
13
|
* hasn't run yet (boot race, mis-provisioned redeploy), the resolver
|
|
13
14
|
* sees empty slots and we don't want to regress to "no value at all".
|
|
14
15
|
*
|
|
15
|
-
* When the
|
|
16
|
-
*
|
|
17
|
-
* after this phase, the store is the source of truth in production.
|
|
16
|
+
* When the resolver returns a value, callers MUST use it and skip the
|
|
17
|
+
* legacy read. The store is the source of truth in production.
|
|
18
18
|
*
|
|
19
19
|
* Why a thin wrapper rather than inlining `getSettingsResolver()?.resolve()`
|
|
20
20
|
* at every call site:
|
|
21
|
-
* 1. Single place to
|
|
22
|
-
* flag is on but the resolver returns undefined (suggests the
|
|
23
|
-
* importer didn't run or didn't see the legacy file).
|
|
21
|
+
* 1. Single place to handle the "store not yet initialized" guard.
|
|
24
22
|
* 2. Single place to flip the implementation again in Phase 9 (when
|
|
25
23
|
* legacy fallbacks are removed).
|
|
26
|
-
* 3. Concise call sites: `
|
|
27
|
-
*
|
|
24
|
+
* 3. Concise call sites: `tryResolve('model.api_key')` is shorter
|
|
25
|
+
* than the resolver dance.
|
|
26
|
+
*
|
|
27
|
+
* Historical note: the `STUDIOGRAPH_NEW_STORE` env flag previously
|
|
28
|
+
* gated these helpers (returned undefined when off). The flag was
|
|
29
|
+
* removed once Phase 6 was proven stable in production — the store is
|
|
30
|
+
* now unconditional. The env var can still be set on Railway services
|
|
31
|
+
* for backwards-compat; it is silently ignored.
|
|
28
32
|
*/
|
|
29
33
|
import { getSettingsResolver, hasSecretStore } from './index.js';
|
|
30
34
|
/**
|
|
@@ -44,8 +48,6 @@ import { getSettingsResolver, hasSecretStore } from './index.js';
|
|
|
44
48
|
* `describe()` instead and never touch this helper.
|
|
45
49
|
*/
|
|
46
50
|
export function tryResolve(key, ctx = {}) {
|
|
47
|
-
if (process.env.STUDIOGRAPH_NEW_STORE !== '1')
|
|
48
|
-
return undefined;
|
|
49
51
|
if (!hasSecretStore())
|
|
50
52
|
return undefined;
|
|
51
53
|
const resolver = getSettingsResolver();
|
|
@@ -69,8 +71,6 @@ export function tryResolve(key, ctx = {}) {
|
|
|
69
71
|
* the UI without re-doing the lookup.
|
|
70
72
|
*/
|
|
71
73
|
export function tryResolveWithSource(key, ctx = {}) {
|
|
72
|
-
if (process.env.STUDIOGRAPH_NEW_STORE !== '1')
|
|
73
|
-
return undefined;
|
|
74
74
|
if (!hasSecretStore())
|
|
75
75
|
return undefined;
|
|
76
76
|
const resolver = getSettingsResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-flip.js","sourceRoot":"","sources":["../../../src/core/secrets/read-flip.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"read-flip.js","sourceRoot":"","sources":["../../../src/core/secrets/read-flip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CACxB,GAAW,EACX,MAAuB,EAAE;IAEzB,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,iEAAiE;QACjE,iEAAiE;QACjE,gEAAgE;QAChE,6DAA6D;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,MAAuB,EAAE;IAEzB,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAI,GAAG,EAAE,GAAG,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -42,7 +42,10 @@ export const OPERATIONAL_ALLOWLIST = new Set([
|
|
|
42
42
|
'STUDIOGRAPH_VERBOSE',
|
|
43
43
|
'STUDIOGRAPH_NO_OPEN',
|
|
44
44
|
'STUDIOGRAPH_NO_SPINNER',
|
|
45
|
-
// Phase 1 feature flag
|
|
45
|
+
// Historical Phase 1 feature flag. Removed once Phase 6 stabilized in
|
|
46
|
+
// production; the encrypted store is now unconditional. Kept on the
|
|
47
|
+
// allowlist so legacy Railway services that still set it don't trip
|
|
48
|
+
// the "unknown env" warning. Setting it has no effect.
|
|
46
49
|
'STUDIOGRAPH_NEW_STORE',
|
|
47
50
|
// Phase 11 log-redaction controls.
|
|
48
51
|
'STUDIOGRAPH_LOG_RAW',
|