@logic-joe/fleek 0.2.16 → 0.2.17
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/fleek.mjs +57 -9
- package/package.json +1 -1
package/dist/fleek.mjs
CHANGED
|
@@ -4653,7 +4653,7 @@ var require_setup_session = __commonJS({
|
|
|
4653
4653
|
exports.SETUP_SESSION_TTL_MINUTES = 30;
|
|
4654
4654
|
exports.SETUP_SESSION_OPEN_MAX = 10;
|
|
4655
4655
|
exports.SETUP_SESSION_CLAIM_LIMIT = 10;
|
|
4656
|
-
exports.FLEEK_CLI_SETUP_VERSION_DEFAULT = "0.2.
|
|
4656
|
+
exports.FLEEK_CLI_SETUP_VERSION_DEFAULT = "0.2.17";
|
|
4657
4657
|
exports.FLEEK_CLI_PACKAGE = "@logic-joe/fleek";
|
|
4658
4658
|
exports.FLEEK_CANONICAL_SERVER = "https://api.onfleek.app";
|
|
4659
4659
|
exports.SETUP_CLIENT_APPS = ["claude-code", "codex", "orca", "cursor", "other"];
|
|
@@ -31681,7 +31681,7 @@ var require_secret_shape = __commonJS({
|
|
|
31681
31681
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31682
31682
|
exports.SECRET_SHAPE_LIMITS = void 0;
|
|
31683
31683
|
exports.validUrlHost = validUrlHost;
|
|
31684
|
-
exports.detectSecretShape =
|
|
31684
|
+
exports.detectSecretShape = detectSecretShape2;
|
|
31685
31685
|
exports.SECRET_SHAPE_LIMITS = { highEntropyMinRun: 32, highEntropyMinBits: 4.2, highEntropyMinSwitchRate: 0.35 };
|
|
31686
31686
|
var TOKEN_PREFIXES = [
|
|
31687
31687
|
["ghp_", 30],
|
|
@@ -31983,7 +31983,7 @@ var require_secret_shape = __commonJS({
|
|
|
31983
31983
|
}
|
|
31984
31984
|
return -1;
|
|
31985
31985
|
}
|
|
31986
|
-
function
|
|
31986
|
+
function detectSecretShape2(text6) {
|
|
31987
31987
|
if (text6.length === 0)
|
|
31988
31988
|
return null;
|
|
31989
31989
|
if (text6.includes("-----BEGIN "))
|
|
@@ -32670,7 +32670,7 @@ var require_knowledge_skeleton = __commonJS({
|
|
|
32670
32670
|
"../validation/dist/agent-platform/knowledge-skeleton.js"(exports) {
|
|
32671
32671
|
"use strict";
|
|
32672
32672
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32673
|
-
exports.PROJECT_CORE_PAGES = exports.DEVELOPMENT_PROFILE_KEYS = void 0;
|
|
32673
|
+
exports.PROJECT_CORE_PAGES = exports.DEVELOPMENT_PROFILE_KEYS = exports.AGENT_GIT_KEYS = exports.AGENT_GIT_DEFAULTS = void 0;
|
|
32674
32674
|
exports.exampleProfileSchema = exampleProfileSchema;
|
|
32675
32675
|
exports.withMissingExampleFields = withMissingExampleFields;
|
|
32676
32676
|
exports.skeletonLabels = skeletonLabels;
|
|
@@ -32694,7 +32694,8 @@ var require_knowledge_skeleton = __commonJS({
|
|
|
32694
32694
|
// `fleek_get_project_brief` (never guessed; forms written as examples, without angle brackets: the agent reads them through
|
|
32695
32695
|
// the text owner). Env files only by name, never credentials.
|
|
32696
32696
|
...DEVELOPMENT_FIELDS.map(([key, de, en, type]) => developmentField(key, t(L(de, en)), type)),
|
|
32697
|
-
// "Agenten dürfen (Git)": true = without asking;
|
|
32697
|
+
// "Agenten dürfen (Git)": true = without asking; false = ask first. Empty = the code default `AGENT_GIT_DEFAULTS` (bundle R A8;
|
|
32698
|
+
// the brief returns the effective value with its source) - the profile field is never pre-set
|
|
32698
32699
|
...AGENT_GIT_FIELDS.map(([key, de, en]) => ({ key, label: t(L(de, en)), type: "bool" }))
|
|
32699
32700
|
]
|
|
32700
32701
|
};
|
|
@@ -32731,6 +32732,17 @@ var require_knowledge_skeleton = __commonJS({
|
|
|
32731
32732
|
["agent_git_delete_remote", "Agenten dürfen Remote-Branch löschen", "Agents may delete the remote branch"],
|
|
32732
32733
|
["agent_git_stop_servers", "Agenten dürfen fremde Server stoppen", "Agents may stop other servers"]
|
|
32733
32734
|
];
|
|
32735
|
+
exports.AGENT_GIT_DEFAULTS = Object.freeze({
|
|
32736
|
+
agent_git_commit: true,
|
|
32737
|
+
agent_git_push: true,
|
|
32738
|
+
// own feature branch only
|
|
32739
|
+
agent_git_open_mr: true,
|
|
32740
|
+
agent_git_merge: false,
|
|
32741
|
+
agent_git_delete_local: false,
|
|
32742
|
+
agent_git_delete_remote: false,
|
|
32743
|
+
agent_git_stop_servers: false
|
|
32744
|
+
});
|
|
32745
|
+
exports.AGENT_GIT_KEYS = AGENT_GIT_FIELDS.map(([key]) => key);
|
|
32734
32746
|
exports.DEVELOPMENT_PROFILE_KEYS = [...DEVELOPMENT_FIELDS.map(([key]) => key), ...AGENT_GIT_FIELDS.map(([key]) => key)];
|
|
32735
32747
|
function developmentField(key, label, type) {
|
|
32736
32748
|
switch (type) {
|
|
@@ -36153,7 +36165,7 @@ var require_agent_error_details = __commonJS({
|
|
|
36153
36165
|
CLAIMED_BY_OTHER: { holderLabel: string4, expiresAt: string4, holderRef: personRef },
|
|
36154
36166
|
CLAIM_REQUIRED: { issueIds: list2, requiredPurpose: oneOf3(["work"]), providedPurpose: oneOf3(["review"]) },
|
|
36155
36167
|
RENEW_LIMIT: { hardExpiresAt: string4 },
|
|
36156
|
-
NOT_READY: { readySelector: string4 },
|
|
36168
|
+
NOT_READY: { readySelector: string4, reason: oneOf3(["restricted_person", "not_own_agent"]) },
|
|
36157
36169
|
REVISION_CONFLICT: { currentRevision: integer },
|
|
36158
36170
|
STATE_CONFLICT: { currentStateVersion: integer },
|
|
36159
36171
|
TYPED_COMMENT_IMMUTABLE: { kind: string4 },
|
|
@@ -37954,6 +37966,7 @@ var EN = {
|
|
|
37954
37966
|
"init.manualBoundary": "You start the agent yourself: the file selection is only a recommendation, the agent may read more on your machine.",
|
|
37955
37967
|
"init.outputTimeout": "{app}: no output file in time.",
|
|
37956
37968
|
"init.outputInvalid": "{app}: the output file is not valid ({field}).",
|
|
37969
|
+
"init.outputInvalidValue": '{app}: the output file is not valid ({field}: "{value}" is not allowed).',
|
|
37957
37970
|
"init.unusable": "{app}: the analysis contains something that looks like a credential in a required field - nothing sent.",
|
|
37958
37971
|
"init.removed": "{count} value(s) removed: looks like a credential or a forbidden path ({paths}).",
|
|
37959
37972
|
"init.preview": "{app}: {sections} section(s), {components} component(s), {hints} review hint(s), {environments} environment(s), {warnings} hint(s) for the reviewer.",
|
|
@@ -38339,7 +38352,7 @@ var DE = {
|
|
|
38339
38352
|
" fleek work complete <claim> --outcome done|partial|handed_off --summary <text>",
|
|
38340
38353
|
" fleek work progress <claim> --summary <text>",
|
|
38341
38354
|
"Fragen: fleek ask <ticket> --text <frage> | fleek answer <frage> --text <antwort>",
|
|
38342
|
-
"
|
|
38355
|
+
"Auftragsart: fleek route <ticket> <schlüssel> [--claim <id>] | fleek route <ticket> --default",
|
|
38343
38356
|
"Kontext: fleek context <ticket> | fleek inbox | fleek wait [--cursor <c>] [--seconds <n>]",
|
|
38344
38357
|
"Ereignisse: fleek listen --exec <programm> [args...] [--name <n>] [--timeout <1..3600>] [--concurrency <1|2>] [--quiet-children] [--from-now]",
|
|
38345
38358
|
"MCP: fleek mcp proxy [--profile <schlüssel|workspace>] [--app claude-code|codex|orca] [--label <text>] (stdio-MCP über diese Anmeldung)",
|
|
@@ -38742,6 +38755,7 @@ var DE = {
|
|
|
38742
38755
|
"init.manualBoundary": "Du startest den Agenten selbst: Die Dateiauswahl ist nur eine Empfehlung, der Agent kann auf deinem Rechner mehr lesen.",
|
|
38743
38756
|
"init.outputTimeout": "{app}: keine Ausgabedatei innerhalb der Frist.",
|
|
38744
38757
|
"init.outputInvalid": "{app}: Die Ausgabedatei ist ungültig ({field}).",
|
|
38758
|
+
"init.outputInvalidValue": "{app}: Die Ausgabedatei ist ungültig ({field}: „{value}“ ist nicht erlaubt).",
|
|
38745
38759
|
"init.unusable": "{app}: Die Analyse enthält in einem Pflichtfeld etwas, das wie ein Zugangsschlüssel aussieht - nichts gesendet.",
|
|
38746
38760
|
"init.removed": "{count} Angabe(n) entfernt: sieht aus wie ein Zugangsschlüssel oder ein verbotener Pfad ({paths}).",
|
|
38747
38761
|
"init.preview": "{app}: {sections} Abschnitt(e), {components} Komponente(n), {hints} Prüfhinweis(e), {environments} Umgebung(en), {warnings} Hinweis(e) für die Prüfung.",
|
|
@@ -57492,9 +57506,43 @@ function instructions2(ctx, app, facts) {
|
|
|
57492
57506
|
}, null, 2),
|
|
57493
57507
|
"```",
|
|
57494
57508
|
"",
|
|
57509
|
+
...allowedValueLines(de),
|
|
57495
57510
|
de ? `Grenzen: Abschnitte ≤ ${import_validation3.PROJECT_INIT_LIMITS.section} Zeichen, Hinweise ≤ ${import_validation3.PROJECT_INIT_LIMITS.reviewHints}, Datei ≤ 64 KiB. Einfacher Text mit Absätzen und Spiegelstrichen.` : `Bounds: sections <= ${import_validation3.PROJECT_INIT_LIMITS.section} characters, hints <= ${import_validation3.PROJECT_INIT_LIMITS.reviewHints}, file <= 64 KiB. Plain text with paragraphs and bullets.`
|
|
57496
57511
|
].join("\n");
|
|
57497
57512
|
}
|
|
57513
|
+
var INIT_AGENT_ENUM_FIELDS = [
|
|
57514
|
+
["cms.items[].kind", import_validation3.PROJECT_INIT_CMS_ITEM_KINDS],
|
|
57515
|
+
["integrations[].kind", import_validation3.PROJECT_INIT_INTEGRATION_KINDS],
|
|
57516
|
+
["integrations[].direction", import_validation3.PROJECT_INIT_DIRECTIONS],
|
|
57517
|
+
["environments[].label", import_validation3.PROJECT_INIT_ENVIRONMENTS],
|
|
57518
|
+
["reviewHints[].topic", import_validation3.PROJECT_INIT_HINT_TOPICS],
|
|
57519
|
+
["statementChecks[].result", import_validation3.PROJECT_INIT_STATEMENT_RESULTS]
|
|
57520
|
+
];
|
|
57521
|
+
function allowedValueLines(de) {
|
|
57522
|
+
return [
|
|
57523
|
+
de ? "## Erlaubte Werte" : "## Allowed values",
|
|
57524
|
+
de ? "- Diese Felder nehmen genau einen der genannten Werte; jeder andere Wert macht die ganze Ausgabe ungültig. Passt keiner, nimm `other`, wo es ihn gibt." : "- These fields take exactly one of the listed values; any other value invalidates the whole output. If none fits, use `other` where it exists.",
|
|
57525
|
+
...INIT_AGENT_ENUM_FIELDS.map(([field, values]) => `- \`${field}\`: ${values.map((value) => `\`${value}\``).join(", ")}`),
|
|
57526
|
+
""
|
|
57527
|
+
];
|
|
57528
|
+
}
|
|
57529
|
+
function rejectedEnumValue(root, issue) {
|
|
57530
|
+
if (!issue || issue.reason !== "invalid_enum_value") return null;
|
|
57531
|
+
let current2 = root;
|
|
57532
|
+
for (const [, index, key] of issue.path.matchAll(/\[(\d+)\]|([^.[\]]+)/g)) {
|
|
57533
|
+
if (current2 === null || typeof current2 !== "object") return null;
|
|
57534
|
+
const step = index !== void 0 ? Number(index) : key;
|
|
57535
|
+
if (!Object.prototype.hasOwnProperty.call(current2, step)) return null;
|
|
57536
|
+
current2 = current2[step];
|
|
57537
|
+
}
|
|
57538
|
+
if (typeof current2 !== "string" || current2.length === 0 || current2.length > 40 || !/^[\p{L}\p{N} _.\-/]+$/u.test(current2)) return null;
|
|
57539
|
+
return (0, import_validation3.detectSecretShape)(current2) ? null : current2;
|
|
57540
|
+
}
|
|
57541
|
+
function outputInvalidLine(ctx, app, root, issue) {
|
|
57542
|
+
const field = issue?.path || "-";
|
|
57543
|
+
const value = rejectedEnumValue(root, issue);
|
|
57544
|
+
return value === null ? ctx.t("init.outputInvalid", { app, field }) : ctx.t("init.outputInvalidValue", { app, field, value });
|
|
57545
|
+
}
|
|
57498
57546
|
function projectFactLines(de, facts) {
|
|
57499
57547
|
const matched = projectFactsForStack(facts.stack.map((item2) => item2.product));
|
|
57500
57548
|
if (!matched.length) return [];
|
|
@@ -57975,7 +58023,7 @@ async function runApplication(ctx, client, values, checkout, context, app, appli
|
|
|
57975
58023
|
const agentOutput = raw === void 0 ? null : (0, import_validation3.parseProjectInitAgentOutput)(raw);
|
|
57976
58024
|
if (!agentOutput?.ok) {
|
|
57977
58025
|
emit(ctx, { event: "error", app: app.key, code: "output_invalid" });
|
|
57978
|
-
if (!ctx.json) ctx.out.error(ctx.out.style.fail(ctx
|
|
58026
|
+
if (!ctx.json) ctx.out.error(ctx.out.style.fail(outputInvalidLine(ctx, app.key, raw, agentOutput && !agentOutput.ok ? agentOutput.issues[0] : void 0)));
|
|
57979
58027
|
return "failed";
|
|
57980
58028
|
}
|
|
57981
58029
|
const composed = (0, import_validation3.composeProjectInitSummary)({
|
|
@@ -57987,7 +58035,7 @@ async function runApplication(ctx, client, values, checkout, context, app, appli
|
|
|
57987
58035
|
const parsed = (0, import_validation3.parseProjectInitSummary)(composed);
|
|
57988
58036
|
if (!parsed.ok) {
|
|
57989
58037
|
emit(ctx, { event: "error", app: app.key, code: "output_invalid" });
|
|
57990
|
-
if (!ctx.json) ctx.out.error(ctx.out.style.fail(ctx
|
|
58038
|
+
if (!ctx.json) ctx.out.error(ctx.out.style.fail(outputInvalidLine(ctx, app.key, composed, parsed.issues[0])));
|
|
57991
58039
|
return "failed";
|
|
57992
58040
|
}
|
|
57993
58041
|
const findings = (0, import_validation3.scanProjectInit)(parsed.value);
|
package/package.json
CHANGED