@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.
Files changed (2) hide show
  1. package/dist/fleek.mjs +57 -9
  2. 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.16";
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 = 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 detectSecretShape(text6) {
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; empty / false = ask first (strict default - never pre-set to true)
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
- "Abwicklung: fleek route <ticket> <schlüssel> [--claim <id>] | fleek route <ticket> --default",
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.t("init.outputInvalid", { app: app.key, field: agentOutput && !agentOutput.ok ? agentOutput.issues[0]?.path || "-" : "-" })));
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.t("init.outputInvalid", { app: app.key, field: parsed.issues[0]?.path || "-" })));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logic-joe/fleek",
3
- "version": "0.2.16",
3
+ "version": "0.2.17",
4
4
  "description": "fleek - command line client for the Fleek agent hub (MCP over OAuth, OS keychain, signed role/project kits)",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",