@mrrlin-dev/mcp 0.4.98 → 0.4.99
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/bin.cjs +213 -4
- package/package.json +1 -1
package/dist/bin.cjs
CHANGED
|
@@ -37189,6 +37189,39 @@ function date4(params) {
|
|
|
37189
37189
|
// ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
|
|
37190
37190
|
config(en_default());
|
|
37191
37191
|
|
|
37192
|
+
// ../../packages/schemas/dist/plans.js
|
|
37193
|
+
var PLAN_TIERS = ["base", "pro", "team", "ultra"];
|
|
37194
|
+
var planTierSchema = external_exports.enum(PLAN_TIERS);
|
|
37195
|
+
var billingPriceSchema = external_exports.object({
|
|
37196
|
+
amount: external_exports.number().int().nonnegative(),
|
|
37197
|
+
currency: external_exports.string().length(3)
|
|
37198
|
+
});
|
|
37199
|
+
var billingPlansResponseSchema = external_exports.object({
|
|
37200
|
+
data: external_exports.object({
|
|
37201
|
+
plans: external_exports.array(external_exports.object({
|
|
37202
|
+
tier: planTierSchema,
|
|
37203
|
+
name: external_exports.string().min(1),
|
|
37204
|
+
limits: external_exports.object({
|
|
37205
|
+
projects: external_exports.number().int(),
|
|
37206
|
+
seats: external_exports.number().int()
|
|
37207
|
+
}),
|
|
37208
|
+
prices: external_exports.object({
|
|
37209
|
+
month: billingPriceSchema.optional(),
|
|
37210
|
+
year: billingPriceSchema.optional()
|
|
37211
|
+
})
|
|
37212
|
+
}))
|
|
37213
|
+
})
|
|
37214
|
+
});
|
|
37215
|
+
var createCheckoutSessionRequestSchema = external_exports.object({
|
|
37216
|
+
tier: planTierSchema,
|
|
37217
|
+
interval: external_exports.enum(["month", "year"])
|
|
37218
|
+
});
|
|
37219
|
+
var billingUrlResponseSchema = external_exports.object({
|
|
37220
|
+
data: external_exports.object({
|
|
37221
|
+
url: external_exports.string().url()
|
|
37222
|
+
})
|
|
37223
|
+
});
|
|
37224
|
+
|
|
37192
37225
|
// ../../packages/schemas/dist/artifact-checks.js
|
|
37193
37226
|
var artifactKindSchema = external_exports.enum([
|
|
37194
37227
|
"document",
|
|
@@ -37394,7 +37427,16 @@ var openApiOperationIds = {
|
|
|
37394
37427
|
confirmFirstWrite: "confirmFirstWrite",
|
|
37395
37428
|
resolveArtifactKindRoute: "resolveArtifactKindRoute",
|
|
37396
37429
|
resolveDeliveryForArtifactKind: "resolveDeliveryForArtifactKind",
|
|
37397
|
-
recordCapabilityUse: "recordCapabilityUse"
|
|
37430
|
+
recordCapabilityUse: "recordCapabilityUse",
|
|
37431
|
+
resolveAccount: "resolveAccount",
|
|
37432
|
+
linkAccountIdentity: "linkAccountIdentity",
|
|
37433
|
+
getMyAccount: "getMyAccount",
|
|
37434
|
+
getMyEntitlement: "getMyEntitlement",
|
|
37435
|
+
listBillingPlans: "listBillingPlans",
|
|
37436
|
+
createCheckoutSession: "createCheckoutSession",
|
|
37437
|
+
createBillingPortalSession: "createBillingPortalSession",
|
|
37438
|
+
syncBilling: "syncBilling",
|
|
37439
|
+
redeemAppsumoCode: "redeemAppsumoCode"
|
|
37398
37440
|
};
|
|
37399
37441
|
|
|
37400
37442
|
// ../../packages/schemas/dist/session.js
|
|
@@ -37414,10 +37456,13 @@ var operatorSessionSchema = external_exports.object({
|
|
|
37414
37456
|
// Default 'project' for backward-compat: tokens minted before this field existed parse
|
|
37415
37457
|
// cleanly into the project branch of the middleware (which mirrors today's behavior).
|
|
37416
37458
|
scope: external_exports.enum(["project", "operator"]).default("project"),
|
|
37459
|
+
accountId: external_exports.string().uuid().optional(),
|
|
37460
|
+
identitySubject: external_exports.string().min(1).optional(),
|
|
37461
|
+
purpose: external_exports.enum(["session", "identity_assertion"]).default("session"),
|
|
37417
37462
|
// Billing entitlement carried on the session. Optional because a GitHub session never has one
|
|
37418
37463
|
// and a Firebase session has one only once the claims exist. `determinedAt` is what makes it
|
|
37419
37464
|
// falsifiable: the token lives for 7 days, so a value that can go stale needs a freshness bound
|
|
37420
|
-
// enforced by the reader
|
|
37465
|
+
// enforced by the reader, not by the cookie.
|
|
37421
37466
|
entitlement: external_exports.object({
|
|
37422
37467
|
plan: external_exports.string(),
|
|
37423
37468
|
status: external_exports.enum(["active", "none"]),
|
|
@@ -38064,6 +38109,24 @@ var TASK_NOTES_JOURNAL_SECTIONS = [
|
|
|
38064
38109
|
];
|
|
38065
38110
|
var JOURNAL_HEADING_RE = new RegExp(`^##[ \\t]+(${TASK_NOTES_JOURNAL_SECTIONS.map((s) => s.heading).join("|")})\\b[ \\t]*(?:[\u2014\u2013-][ \\t]*(\\S.*?))?[ \\t]*$`);
|
|
38066
38111
|
|
|
38112
|
+
// ../../packages/schemas/dist/appsumo.js
|
|
38113
|
+
var APPSUMO_CODE_ALPHABET = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
38114
|
+
var APPSUMO_ALPHABET_SET = new Set(APPSUMO_CODE_ALPHABET);
|
|
38115
|
+
var redeemAppsumoCodeRequestSchema = external_exports.object({
|
|
38116
|
+
code: external_exports.string().min(1).max(64)
|
|
38117
|
+
});
|
|
38118
|
+
var redeemAppsumoCodeResponseSchema = external_exports.object({
|
|
38119
|
+
data: external_exports.object({
|
|
38120
|
+
outcome: external_exports.enum(["redeemed", "already_redeemed_by_you"]),
|
|
38121
|
+
codes: external_exports.number().int().min(1).max(4),
|
|
38122
|
+
tier: planTierSchema,
|
|
38123
|
+
limits: external_exports.object({
|
|
38124
|
+
projects: external_exports.number().int().nonnegative(),
|
|
38125
|
+
seats: external_exports.number().int().nonnegative()
|
|
38126
|
+
})
|
|
38127
|
+
})
|
|
38128
|
+
});
|
|
38129
|
+
|
|
38067
38130
|
// ../../packages/schemas/dist/integration-route-defaults.js
|
|
38068
38131
|
var DEFAULT_INTEGRATION_ROUTES = {
|
|
38069
38132
|
github: {
|
|
@@ -38665,9 +38728,12 @@ var mrrlinProjectSummarySchema = external_exports.object({
|
|
|
38665
38728
|
clientName: external_exports.string().trim().max(80).nullable().optional(),
|
|
38666
38729
|
scopeDescription: external_exports.string().trim().max(240).nullable().optional()
|
|
38667
38730
|
});
|
|
38731
|
+
var mrrlinProjectOperatorInputSchema = external_exports.string().regex(/^@[!-~]+$/, "operator must be '@' followed by printable ASCII with no whitespace");
|
|
38668
38732
|
var mrrlinProjectUpsertSchema = mrrlinProjectSummarySchema.omit({
|
|
38669
38733
|
onboardingKickoffState: true,
|
|
38670
38734
|
slug: true
|
|
38735
|
+
}).extend({
|
|
38736
|
+
github: mrrlinGithubBindingSchema.extend({ operator: mrrlinProjectOperatorInputSchema })
|
|
38671
38737
|
});
|
|
38672
38738
|
var mrrlinProjectRenameSchema = external_exports.object({
|
|
38673
38739
|
displayName: external_exports.string().trim().min(1).max(120).optional(),
|
|
@@ -39091,13 +39157,61 @@ var projectSnapshotResponseSchema = external_exports.object({
|
|
|
39091
39157
|
var projectSummaryResponseSchema = external_exports.object({
|
|
39092
39158
|
data: mrrlinProjectSummarySchema
|
|
39093
39159
|
});
|
|
39160
|
+
var projectListItemSchema = mrrlinProjectSummarySchema.extend({
|
|
39161
|
+
viewerRole: external_exports.enum(["owner", "collaborator"]).optional(),
|
|
39162
|
+
// True when this caller would get 402 (owner plan inactive, project over limit, or no seat) on
|
|
39163
|
+
// the project's routes. Lets the web skip paused projects when picking a default and offer the
|
|
39164
|
+
// ones that still open. Absent when the API runs without a session (auth disabled).
|
|
39165
|
+
paused: external_exports.boolean().optional()
|
|
39166
|
+
});
|
|
39094
39167
|
var projectSummaryListResponseSchema = external_exports.object({
|
|
39095
|
-
data: external_exports.array(
|
|
39168
|
+
data: external_exports.array(projectListItemSchema),
|
|
39096
39169
|
entitlement: external_exports.object({
|
|
39097
39170
|
plan: external_exports.string(),
|
|
39098
39171
|
status: external_exports.union([external_exports.literal("active"), external_exports.literal("none")])
|
|
39099
39172
|
})
|
|
39100
39173
|
});
|
|
39174
|
+
var accountEntitlementSchema = external_exports.object({
|
|
39175
|
+
accountId: external_exports.string(),
|
|
39176
|
+
standing: external_exports.enum(["entitled", "collaborator", "none"]),
|
|
39177
|
+
lapsed: external_exports.boolean(),
|
|
39178
|
+
tier: planTierSchema.nullable(),
|
|
39179
|
+
source: external_exports.enum(["stripe", "appsumo", "grant"]).nullable(),
|
|
39180
|
+
stripe: external_exports.object({
|
|
39181
|
+
status: external_exports.string(),
|
|
39182
|
+
tier: planTierSchema.nullable(),
|
|
39183
|
+
interval: external_exports.enum(["month", "year"]).nullable(),
|
|
39184
|
+
currentPeriodEnd: external_exports.string().nullable(),
|
|
39185
|
+
cancelAtPeriodEnd: external_exports.boolean()
|
|
39186
|
+
}).nullable(),
|
|
39187
|
+
appsumo: external_exports.object({
|
|
39188
|
+
codes: external_exports.number().int(),
|
|
39189
|
+
tier: planTierSchema
|
|
39190
|
+
}).nullable(),
|
|
39191
|
+
grant: external_exports.object({
|
|
39192
|
+
tier: planTierSchema,
|
|
39193
|
+
reason: external_exports.string()
|
|
39194
|
+
}).nullable(),
|
|
39195
|
+
limits: external_exports.object({
|
|
39196
|
+
projects: external_exports.number().int(),
|
|
39197
|
+
seats: external_exports.number().int()
|
|
39198
|
+
}).nullable(),
|
|
39199
|
+
usage: external_exports.object({
|
|
39200
|
+
projects: external_exports.number().int(),
|
|
39201
|
+
seats: external_exports.number().int()
|
|
39202
|
+
}),
|
|
39203
|
+
collaboratorProjects: external_exports.number().int(),
|
|
39204
|
+
upgradePath: external_exports.enum(["stripe", "appsumo", "none"]),
|
|
39205
|
+
tiers: external_exports.array(external_exports.object({
|
|
39206
|
+
tier: planTierSchema,
|
|
39207
|
+
projects: external_exports.number().int(),
|
|
39208
|
+
seats: external_exports.number().int(),
|
|
39209
|
+
selfServe: external_exports.boolean()
|
|
39210
|
+
}))
|
|
39211
|
+
});
|
|
39212
|
+
var accountEntitlementResponseSchema = external_exports.object({
|
|
39213
|
+
data: accountEntitlementSchema
|
|
39214
|
+
});
|
|
39101
39215
|
var taskResponseSchema = external_exports.object({
|
|
39102
39216
|
data: mrrlinTaskSchema
|
|
39103
39217
|
});
|
|
@@ -40021,6 +40135,47 @@ function resolveProjectClientScope(project) {
|
|
|
40021
40135
|
scopeDescription
|
|
40022
40136
|
};
|
|
40023
40137
|
}
|
|
40138
|
+
var resolvedAccountSchema = external_exports.object({
|
|
40139
|
+
accountId: external_exports.string().uuid(),
|
|
40140
|
+
principal: external_exports.string().min(1),
|
|
40141
|
+
emails: external_exports.array(external_exports.string().email()),
|
|
40142
|
+
providers: external_exports.array(external_exports.enum(["github", "firebase"]))
|
|
40143
|
+
});
|
|
40144
|
+
var resolveAccountResponseSchema = external_exports.object({
|
|
40145
|
+
data: external_exports.discriminatedUnion("outcome", [
|
|
40146
|
+
resolvedAccountSchema.extend({ outcome: external_exports.literal("resolved") }),
|
|
40147
|
+
resolvedAccountSchema.extend({ outcome: external_exports.literal("created") }),
|
|
40148
|
+
external_exports.object({
|
|
40149
|
+
outcome: external_exports.literal("link_required"),
|
|
40150
|
+
accountId: external_exports.string().uuid(),
|
|
40151
|
+
principal: external_exports.null(),
|
|
40152
|
+
emails: external_exports.array(external_exports.string()).length(0),
|
|
40153
|
+
providers: external_exports.array(external_exports.enum(["github", "firebase"])).min(1)
|
|
40154
|
+
}),
|
|
40155
|
+
external_exports.object({
|
|
40156
|
+
outcome: external_exports.literal("refused"),
|
|
40157
|
+
accountId: external_exports.string().uuid().nullable().optional(),
|
|
40158
|
+
principal: external_exports.null().optional(),
|
|
40159
|
+
emails: external_exports.array(external_exports.string()).optional(),
|
|
40160
|
+
providers: external_exports.array(external_exports.enum(["github", "firebase"])).optional()
|
|
40161
|
+
})
|
|
40162
|
+
])
|
|
40163
|
+
});
|
|
40164
|
+
var linkAccountIdentityRequestSchema = external_exports.object({
|
|
40165
|
+
assertion: external_exports.string().min(1)
|
|
40166
|
+
});
|
|
40167
|
+
var accountSummaryResponseSchema = external_exports.object({
|
|
40168
|
+
data: external_exports.object({
|
|
40169
|
+
accountId: external_exports.string().uuid(),
|
|
40170
|
+
principal: external_exports.string().min(1),
|
|
40171
|
+
emails: external_exports.array(external_exports.string().email()),
|
|
40172
|
+
identities: external_exports.array(external_exports.object({
|
|
40173
|
+
provider: external_exports.enum(["github", "firebase"]),
|
|
40174
|
+
login: external_exports.string().nullable(),
|
|
40175
|
+
email: external_exports.string().nullable()
|
|
40176
|
+
}))
|
|
40177
|
+
})
|
|
40178
|
+
});
|
|
40024
40179
|
|
|
40025
40180
|
// ../../packages/client/dist/agent-token-provider.js
|
|
40026
40181
|
var AgentTokenProviderError = class extends Error {
|
|
@@ -41143,6 +41298,60 @@ function createMrrlinClient(config2) {
|
|
|
41143
41298
|
await request(`/operator/agent-credentials/${encodeURIComponent(credentialId)}`, {
|
|
41144
41299
|
method: "DELETE"
|
|
41145
41300
|
});
|
|
41301
|
+
},
|
|
41302
|
+
async resolveAccount() {
|
|
41303
|
+
const body = await request("/auth/account/resolve", {
|
|
41304
|
+
method: "POST"
|
|
41305
|
+
});
|
|
41306
|
+
return resolveAccountResponseSchema.parse(body);
|
|
41307
|
+
},
|
|
41308
|
+
async linkAccountIdentity(assertion) {
|
|
41309
|
+
const body = await request("/auth/account/link", {
|
|
41310
|
+
body: JSON.stringify({ assertion }),
|
|
41311
|
+
headers: { "content-type": "application/json" },
|
|
41312
|
+
method: "POST"
|
|
41313
|
+
});
|
|
41314
|
+
return resolveAccountResponseSchema.parse(body);
|
|
41315
|
+
},
|
|
41316
|
+
async getMyAccount() {
|
|
41317
|
+
const body = await request("/me/account");
|
|
41318
|
+
return accountSummaryResponseSchema.parse(body);
|
|
41319
|
+
},
|
|
41320
|
+
async getMyEntitlement() {
|
|
41321
|
+
const body = await request("/me/entitlement");
|
|
41322
|
+
return accountEntitlementResponseSchema.parse(body).data;
|
|
41323
|
+
},
|
|
41324
|
+
async listBillingPlans() {
|
|
41325
|
+
const body = await request("/billing/plans");
|
|
41326
|
+
return billingPlansResponseSchema.parse(body).data.plans;
|
|
41327
|
+
},
|
|
41328
|
+
async createCheckoutSession(input) {
|
|
41329
|
+
const body = await request("/billing/checkout-session", {
|
|
41330
|
+
body: JSON.stringify(input),
|
|
41331
|
+
headers: { "content-type": "application/json" },
|
|
41332
|
+
method: "POST"
|
|
41333
|
+
});
|
|
41334
|
+
return billingUrlResponseSchema.parse(body).data;
|
|
41335
|
+
},
|
|
41336
|
+
async createBillingPortalSession() {
|
|
41337
|
+
const body = await request("/billing/portal-session", {
|
|
41338
|
+
method: "POST"
|
|
41339
|
+
});
|
|
41340
|
+
return billingUrlResponseSchema.parse(body).data;
|
|
41341
|
+
},
|
|
41342
|
+
async syncBilling() {
|
|
41343
|
+
const body = await request("/billing/sync", {
|
|
41344
|
+
method: "POST"
|
|
41345
|
+
});
|
|
41346
|
+
return accountEntitlementResponseSchema.parse(body).data;
|
|
41347
|
+
},
|
|
41348
|
+
async redeemAppsumoCode(code) {
|
|
41349
|
+
const body = await request("/appsumo/redeem", {
|
|
41350
|
+
body: JSON.stringify({ code }),
|
|
41351
|
+
headers: { "content-type": "application/json" },
|
|
41352
|
+
method: "POST"
|
|
41353
|
+
});
|
|
41354
|
+
return redeemAppsumoCodeResponseSchema.parse(body).data;
|
|
41146
41355
|
}
|
|
41147
41356
|
};
|
|
41148
41357
|
}
|
|
@@ -58695,7 +58904,7 @@ Do NOT derail the current task - if the operator has an in-flight question, answ
|
|
|
58695
58904
|
}
|
|
58696
58905
|
|
|
58697
58906
|
// src/_generated/version.ts
|
|
58698
|
-
var PKG_VERSION = "0.4.
|
|
58907
|
+
var PKG_VERSION = "0.4.99";
|
|
58699
58908
|
|
|
58700
58909
|
// src/director-closure.ts
|
|
58701
58910
|
var CLOSURE_SNAPSHOT_TIMEOUT_MS = 2e3;
|