@apilift/cli 1.4.40-dev.1792138042.e8a4f6750dc5d2eba58515d30b501f737c2846dc → 1.5.0
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.
|
@@ -27963,7 +27963,7 @@ var init_schema = __esm({
|
|
|
27963
27963
|
resourceKindSchema = external_exports.enum(resourceKinds);
|
|
27964
27964
|
segmentSchema = external_exports.string().regex(/^[a-z][a-z0-9_-]{0,79}$/);
|
|
27965
27965
|
appSlugSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,79}$/);
|
|
27966
|
-
actionNameSchema = external_exports.string().regex(/^[a-z][a-z0-
|
|
27966
|
+
actionNameSchema = external_exports.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "Use entity.verb with kebab-case in each part").refine((name) => name.split(".").every((part) => part.length <= 80), "Action name parts must be at most 80 characters");
|
|
27967
27967
|
generatedNameSchema = external_exports.string().regex(/^[a-z][a-z0-9_-]{0,63}$/);
|
|
27968
27968
|
inputNameSchema = external_exports.string().regex(/^[A-Za-z][A-Za-z0-9_-]{0,79}$/);
|
|
27969
27969
|
pointerSchema = external_exports.string().refine((value) => value === "" || value.startsWith("/") && value.split("/").slice(1).every((part) => !/~(?![01])/.test(part)), "Expected a JSON Pointer");
|
|
@@ -29399,7 +29399,7 @@ var resourceKinds = ["app", "entity", "action", "transport", "browser-context"];
|
|
|
29399
29399
|
var resourceKindSchema = external_exports.enum(resourceKinds);
|
|
29400
29400
|
var segmentSchema = external_exports.string().regex(/^[a-z][a-z0-9_-]{0,79}$/);
|
|
29401
29401
|
var appSlugSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,79}$/);
|
|
29402
|
-
var actionNameSchema = external_exports.string().regex(/^[a-z][a-z0-
|
|
29402
|
+
var actionNameSchema = external_exports.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "Use entity.verb with kebab-case in each part").refine((name) => name.split(".").every((part) => part.length <= 80), "Action name parts must be at most 80 characters");
|
|
29403
29403
|
var generatedNameSchema = external_exports.string().regex(/^[a-z][a-z0-9_-]{0,63}$/);
|
|
29404
29404
|
var inputNameSchema = external_exports.string().regex(/^[A-Za-z][A-Za-z0-9_-]{0,79}$/);
|
|
29405
29405
|
var pointerSchema = external_exports.string().refine((value) => value === "" || value.startsWith("/") && value.split("/").slice(1).every((part) => !/~(?![01])/.test(part)), "Expected a JSON Pointer");
|
package/dist/apilift.js
CHANGED
|
@@ -28027,7 +28027,7 @@ var init_schema = __esm({
|
|
|
28027
28027
|
resourceKindSchema = external_exports.enum(resourceKinds);
|
|
28028
28028
|
segmentSchema = external_exports.string().regex(/^[a-z][a-z0-9_-]{0,79}$/);
|
|
28029
28029
|
appSlugSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,79}$/);
|
|
28030
|
-
actionNameSchema = external_exports.string().regex(/^[a-z][a-z0-
|
|
28030
|
+
actionNameSchema = external_exports.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/, "Use entity.verb with kebab-case in each part").refine((name) => name.split(".").every((part) => part.length <= 80), "Action name parts must be at most 80 characters");
|
|
28031
28031
|
generatedNameSchema = external_exports.string().regex(/^[a-z][a-z0-9_-]{0,63}$/);
|
|
28032
28032
|
inputNameSchema = external_exports.string().regex(/^[A-Za-z][A-Za-z0-9_-]{0,79}$/);
|
|
28033
28033
|
pointerSchema = external_exports.string().refine((value) => value === "" || value.startsWith("/") && value.split("/").slice(1).every((part) => !/~(?![01])/.test(part)), "Expected a JSON Pointer");
|
|
@@ -34172,7 +34172,7 @@ async function openDraft(invocation, api, store, session, root, kind, name) {
|
|
|
34172
34172
|
if (!current) return fail5(`No discovery app is open. Start with ${command4(invocation, "apps new <app-slug>")} or ${command4(invocation, "apps update <app>")}.
|
|
34173
34173
|
`);
|
|
34174
34174
|
if (kind === "app" && name) return fail5("The app draft takes no resource name.\n");
|
|
34175
|
-
if (kind === "action" && !actionNameSchema.safeParse(name).success) return fail5(`${actionNameHelp}
|
|
34175
|
+
if (kind === "action" && !actionNameSchema.safeParse(name).success) return fail5(`${actionNameHelp}
|
|
34176
34176
|
Create or edit it with ${command4(invocation, "discover draft action <entity.verb>")}. No draft was created and no app request was sent.
|
|
34177
34177
|
`);
|
|
34178
34178
|
if (kind !== "app" && !name) return fail5(`Name the ${kind} resource.
|
|
@@ -34205,7 +34205,7 @@ function researchTables(state) {
|
|
|
34205
34205
|
state.db.exec("CREATE TABLE IF NOT EXISTS discovery_research (app_slug TEXT NOT NULL, scope TEXT NOT NULL, file_path TEXT NOT NULL, conclusion TEXT, saved_at TEXT, PRIMARY KEY(app_slug,scope)); CREATE TABLE IF NOT EXISTS selected_discovery_research (session_id TEXT PRIMARY KEY, app_slug TEXT NOT NULL, scope TEXT NOT NULL)");
|
|
34206
34206
|
}
|
|
34207
34207
|
function researchPath(root, appSlug, scope2) {
|
|
34208
|
-
if (
|
|
34208
|
+
if (scope2 !== "app" && !actionNameSchema.safeParse(scope2).success) throw new Error(`Research scope must be app or an action name. ${actionNameHelp}`);
|
|
34209
34209
|
return join12(root, "drafts", appSlug, "api", `${scope2}.jsonc`);
|
|
34210
34210
|
}
|
|
34211
34211
|
function handleResearch(invocation, state, store, session, root) {
|
|
@@ -35303,7 +35303,7 @@ var init_discover = __esm({
|
|
|
35303
35303
|
backendKind = (kind) => kind === "browser-page" ? "browser-context" : kind;
|
|
35304
35304
|
label = (kind) => kind === "transport" ? "connection" : kind === "browser-page" ? "browser page" : kind;
|
|
35305
35305
|
command4 = (invocation, suffix) => `${commandPrefix(invocation.sessionLabel)} ${suffix}`;
|
|
35306
|
-
actionNameHelp = "Action names use entity.verb, for example ticket.get: entity names the domain object and verb names the operation.";
|
|
35306
|
+
actionNameHelp = "Action names use entity.verb with kebab-case in each part, for example support-ticket.get-details: entity names the domain object and verb names the operation.";
|
|
35307
35307
|
issueLines = (issues) => issues.map((issue2) => ` ${issue2.path}: ${issue2.message}`).join("\n");
|
|
35308
35308
|
ajv4 = new import__4.default({ allErrors: true, strict: false, coerceTypes: false });
|
|
35309
35309
|
sessionRequired = (invocation) => fail5(`A stable agent identity is required for discovery. No state changed. Choose a unique worker label and keep it on every command:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apilift/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"engines": {
|
|
37
37
|
"node": ">=24.16.0 <27"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "c42fa5b76367755fd456e083943e10356591aa33",
|
|
40
40
|
"repository": {
|
|
41
41
|
"type": "git",
|
|
42
42
|
"url": "git+https://github.com/egor-sergeev/apilift.git",
|