@mnemom/mnemom 0.17.0-next.0 → 0.17.0-next.1
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/code-setup.js +9 -10
- package/dist/commands/code.js +6 -6
- package/package.json +1 -1
|
@@ -145,7 +145,7 @@ function persistAgentSlug(slug) {
|
|
|
145
145
|
export class MuInsufficientError extends Error {
|
|
146
146
|
orgLabel;
|
|
147
147
|
constructor(orgLabel) {
|
|
148
|
-
super("insufficient
|
|
148
|
+
super("insufficient µ balance");
|
|
149
149
|
this.orgLabel = orgLabel;
|
|
150
150
|
this.name = "MuInsufficientError";
|
|
151
151
|
}
|
|
@@ -176,7 +176,7 @@ export async function ensureMnemomSession(opts = {}) {
|
|
|
176
176
|
return false;
|
|
177
177
|
say(fmt.section("Sign in to Mnemom"));
|
|
178
178
|
say(fmt.dim(" mnemom code runs your coding session governed and under your Mnemom account,"));
|
|
179
|
-
say(fmt.dim(" so it shows up in your traces and
|
|
179
|
+
say(fmt.dim(" so it shows up in your traces and draws on your org's µ balance."));
|
|
180
180
|
say(fmt.dim(` New to Mnemom? You can create a free account in the same flow (or at ${getWebsiteUrl()}/signup).`));
|
|
181
181
|
if (!(await askYesNo("Sign in or create your account now?", true)))
|
|
182
182
|
return false;
|
|
@@ -237,21 +237,20 @@ function safeBigInt(v) {
|
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
240
|
-
* The "you need
|
|
240
|
+
* The "you need µ" message (no free tier). Voiced like the portal's
|
|
241
241
|
* enforcement-paused banner — safety features can't run without µ — but never
|
|
242
242
|
* says "exhausted" (that assumes a prior balance; a new org may simply have none).
|
|
243
243
|
*/
|
|
244
244
|
function printTopUp(orgLabel, balanceMu) {
|
|
245
245
|
say();
|
|
246
|
-
say(fmt.warn(`No
|
|
247
|
-
say(fmt.dim(" mnemom code runs on
|
|
248
|
-
say(fmt.dim("
|
|
249
|
-
say(fmt.dim(" a governed session:"));
|
|
246
|
+
say(fmt.warn(`No µ balance — ${orgLabel} is at ${balanceMu} µ.`));
|
|
247
|
+
say(fmt.dim(" mnemom code runs on µ, and there's no free tier. Without µ, Mnemom's safety"));
|
|
248
|
+
say(fmt.dim(" features can't run, so the launch is blocked. Top up to launch a governed session:"));
|
|
250
249
|
say();
|
|
251
250
|
say(` Top up µ: ${getWebsiteUrl()}/settings/billing`);
|
|
252
251
|
say(fmt.dim(" If you don't manage billing for this org, ask an admin to top up."));
|
|
253
252
|
say();
|
|
254
|
-
say(fmt.dim(" Your balance updates the moment a top-up completes — then re-run `mnemom code`."));
|
|
253
|
+
say(fmt.dim(" Your µ balance updates the moment a top-up completes — then re-run `mnemom code`."));
|
|
255
254
|
}
|
|
256
255
|
/**
|
|
257
256
|
* The shared pre-launch preamble for `mnemom code` (and `mnemom code setup`):
|
|
@@ -264,9 +263,9 @@ export async function ensureSessionAndBalance(opts) {
|
|
|
264
263
|
const interactive = opts.interactive ?? isInteractive();
|
|
265
264
|
const haveSession = await ensureMnemomSession({ interactive });
|
|
266
265
|
if (!haveSession) {
|
|
267
|
-
throw new Error("mnemom code needs a Mnemom account — it runs your coding session governed and on
|
|
266
|
+
throw new Error("mnemom code needs a Mnemom account — it runs your coding session governed and on your org's µ balance.\n" +
|
|
268
267
|
" Sign in: mnemom login (or set MNEMOM_API_KEY)\n" +
|
|
269
|
-
` New here? create a free account, then
|
|
268
|
+
` New here? create a free account, then top up µ: ${getWebsiteUrl()}/settings/billing`);
|
|
270
269
|
}
|
|
271
270
|
const active = getActiveOrg();
|
|
272
271
|
const orgId = active?.org_id ?? (await getMyPersonalOrg()).org_id;
|
package/dist/commands/code.js
CHANGED
|
@@ -97,12 +97,12 @@ export async function codeCommand(scenario, options = {}) {
|
|
|
97
97
|
allowPrompt: true,
|
|
98
98
|
keySource: options.keySource,
|
|
99
99
|
});
|
|
100
|
-
// ── account +
|
|
101
|
-
// mnemom code runs governed and on
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
//
|
|
105
|
-
//
|
|
100
|
+
// ── account + µ-balance gate (no free tier) ─────────────────────────────────
|
|
101
|
+
// mnemom code runs governed and on µ, so before we seal a contract or launch we
|
|
102
|
+
// (1) ensure a Mnemom session — offering the try-me-style sign-in / sign-up when
|
|
103
|
+
// there isn't one — and (2) enforce a positive µ balance on the org the agent
|
|
104
|
+
// lives in (default: the user's personal org). No µ ⇒ blocked with a
|
|
105
|
+
// portal-style top-up message. Skipped only on --dry-run (handled above).
|
|
106
106
|
try {
|
|
107
107
|
await ensureSessionAndBalance({ interactive: isInteractive() });
|
|
108
108
|
}
|