primitive-admin 1.2.0-alpha.8 → 1.2.0-alpha.9

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 (42) hide show
  1. package/assets/skill/skills/primitive-platform/SKILL.md +12 -4
  2. package/dist/src/commands/apps-children.d.ts +1 -1
  3. package/dist/src/commands/apps-children.js +53 -145
  4. package/dist/src/commands/apps-children.js.map +1 -1
  5. package/dist/src/commands/database-types.js +13 -313
  6. package/dist/src/commands/database-types.js.map +1 -1
  7. package/dist/src/commands/llm.js +9 -6
  8. package/dist/src/commands/llm.js.map +1 -1
  9. package/dist/src/commands/settings.d.ts +12 -9
  10. package/dist/src/commands/settings.js +31 -79
  11. package/dist/src/commands/settings.js.map +1 -1
  12. package/dist/src/commands/sync.d.ts +1 -8
  13. package/dist/src/commands/sync.js +3 -35
  14. package/dist/src/commands/sync.js.map +1 -1
  15. package/dist/src/lib/api-client.d.ts +21 -0
  16. package/dist/src/lib/api-client.js +58 -0
  17. package/dist/src/lib/api-client.js.map +1 -1
  18. package/dist/src/lib/child-apps-local.d.ts +0 -46
  19. package/dist/src/lib/child-apps-local.js +2 -72
  20. package/dist/src/lib/child-apps-local.js.map +1 -1
  21. package/dist/src/lib/function-triggers.d.ts +15 -3
  22. package/dist/src/lib/function-triggers.js +72 -10
  23. package/dist/src/lib/function-triggers.js.map +1 -1
  24. package/dist/src/lib/generated-config-surfaces.d.ts +48 -11
  25. package/dist/src/lib/generated-config-surfaces.js +157 -39
  26. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  27. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  28. package/dist/src/lib/generated-sdk-types.js +1 -1
  29. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  30. package/dist/src/lib/generated-workflow-model-fields.d.ts +20 -0
  31. package/dist/src/lib/generated-workflow-model-fields.js +53 -0
  32. package/dist/src/lib/generated-workflow-model-fields.js.map +1 -0
  33. package/dist/src/lib/prompt-schema-codegen.d.ts +10 -3
  34. package/dist/src/lib/prompt-schema-codegen.js +52 -14
  35. package/dist/src/lib/prompt-schema-codegen.js.map +1 -1
  36. package/dist/src/lib/swift-codegen/agentGenerator.d.ts +6 -2
  37. package/dist/src/lib/swift-codegen/agentGenerator.js +56 -4
  38. package/dist/src/lib/swift-codegen/agentGenerator.js.map +1 -1
  39. package/dist/src/lib/workflow-field-descriptor.d.ts +91 -0
  40. package/dist/src/lib/workflow-field-descriptor.js +153 -0
  41. package/dist/src/lib/workflow-field-descriptor.js.map +1 -0
  42. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;CAiBL,CACI,CAAC;IAEJ,eAAe;IACf,QAAQ;SACL,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,gDAAgD,CAAC;SAC7D,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SAClC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,CAAC,IAAI,SAAS,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1694,7 +1694,6 @@ export interface PushFieldDiff {
1694
1694
  */
1695
1695
  export type PushGateOutcome = {
1696
1696
  action: "live-unavailable";
1697
- transient?: boolean;
1698
1697
  } | {
1699
1698
  action: "create";
1700
1699
  } | {
@@ -2566,17 +2565,11 @@ interface PushResolutionMaps {
2566
2565
  /** Whether a block is authored locally but not on the server yet. */
2567
2566
  isPlannedBlock?: (blockType: TestBlockType, blockKey: string) => boolean;
2568
2567
  }
2569
- /**
2570
- * A failure row the push reports and exits nonzero on (`applyFailures`).
2571
- * `transient` is set where a request failed without an answer, or with a
2572
- * transient status: a push that failed only on such rows may succeed when run
2573
- * again (#4491).
2574
- */
2568
+ /** A failure row the push reports and exits nonzero on (`applyFailures`). */
2575
2569
  type ApplyFailure = {
2576
2570
  type: string;
2577
2571
  key: string;
2578
2572
  message: string;
2579
- transient?: boolean;
2580
2573
  };
2581
2574
  /** The attachment bookkeeping a test case's sync-state record carries. */
2582
2575
  type RecordedAttachments = {
@@ -89,8 +89,6 @@ export { resolveSlugCollisions, slugifyTestCaseName, testCaseFileBasenames, } fr
89
89
  import { success, error, printApiError, info, warn, keyValue, json, divider, } from "../lib/output.js";
90
90
  import { filterFilesBySelection, parseSyncSelectors, SelectorError, selectionIncludesKey, selectionIncludesType, selectionIncludesApp, selectionIncludesAnyVar, trackedSelectorKeys, unmatchedSelectors, } from "../lib/sync-selectors.js";
91
91
  import { confirmPrompt, ConfirmPromptError } from "../lib/confirm-prompt.js";
92
- import { pushFailureIsTransient, writePushFailureReport } from "../lib/push-failure-report.js";
93
- import { isTransientRequestFailure } from "../lib/transient-retry.js";
94
92
  import { signingSecretStatusWarning, signingSecretHealthWarning, previousSigningSecretWarning, } from "../lib/signing-secret-status.js";
95
93
  import chalk from "chalk";
96
94
  function ensureDir(dirPath) {
@@ -7221,7 +7219,6 @@ export async function pushTestCasesForBlock(params) {
7221
7219
  const testCaseExtra = { lookupMaps: params.lookupMaps };
7222
7220
  const listed = await listAllTestCases(client, appId, blockType, blockId);
7223
7221
  const liveOk = listed.ok;
7224
- const liveReadTransient = "error" in listed && isTransientRequestFailure(listed.error);
7225
7222
  if (!liveOk) {
7226
7223
  warn(` ${blockKey} test cases: live state unavailable — falling back to last-sync content hashes`);
7227
7224
  }
@@ -7483,7 +7480,6 @@ export async function pushTestCasesForBlock(params) {
7483
7480
  type: "test-case",
7484
7481
  key: `${blockKey}/${slug}`,
7485
7482
  message,
7486
- transient: isTransientRequestFailure(err),
7487
7483
  });
7488
7484
  }
7489
7485
  continue;
@@ -7531,7 +7527,7 @@ export async function pushTestCasesForBlock(params) {
7531
7527
  continue;
7532
7528
  }
7533
7529
  if (degraded.action === "decline") {
7534
- params.declined?.("test-case", `${blockKey}/${slug}`, { action: "live-unavailable", transient: liveReadTransient }, existingEntry?.modifiedAt);
7530
+ params.declined?.("test-case", `${blockKey}/${slug}`, { action: "live-unavailable" }, existingEntry?.modifiedAt);
7535
7531
  continue;
7536
7532
  }
7537
7533
  }
@@ -7598,7 +7594,6 @@ export async function pushTestCasesForBlock(params) {
7598
7594
  type: "test-case",
7599
7595
  key: `${blockKey}/${slug}`,
7600
7596
  message,
7601
- transient: isTransientRequestFailure(err),
7602
7597
  });
7603
7598
  continue;
7604
7599
  }
