instar 1.3.1253 → 1.3.1254
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 +41 -4
- package/dist/commands/server.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/package.json +1 -1
- package/scripts/post-publish-smoke.mjs +13 -2
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/upgrades/{1.3.1253.md → 1.3.1254.md} +37 -0
- package/upgrades/side-effects/codex-enroll-followups.md +71 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAsGA,OAAO,EAAE,cAAc,EAAwD,MAAM,2BAA2B,CAAC;AAUjH,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA4BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAmI7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAkFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AA0ID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoDD,+EAA+E;AAC/E,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,IAAI,CAAC,OAAO,2BAA2B,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,IAAI,EACpF,OAAO,EAAE,MAAM,GACd,IAAI,CAEN;AAsrDD;;;;;;;;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,CA8yBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/server.js
CHANGED
|
@@ -13520,10 +13520,18 @@ export async function startServer(options) {
|
|
|
13520
13520
|
store: pendingLoginStore,
|
|
13521
13521
|
logger: { log: (m) => console.log(m), warn: (m) => console.warn(m) },
|
|
13522
13522
|
// WS5.2 §5.3/S7 — the follow-me completion gate reads the minted login's account email
|
|
13523
|
-
// from its config-home slot
|
|
13524
|
-
//
|
|
13525
|
-
//
|
|
13526
|
-
oracle
|
|
13523
|
+
// from its config-home slot and validates it against operator expectation before the
|
|
13524
|
+
// account is selectable.
|
|
13525
|
+
//
|
|
13526
|
+
// This MUST be the COMPOSITE oracle. `CredentialIdentityOracle` speaks only the Anthropic
|
|
13527
|
+
// OAuth profile endpoint, so handed a Codex home it returns `unavailable` — the gate then
|
|
13528
|
+
// sees no email and holds every Codex enrollment forever with `missing-completed-email`,
|
|
13529
|
+
// no matter how many times it is retried. That is precisely the failure
|
|
13530
|
+
// CompositeCredentialIdentityOracle was introduced to end (it reads the Codex `auth.json`
|
|
13531
|
+
// id_token locally), but the wizard was never switched over to it. Observed live: a Codex
|
|
13532
|
+
// credential written correctly, `codex login status` reporting logged-in, and the account
|
|
13533
|
+
// still refused registration.
|
|
13534
|
+
oracle: subscriptionIdentityOracle,
|
|
13527
13535
|
// A HELD follow-me completion (surprise/mismatched/unverifiable email) raises a HIGH
|
|
13528
13536
|
// attention item for the operator. Map the email-gate's {id,title,body,priority,source}
|
|
13529
13537
|
// shape onto the telegram attention-queue createAttentionItem shape.
|
|
@@ -13597,6 +13605,35 @@ export async function startServer(options) {
|
|
|
13597
13605
|
// source of truth — see there for why a framework with no verified
|
|
13598
13606
|
// isolation var gets NONE rather than a misleading one.
|
|
13599
13607
|
const isolationEnv = enrollmentIsolationEnv(framework, configHome);
|
|
13608
|
+
// The per-account config home must EXIST before the login runs. `codex`
|
|
13609
|
+
// exits immediately when CODEX_HOME points at a missing directory, so a
|
|
13610
|
+
// first-time enrollment (whose slot has never been created) died in under
|
|
13611
|
+
// a second and the scraper then watched a dead pane until its timeout,
|
|
13612
|
+
// reporting the misleading `login artifact not found`. Verified on a live
|
|
13613
|
+
// machine: same command, missing dir → instant exit; dir created first →
|
|
13614
|
+
// prints the verification URL + code. Creating it here covers every
|
|
13615
|
+
// enrollment path because they all spawn through this one callback.
|
|
13616
|
+
//
|
|
13617
|
+
// TWO BOUNDS, both deliberate:
|
|
13618
|
+
// - Only when this framework HAS an isolation var. `enrollmentIsolationEnv`
|
|
13619
|
+
// returns {} for a framework with no verified isolation variable (gemini-cli,
|
|
13620
|
+
// pi-cli), whose login writes to the AMBIENT home — creating the allocated
|
|
13621
|
+
// slot there would leave a permanently empty directory that never receives a
|
|
13622
|
+
// credential. Same principle as the mapping itself: no isolation var, no slot.
|
|
13623
|
+
// - Only an ABSOLUTE path. `POST /subscription-pool/enroll` takes `configHome`
|
|
13624
|
+
// straight from the request body, so without this the SERVER would recursively
|
|
13625
|
+
// create a caller-named relative path against its own cwd. The child CLI might
|
|
13626
|
+
// have created that path anyway, but that is the CLI's choice at its own
|
|
13627
|
+
// privilege — not the server doing it unconditionally, before anything else
|
|
13628
|
+
// validates the value.
|
|
13629
|
+
if (configHome && Object.keys(isolationEnv).length > 0 && path.isAbsolute(configHome)) {
|
|
13630
|
+
try {
|
|
13631
|
+
fs.mkdirSync(configHome, { recursive: true, mode: 0o700 });
|
|
13632
|
+
}
|
|
13633
|
+
catch (err) {
|
|
13634
|
+
throw new Error(`could not create the login config home ${configHome}: ${err instanceof Error ? err.message : String(err)}`);
|
|
13635
|
+
}
|
|
13636
|
+
}
|
|
13600
13637
|
const env = { ...isolationEnv, ...enrollmentBrowserEnv(openBrowser) };
|
|
13601
13638
|
const prefix = Object.entries(env).map(([k, v]) => `${k}=${JSON.stringify(v)}`).join(' ');
|
|
13602
13639
|
const cmd = prefix ? `env ${prefix} ${baseCmd}` : baseCmd;
|