@open-macaron/review 0.3.2 → 0.3.5
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/macaron-review.mjs +72 -2
- package/package.json +1 -1
package/macaron-review.mjs
CHANGED
|
@@ -28913,6 +28913,15 @@ var Me = external_exports.object({
|
|
|
28913
28913
|
role: external_exports.enum(["user", "admin"]),
|
|
28914
28914
|
capabilities: external_exports.array(Capability)
|
|
28915
28915
|
});
|
|
28916
|
+
var MonthlyCapUsd = external_exports.number().positive("a cap is above $0").max(1e5).multipleOf(0.01, "whole cents").nullable();
|
|
28917
|
+
var SetMonthlyCap = external_exports.object({ monthlyCapUsd: MonthlyCapUsd });
|
|
28918
|
+
var MyMonth = external_exports.object({
|
|
28919
|
+
monthlyCapUsd: MonthlyCapUsd,
|
|
28920
|
+
/** Settled runs billed to this user's key. */
|
|
28921
|
+
spentUsd: external_exports.number().nonnegative(),
|
|
28922
|
+
/** The limits of their runs not settled yet, counted against the cap until they are. */
|
|
28923
|
+
reservedUsd: external_exports.number().nonnegative()
|
|
28924
|
+
});
|
|
28916
28925
|
var InvitationStatus = external_exports.enum(["pending", "accepted", "revoked", "expired"]);
|
|
28917
28926
|
var Invitation = external_exports.object({
|
|
28918
28927
|
id: external_exports.uuid(),
|
|
@@ -28964,6 +28973,68 @@ var UsageQuery = external_exports.object({
|
|
|
28964
28973
|
before: external_exports.string().optional(),
|
|
28965
28974
|
limit: external_exports.coerce.number().int().min(1).max(100).default(25)
|
|
28966
28975
|
});
|
|
28976
|
+
var Endpoint = external_exports.object({
|
|
28977
|
+
id: external_exports.uuid(),
|
|
28978
|
+
name: external_exports.string(),
|
|
28979
|
+
baseUrl: external_exports.url(),
|
|
28980
|
+
enabled: external_exports.boolean(),
|
|
28981
|
+
pricingNote: external_exports.string().nullable(),
|
|
28982
|
+
/** Null for the deployment's defaults (LLM_ENDPOINT_DEFAULTS). */
|
|
28983
|
+
createdBy: GitHubLogin.nullable(),
|
|
28984
|
+
createdAt: Timestamp
|
|
28985
|
+
});
|
|
28986
|
+
var Endpoints = external_exports.object({ endpoints: external_exports.array(Endpoint) });
|
|
28987
|
+
var EndpointBaseUrl = external_exports.url({ protocol: /^https$/, error: "an https:// URL" }).refine((value) => {
|
|
28988
|
+
const url2 = URL.parse(value);
|
|
28989
|
+
return url2 === null || url2.username === "" && url2.password === "" && url2.search === "" && url2.hash === "";
|
|
28990
|
+
}, "no credentials, query or fragment in the URL").transform((value) => value.replace(/\/+$/, ""));
|
|
28991
|
+
var CreateEndpoint = external_exports.object({
|
|
28992
|
+
name: external_exports.string().trim().min(2).max(60),
|
|
28993
|
+
baseUrl: EndpointBaseUrl,
|
|
28994
|
+
pricingNote: external_exports.string().trim().max(280).nullish().transform((note) => note === void 0 || note === null || note === "" ? null : note)
|
|
28995
|
+
});
|
|
28996
|
+
var SetEndpointEnabled = external_exports.object({ enabled: external_exports.boolean() });
|
|
28997
|
+
var EndpointChoice = Endpoint.pick({ id: true, name: true, baseUrl: true, pricingNote: true });
|
|
28998
|
+
var LlmKeyStatus = external_exports.enum(["valid", "rejected"]);
|
|
28999
|
+
var LlmKey = external_exports.object({
|
|
29000
|
+
endpoint: Endpoint.pick({ id: true, name: true, baseUrl: true, pricingNote: true, enabled: true }),
|
|
29001
|
+
last4: external_exports.string(),
|
|
29002
|
+
/** `rejected` once the endpoint refused it during a run: save it again, or another. */
|
|
29003
|
+
status: LlmKeyStatus,
|
|
29004
|
+
validatedAt: Timestamp,
|
|
29005
|
+
createdAt: Timestamp,
|
|
29006
|
+
updatedAt: Timestamp
|
|
29007
|
+
});
|
|
29008
|
+
var MyLlmKey = external_exports.object({
|
|
29009
|
+
key: LlmKey.nullable(),
|
|
29010
|
+
/** The enabled endpoints a key may be saved for. */
|
|
29011
|
+
endpoints: external_exports.array(EndpointChoice),
|
|
29012
|
+
/** False when this deployment can't store keys (no key-encryption key): saving is refused. */
|
|
29013
|
+
storage: external_exports.boolean(),
|
|
29014
|
+
/** Until when this session may save or delete a key; sign in again after. */
|
|
29015
|
+
freshUntil: Timestamp
|
|
29016
|
+
});
|
|
29017
|
+
var SaveLlmKey = external_exports.object({
|
|
29018
|
+
endpointId: external_exports.uuid(),
|
|
29019
|
+
key: external_exports.string().trim().min(8, "too short for an API key").max(1024, "too long for an API key").regex(/^[\x21-\x7e]+$/, "printable characters only, without spaces")
|
|
29020
|
+
});
|
|
29021
|
+
var SavedLlmKey = external_exports.object({
|
|
29022
|
+
key: LlmKey,
|
|
29023
|
+
/** Models the configuration uses that the endpoint didn't list: runs needing them would fail. */
|
|
29024
|
+
missingModels: external_exports.array(external_exports.string())
|
|
29025
|
+
});
|
|
29026
|
+
var LlmKeyEventKind = external_exports.enum(["created", "replaced", "deleted", "used", "rejected", "unreachable"]);
|
|
29027
|
+
var LlmKeyEvent = external_exports.object({
|
|
29028
|
+
id: external_exports.uuid(),
|
|
29029
|
+
kind: LlmKeyEventKind,
|
|
29030
|
+
at: Timestamp,
|
|
29031
|
+
endpointName: external_exports.string().nullable(),
|
|
29032
|
+
last4: external_exports.string().nullable(),
|
|
29033
|
+
/** The thread of the run that used the key, for `used` and `rejected` during a run. */
|
|
29034
|
+
thread: external_exports.object({ repo: external_exports.string(), number: external_exports.int().positive(), kind: external_exports.enum(["issue", "pull"]) }).nullable(),
|
|
29035
|
+
detail: external_exports.string().nullable()
|
|
29036
|
+
});
|
|
29037
|
+
var LlmKeyEvents = external_exports.object({ events: external_exports.array(LlmKeyEvent), nextCursor: external_exports.string().nullable() });
|
|
28967
29038
|
|
|
28968
29039
|
// ../contracts/src/auth-fields.ts
|
|
28969
29040
|
var AUTH_COOKIE_PREFIX = "macaron";
|
|
@@ -29494,7 +29565,7 @@ var GlobalFile = external_exports.strictObject({
|
|
|
29494
29565
|
var ProjectFile = external_exports.strictObject({
|
|
29495
29566
|
project: Slug,
|
|
29496
29567
|
owners: external_exports.string().regex(/^@[A-Za-z0-9-]+\/[A-Za-z0-9-]+$/),
|
|
29497
|
-
|
|
29568
|
+
/** Review bots whose comments on the bot's pull requests count, for review loops only. */
|
|
29498
29569
|
bots: external_exports.array(GitHubLogin).default([]),
|
|
29499
29570
|
budget: external_exports.strictObject({ monthUsd: Usd }),
|
|
29500
29571
|
concurrency: external_exports.int().min(1).max(50),
|
|
@@ -29506,7 +29577,6 @@ var RepoConfig = RepoSettings.extend({
|
|
|
29506
29577
|
repo: RepoSlug,
|
|
29507
29578
|
fork: ForkName,
|
|
29508
29579
|
project: Slug,
|
|
29509
|
-
users: external_exports.array(GitHubLogin),
|
|
29510
29580
|
bots: external_exports.array(GitHubLogin)
|
|
29511
29581
|
});
|
|
29512
29582
|
var mergeSettings = deepmergeCustom({ mergeArrays: false });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-macaron/review",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "macaron-bot's review engine: open-macaron/knowledge rules selected by changed files, checked by an agent in a read-only session, evidence verified. Used by the bot and, as the macaron-review CLI, locally.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|