@@ -7677,7 +7672,6 @@ export async function pushTestCasesForBlock(params) {
7677
7672
  type: "test-case",
7678
7673
  key: `${blockKey}/${slug}`,
7679
7674
  message,
7680
- transient: isTransientRequestFailure(err),
7681
7675
  });
7682
7676
  continue;
7683
7677
  }
@@ -7722,7 +7716,6 @@ export async function pushTestCasesForBlock(params) {
7722
7716
  type: "attachment",
7723
7717
  key: `${blockKey}/${slug}/${filename}`,
7724
7718
  message,
7725
- transient: isTransientRequestFailure(err),
7726
7719
  });
7727
7720
  }
7728
7721
  }
@@ -8294,7 +8287,7 @@ export async function applyTestCasePrune(params) {
8294
8287
  catch (err) {
8295
8288
  const message = err?.message || String(err);
8296
8289
  warn(` Failed to delete attachment ${key}: ${message}`);
8297
- params.failures.push({ type: "attachment", key, message, transient: isTransientRequestFailure(err) });
8290
+ params.failures.push({ type: "attachment", key, message });
8298
8291
  }
8299
8292
  }
8300
8293
  for (const candidate of params.candidates) {
@@ -8329,7 +8322,7 @@ export async function applyTestCasePrune(params) {
8329
8322
  catch (err) {
8330
8323
  const message = err?.message || String(err);
8331
8324
  warn(` Failed to delete test case ${key}: ${message}`);
8332
- params.failures.push({ type: "test-case", key, message, transient: isTransientRequestFailure(err) });
8325
+ params.failures.push({ type: "test-case", key, message });
8333
8326
  }
8334
8327
  }
8335
8328
  return { deleted, deletedAttachments };
@@ -10080,13 +10073,7 @@ What a push guarantees (two stages):
10080
10073
  * never an unconditional write — with the type named so the operator
10081
10074
  * knows drift detection was not in force for it this run.
10082
10075
  */
10083
- /** Whether each live read that failed this run was transient (#4491). */
10084
- const liveReadFailures = [];
10085
10076
  const warnLiveUnavailable = (label, reason) => {
10086
- // A string reason names a consequence ("rule sets unavailable") of a
10087
- // read already recorded here.
10088
- if (typeof reason !== "string")
10089
- liveReadFailures.push(isTransientRequestFailure(reason));
10090
10077
  const message = reason instanceof Error ? reason.message : String(reason ?? "unknown");
10091
10078
  warn(` ${label}: live state unavailable (${message}) — falling back to last-sync content hashes`);
10092
10079
  };
@@ -10104,11 +10091,6 @@ What a push guarantees (two stages):
10104
10091
  applyFailures.push({
10105
10092
  type,
10106
10093
  key,
10107
- // A rerun can read what this one could not only when the failed
10108
- // read was transient; a decliner that does not say which read
10109
- // failed is judged by every read that failed this run.
10110
- transient: outcome.transient ??
10111
- (liveReadFailures.length > 0 && liveReadFailures.every(Boolean)),
10112
10094
  message: "live state could not be read and the manifest holds no " +
10113
10095
  "last-sync content hash for this file, so push cannot tell " +
10114
10096
  "which side moved. Nothing was written. Run `config pull` to " +
@@ -14519,7 +14501,6 @@ What a push guarantees (two stages):
14519
14501
  type: "function",
14520
14502
  key,
14521
14503
  message: String(err?.message ?? err),
14522
- transient: isTransientRequestFailure(err),
14523
14504
  });
14524
14505
  // A refused create, or a refused push to a row the server does
14525
14506
  // not hold live (an archived tombstone). A row this push created
@@ -15352,7 +15333,6 @@ What a push guarantees (two stages):
15352
15333
  type: "email-template",
15353
15334
  key: emailType,
15354
15335
  message: err?.message || String(err),
15355
- transient: isTransientRequestFailure(err),
15356
15336
  });
15357
15337
  }
15358
15338
  }
@@ -15889,17 +15869,6 @@ What a push guarantees (two stages):
15889
15869
  else {
15890
15870
  error(failureSummary);
15891
15871
  }
15892
- writePushFailureReport(pushFailureIsTransient({
15893
- applyFailures,
15894
- conflicts: conflicts.length,
15895
- blockedDatabaseTypes: blockedDatabaseTypes.length,
15896
- schemaErrors: schemaErrors.schemaRequired.length +
15897
- schemaErrors.opRefs.length +
15898
- schemaErrors.schemaBreaks.length +
15899
- schemaErrors.uncheckableOps.length +
15900
- schemaErrors.tomlParse.length +
15901
- schemaErrors.opsExist.length,
15902
- }));
15903
15872
  process.exit(1);
15904
15873
  }
15905
15874
  else {
@@ -15940,7 +15909,6 @@ What a push guarantees (two stages):
15940
15909
  // Print message + structured server-side validation details
15941
15910
  // (issue #684; now via the shared #1173 helper).
15942
15911
  printApiError(err);
15943
- writePushFailureReport(isTransientRequestFailure(err));
15944
15912
  process.exit(1);
15945
15913
  }
15946
15914
  });