@xanots/sdk 0.0.4 → 0.0.6

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 (78) hide show
  1. package/CHANGELOG.md +21 -10
  2. package/README.md +7 -3
  3. package/dist/.build-fingerprint +1 -0
  4. package/dist/{agent-file-refresh-IJ7GN2FJ.js → agent-file-refresh-6XT23SLU.js} +4 -4
  5. package/dist/bin.js +8 -8
  6. package/dist/branch-commands-R4FR75UW.js +134 -0
  7. package/dist/{chunk-7SISR3CS.js → chunk-2SUCC4DV.js} +2 -2
  8. package/dist/{chunk-BPEEGJJA.js → chunk-3FQD3QME.js} +3 -3
  9. package/dist/{chunk-EAIR6VUL.js → chunk-4HDOP7LH.js} +8 -67
  10. package/dist/chunk-4PTSTDIG.js +59 -0
  11. package/dist/{live-diff-FP4SFNT4.js → chunk-5HCDZ2XN.js} +67 -6
  12. package/dist/{chunk-5WGEURVI.js → chunk-6AAT2AYQ.js} +21 -1
  13. package/dist/{chunk-AJ7JQ4OU.js → chunk-AAFBSOSD.js} +3 -3
  14. package/dist/{chunk-VWGJQTNA.js → chunk-CEFYM6N5.js} +4 -4
  15. package/dist/{chunk-YUPQOLFX.js → chunk-CQBJNFDK.js} +2 -2
  16. package/dist/{chunk-FN4OQT2J.js → chunk-CU5VOSTW.js} +4 -4
  17. package/dist/{chunk-YUBJLB6G.js → chunk-EFH4NFPY.js} +6 -3
  18. package/dist/chunk-EQW3YT5U.js +159 -0
  19. package/dist/{chunk-CYJ7R3AD.js → chunk-GC7ZQHW7.js} +22 -10
  20. package/dist/{chunk-KGNJM4LN.js → chunk-JQLR64UC.js} +6 -5
  21. package/dist/{chunk-PXXLBXOP.js → chunk-JRGDLAEA.js} +2 -2
  22. package/dist/{chunk-7REDODS2.js → chunk-LLWK6H77.js} +20 -2
  23. package/dist/{chunk-WGDAOOXG.js → chunk-MU3O43L2.js} +3 -3
  24. package/dist/{chunk-YYSJAAJM.js → chunk-OKNSR7MT.js} +51 -3
  25. package/dist/{chunk-MFIHIS6B.js → chunk-OLQLJY5T.js} +2 -2
  26. package/dist/{chunk-ACQCK4DT.js → chunk-OR43PDCW.js} +2 -2
  27. package/dist/{chunk-QUUB7HYK.js → chunk-P5C2YKAM.js} +2 -2
  28. package/dist/{chunk-D6OGU2AI.js → chunk-P5OAM3G2.js} +2 -2
  29. package/dist/{chunk-6DHJVLYP.js → chunk-Q77KNEUL.js} +1 -1
  30. package/dist/{chunk-SWIXWJIY.js → chunk-QVSUMHNN.js} +3 -3
  31. package/dist/{chunk-C56BC2FY.js → chunk-SG4UBJ47.js} +2 -2
  32. package/dist/{chunk-DUC3PXDG.js → chunk-SOCYCBYG.js} +54 -27
  33. package/dist/{chunk-VKD3EBKG.js → chunk-TYBB7ON3.js} +58 -38
  34. package/dist/{chunk-VTIL47DT.js → chunk-W5NOKYEG.js} +6 -2
  35. package/dist/{chunk-DGSF2Q5H.js → chunk-WJYB7DSI.js} +2 -2
  36. package/dist/{chunk-T6N3VMMO.js → chunk-Y7BARS25.js} +2 -2
  37. package/dist/cli.d.ts +36 -3
  38. package/dist/cli.js +7 -7
  39. package/dist/{codegen-command-Z7WQMOJ7.js → codegen-command-6XXOIQ25.js} +18 -18
  40. package/dist/{completion-4GYN752B.js → completion-A6BZ3XGU.js} +8 -7
  41. package/dist/{deploy-command-M2S4HHLC.js → deploy-command-MTQQXPOO.js} +16 -16
  42. package/dist/{env-target-GSFCYHKZ.js → env-target-C5JFLDK3.js} +6 -6
  43. package/dist/{ephemeral-command-6WJW7LP6.js → ephemeral-command-K3UJSDS4.js} +13 -13
  44. package/dist/index.d.ts +67 -24
  45. package/dist/index.js +6 -6
  46. package/dist/init-command-AY4KSXR5.js +30 -0
  47. package/dist/internal.js +13 -11
  48. package/dist/{io-7VIA5SON.js → io-65CJNLYI.js} +3 -3
  49. package/dist/live-diff-QK4KC2FJ.js +12 -0
  50. package/dist/{lock-KXOJIGCG.js → lock-PDFCNYUW.js} +2 -2
  51. package/dist/{lock-commands-7IH7RSSP.js → lock-commands-MC6I3MZA.js} +8 -8
  52. package/dist/{login-command-QM5SBBI2.js → login-command-LCOOOPO2.js} +139 -36
  53. package/dist/{logout-command-THPASOHM.js → logout-command-J2AG5NKC.js} +2 -2
  54. package/dist/{marketplace-command-463DT7O7.js → marketplace-command-BCOAAN2I.js} +3 -3
  55. package/dist/{meta-client-OW5WKWW7.js → meta-client-57ZWVHST.js} +2 -2
  56. package/dist/node.js +10 -10
  57. package/dist/{profile-command-EUWPVWED.js → profile-command-ZPC2DPFV.js} +3 -3
  58. package/dist/{release-command-M4CVNTWL.js → release-command-V4K4IORX.js} +193 -25
  59. package/dist/{sandbox-details-command-BRII3QHG.js → sandbox-details-command-DMY2KGA2.js} +4 -4
  60. package/dist/{sandbox-export-command-PCZ5FL4U.js → sandbox-export-command-R6QMEK3D.js} +5 -5
  61. package/dist/scaffold.d.ts +10 -13
  62. package/dist/scaffold.js +3 -3
  63. package/dist/{test-command-U4G5Y3UM.js → test-command-OEBIGOPP.js} +8 -8
  64. package/dist/{upgrade-command-CKJ4BS2P.js → upgrade-command-52AAZ3NV.js} +13 -13
  65. package/dist/{validate-command-S5N37JRP.js → validate-command-KTLPSSH7.js} +10 -10
  66. package/dist/{workspace-command-RALSEJSW.js → workspace-command-LX5S5N2H.js} +24 -20
  67. package/guides/cli.md +1 -0
  68. package/guides/deploying.md +18 -0
  69. package/guides/environment.md +1 -1
  70. package/guides/scaffold.md +3 -2
  71. package/llms/statements-calls.md +1 -1
  72. package/llms/statements-data.md +2 -1
  73. package/llms-full.txt +4 -3
  74. package/llms.txt +1 -1
  75. package/manifest.json +6 -2
  76. package/package.json +1 -1
  77. package/dist/chunk-ALNQCWAW.js +0 -29
  78. package/dist/init-command-GJUPWTKA.js +0 -30
@@ -4,8 +4,9 @@ import {
4
4
  flagValues,
5
5
  getCommand,
6
6
  liveCommandNames,
7
- liveSubcommandNames
8
- } from "./chunk-YYSJAAJM.js";
7
+ liveSubcommandNames,
8
+ visibleFlags
9
+ } from "./chunk-OKNSR7MT.js";
9
10
 
10
11
  // src/emit/completion.ts
11
12
  var COMPLETION_SHELLS = ["bash", "zsh", "fish"];
@@ -46,19 +47,19 @@ function scopes() {
46
47
  const spec = getCommand(name);
47
48
  out.push({
48
49
  key: name,
49
- flags: tokensFor(spec.flags),
50
+ flags: tokensFor(visibleFlags(spec)),
50
51
  paths: wantsPaths(spec.args),
51
52
  values: argValues(spec.args),
52
- valued: valuedFlags(spec.flags)
53
+ valued: valuedFlags(visibleFlags(spec))
53
54
  });
54
55
  for (const verb of liveSubcommandNames(name)) {
55
56
  const sub = spec.subcommands[verb];
56
57
  out.push({
57
58
  key: `${name} ${verb}`,
58
- flags: tokensFor(sub.flags),
59
+ flags: tokensFor(visibleFlags(sub)),
59
60
  paths: wantsPaths(sub.args),
60
61
  values: argValues(sub.args),
61
- valued: valuedFlags(sub.flags)
62
+ valued: valuedFlags(visibleFlags(sub))
62
63
  });
63
64
  }
64
65
  }
@@ -295,4 +296,4 @@ export {
295
296
  renderCompletion,
296
297
  runCompletionCommand
297
298
  };
298
- //# sourceMappingURL=completion-4GYN752B.js.map
299
+ //# sourceMappingURL=completion-A6BZ3XGU.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  importWorkspaceArchive
3
- } from "./chunk-5WGEURVI.js";
3
+ } from "./chunk-6AAT2AYQ.js";
4
4
  import {
5
5
  assertBundleInput,
6
6
  loadBundleText
7
- } from "./chunk-SWIXWJIY.js";
7
+ } from "./chunk-QVSUMHNN.js";
8
8
  import {
9
9
  createEphemeral,
10
10
  getEphemeral,
@@ -17,10 +17,10 @@ import {
17
17
  getEnvironment,
18
18
  readEphemeralState,
19
19
  setEnvironment
20
- } from "./chunk-DGSF2Q5H.js";
20
+ } from "./chunk-WJYB7DSI.js";
21
21
  import {
22
22
  openBrowser
23
- } from "./chunk-VTIL47DT.js";
23
+ } from "./chunk-W5NOKYEG.js";
24
24
  import {
25
25
  microserviceLine,
26
26
  readyRatio,
@@ -28,8 +28,8 @@ import {
28
28
  } from "./chunk-NDZFBZHC.js";
29
29
  import {
30
30
  getAccessToken
31
- } from "./chunk-C56BC2FY.js";
32
- import "./chunk-7REDODS2.js";
31
+ } from "./chunk-SG4UBJ47.js";
32
+ import "./chunk-LLWK6H77.js";
33
33
  import {
34
34
  encodeWorkspaceArchive
35
35
  } from "./chunk-ZUTSMMAG.js";
@@ -42,11 +42,11 @@ import {
42
42
  fetchOrExplain,
43
43
  httpFailure
44
44
  } from "./chunk-3IGNIP6R.js";
45
- import "./chunk-DUC3PXDG.js";
45
+ import "./chunk-SOCYCBYG.js";
46
46
  import {
47
47
  assertWritableDest
48
- } from "./chunk-KGNJM4LN.js";
49
- import "./chunk-MFIHIS6B.js";
48
+ } from "./chunk-JQLR64UC.js";
49
+ import "./chunk-OLQLJY5T.js";
50
50
  import "./chunk-GNPVYOPB.js";
51
51
  import {
52
52
  blank,
@@ -62,12 +62,12 @@ import {
62
62
  warn,
63
63
  withSpinner
64
64
  } from "./chunk-EZG76F7R.js";
65
- import "./chunk-BPEEGJJA.js";
66
- import "./chunk-YYSJAAJM.js";
67
- import "./chunk-YUPQOLFX.js";
65
+ import "./chunk-3FQD3QME.js";
66
+ import "./chunk-OKNSR7MT.js";
67
+ import "./chunk-CQBJNFDK.js";
68
68
  import "./chunk-WHOJWOSV.js";
69
69
  import "./chunk-5XZ744TS.js";
70
- import "./chunk-YUBJLB6G.js";
70
+ import "./chunk-EFH4NFPY.js";
71
71
 
72
72
  // src/emit/deploy-command.ts
73
73
  import { basename } from "path";
@@ -158,7 +158,7 @@ async function runDeployedTests(auth, dest, summary, args) {
158
158
  }
159
159
  }
160
160
  async function runTestsOrThrow(auth, dest, summary, args) {
161
- const { runSuite, EXIT_TESTS_FAILED } = await import("./test-command-U4G5Y3UM.js");
161
+ const { runSuite, EXIT_TESTS_FAILED } = await import("./test-command-OEBIGOPP.js");
162
162
  let target;
163
163
  if (dest === "ephemeral") {
164
164
  if (summary.url === void 0) {
@@ -168,7 +168,7 @@ async function runTestsOrThrow(auth, dest, summary, args) {
168
168
  const name = summary.ephemeral?.name;
169
169
  target = { base: summary.url, workspaceId: 1, label: name ? `ephemeral ${name}` : "the ephemeral", env: name };
170
170
  } else {
171
- const { resolveMetaTarget } = await import("./env-target-GSFCYHKZ.js");
171
+ const { resolveMetaTarget } = await import("./env-target-C5JFLDK3.js");
172
172
  target = await resolveMetaTarget(auth, { dest: "sandbox" });
173
173
  }
174
174
  const outcomes = await runSuite(auth, target, {
@@ -448,4 +448,4 @@ export {
448
448
  runDeployedTests,
449
449
  verifyMicroservices
450
450
  };
451
- //# sourceMappingURL=deploy-command-M2S4HHLC.js.map
451
+ //# sourceMappingURL=deploy-command-MTQQXPOO.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  resolveMetaTarget
3
- } from "./chunk-VWGJQTNA.js";
4
- import "./chunk-DGSF2Q5H.js";
5
- import "./chunk-ACQCK4DT.js";
3
+ } from "./chunk-CEFYM6N5.js";
4
+ import "./chunk-WJYB7DSI.js";
5
+ import "./chunk-OR43PDCW.js";
6
6
  import "./chunk-NDZFBZHC.js";
7
- import "./chunk-C56BC2FY.js";
8
- import "./chunk-7REDODS2.js";
7
+ import "./chunk-SG4UBJ47.js";
8
+ import "./chunk-LLWK6H77.js";
9
9
  import "./chunk-NUQCEOKA.js";
10
10
  import "./chunk-3IGNIP6R.js";
11
11
  import "./chunk-GNPVYOPB.js";
@@ -13,4 +13,4 @@ import "./chunk-EZG76F7R.js";
13
13
  export {
14
14
  resolveMetaTarget
15
15
  };
16
- //# sourceMappingURL=env-target-GSFCYHKZ.js.map
16
+ //# sourceMappingURL=env-target-C5JFLDK3.js.map
@@ -10,25 +10,25 @@ import {
10
10
  clearEnvironment,
11
11
  getEnvironment,
12
12
  readEphemeralState
13
- } from "./chunk-DGSF2Q5H.js";
14
- import {
15
- confirm
16
- } from "./chunk-ALNQCWAW.js";
13
+ } from "./chunk-WJYB7DSI.js";
17
14
  import {
18
15
  openBrowser
19
- } from "./chunk-VTIL47DT.js";
16
+ } from "./chunk-W5NOKYEG.js";
17
+ import {
18
+ confirm
19
+ } from "./chunk-4PTSTDIG.js";
20
20
  import {
21
21
  resolveOutputTarget
22
- } from "./chunk-AJ7JQ4OU.js";
23
- import "./chunk-ACQCK4DT.js";
22
+ } from "./chunk-AAFBSOSD.js";
23
+ import "./chunk-OR43PDCW.js";
24
24
  import {
25
25
  printMicroserviceSection,
26
26
  readMicroservices
27
27
  } from "./chunk-NDZFBZHC.js";
28
28
  import {
29
29
  getAccessToken
30
- } from "./chunk-C56BC2FY.js";
31
- import "./chunk-7REDODS2.js";
30
+ } from "./chunk-SG4UBJ47.js";
31
+ import "./chunk-LLWK6H77.js";
32
32
  import {
33
33
  exportWorkspaceBundle
34
34
  } from "./chunk-QTNO2WD6.js";
@@ -41,7 +41,7 @@ import {
41
41
  import "./chunk-3IGNIP6R.js";
42
42
  import {
43
43
  unknownSubcommand
44
- } from "./chunk-KGNJM4LN.js";
44
+ } from "./chunk-JQLR64UC.js";
45
45
  import "./chunk-GNPVYOPB.js";
46
46
  import {
47
47
  detail,
@@ -53,7 +53,7 @@ import {
53
53
  success,
54
54
  warn
55
55
  } from "./chunk-EZG76F7R.js";
56
- import "./chunk-YYSJAAJM.js";
56
+ import "./chunk-OKNSR7MT.js";
57
57
 
58
58
  // src/emit/ephemeral-command.ts
59
59
  import { writeFileSync } from "fs";
@@ -90,7 +90,7 @@ async function runEphemeralCommand(args) {
90
90
  case "impersonate":
91
91
  return runImpersonate(args);
92
92
  case "codegen": {
93
- const { runCodegenCommand } = await import("./codegen-command-Z7WQMOJ7.js");
93
+ const { runCodegenCommand } = await import("./codegen-command-6XXOIQ25.js");
94
94
  return runCodegenCommand(args, { kind: "ephemeral" });
95
95
  }
96
96
  default:
@@ -239,4 +239,4 @@ export {
239
239
  resolveLive,
240
240
  runEphemeralCommand
241
241
  };
242
- //# sourceMappingURL=ephemeral-command-6WJW7LP6.js.map
242
+ //# sourceMappingURL=ephemeral-command-K3UJSDS4.js.map
package/dist/index.d.ts CHANGED
@@ -649,16 +649,20 @@ interface AsyncRuntime {
649
649
  * api.call emits the `headers`/`auth` blocks (verb/name/api_group are
650
650
  * engine-derived, not stored).
651
651
  *
652
+ * `action.call` / `action.package.call` are the exception to the paragraph
653
+ * above: their target is NOT a workspace object, so no id is derived for them
654
+ * and the author supplies one. See {@link ActionCallArgs} for why.
655
+ *
652
656
  * @TODO(byte-verify): `function.run` (mvp:function), `api.call` (context.token
653
657
  * confirmed tagged), and — since the workflow-test capture — `function.call`
654
658
  * (mvp:workspace_run_function) are golden-verified. Still modeled/unverified:
655
659
  * - the remaining `workspace_run_*` (task/tool/trigger/middleware/addon) — no
656
660
  * golden, but they share the single-key `id` context two goldens now pin.
657
661
  * - `workflow_test` → context.{datasource,id} — decode-accurate, no golden.
658
- * - action / action_package — EXCLUDED from byte-verify: they need an
659
- * action-identity model first (action id currently resolves via the "function"
660
- * migrate type, likely wrong; action_package is emitted empty). See their own
661
- * @TODOs below do not vendor/capture until the identity model exists.
662
+ * - action / action_package — the stored shape is pinned against the engine's
663
+ * own authoring schema and its two transforms, and the ids are now carried
664
+ * verbatim rather than derived, so a capture is finally meaningful. It needs
665
+ * an instance with the package actually installed.
662
666
  */
663
667
 
664
668
  /** A call/agent `{name: value}` input map — raw scalar literals coerce to constants. */
@@ -830,37 +834,76 @@ interface AddonCallArgs extends StatementOptions {
830
834
  }
831
835
  /** `addon.call <addon>` — invoke an addon as a workspace run. */
832
836
  declare function addonCall(args: AddonCallArgs): Statement;
837
+ /**
838
+ * Why an action is identified by a LITERAL id and not by a name or a handle.
839
+ *
840
+ * Every other call in this file targets a workspace object, so its id is
841
+ * derivable: the name plus the object type is enough, because the SDK and the
842
+ * engine agree on how a workspace object is keyed. An action is not a workspace
843
+ * object. It is a third-party package INSTALLED onto the instance, and its
844
+ * identity is assigned at install time by the instance that installed it.
845
+ *
846
+ * Nothing offline can compute that. There is no name-to-id rule to reimplement —
847
+ * the mapping is a lookup over what happens to be installed, so the same action
848
+ * name resolves differently on two instances and to nothing at all on a third.
849
+ * That is also why an installed action never appears in the bundle's object
850
+ * graph: it is not part of the workspace's source.
851
+ *
852
+ * So the author supplies the id, and the SDK stores it verbatim. Deriving one
853
+ * from a name would produce a confident, well-formed value that addresses
854
+ * nothing — the failure mode this shape exists to make impossible.
855
+ *
856
+ * Where to find the ids: read them off an existing call in a pulled workspace,
857
+ * which round-trips them unchanged.
858
+ */
833
859
  interface ActionCallArgs extends StatementOptions {
834
- /** The action's name. */
835
- action: ObjectRef;
836
- /** The action package identifier. */
837
- package?: string;
860
+ /**
861
+ * The installed action's id, stored verbatim as `context.run_version.id`.
862
+ *
863
+ * Assigned when the action was installed — not derivable from the action's
864
+ * name, and not the same value on another instance.
865
+ */
866
+ actionId: string;
838
867
  as?: string;
868
+ /** Arguments passed to the action. */
839
869
  input?: CallInput;
870
+ /**
871
+ * The action's own settings (`settings_registry`) — an installed action's
872
+ * configured values, keyed by setting name. Separate from {@link input},
873
+ * which carries the per-call arguments.
874
+ */
875
+ registry?: CallInput;
840
876
  }
841
877
  /**
842
- * `action.call <action>` — invoke a marketplace/action operation (`mvp:action`).
843
- * Stored shape from the engine's action-call format: `context.run_version.id` is the action
844
- * id and `settings_registry` is always present.
878
+ * `action.call` — invoke an installed action (`mvp:action`).
845
879
  *
846
- * @TODO(byte-verify): xanots has no `action` kind, so the id resolves via the
847
- * "function" migrate type likely WRONG (actions are a distinct namespace,
848
- * `mapActionNameToId`). input[] uses the lean shape; the engine uses
849
- * `convertBlockToInput` (may be the rich form). No golden.
880
+ * Stores `context.run_version.id` verbatim; see {@link ActionCallArgs} for why
881
+ * the id is supplied rather than derived.
850
882
  */
851
883
  declare function actionCall(args: ActionCallArgs): Statement;
884
+ interface ActionPackageCallArgs extends StatementOptions {
885
+ /** The installed package's trace id (`context.action.trace_id`). */
886
+ traceId: string;
887
+ /** The installed package VERSION's id (`context.package_version.id`). */
888
+ versionId: string;
889
+ /** The package's slug (`context.package.slug`). */
890
+ slug: string;
891
+ as?: string;
892
+ /** Arguments passed to the action. */
893
+ input?: CallInput;
894
+ /** The action's own settings (`settings_registry`), keyed by setting name. */
895
+ registry?: CallInput;
896
+ }
852
897
  /**
853
- * `action.package.call <action>` — invoke an action-package operation
854
- * (`mvp:action_package`). Stored shape from the engine's action-package format:
855
- * `context.{action:{trace_id}, package:{slug}, package_version:{id}}`.
898
+ * `action.package.call` — invoke an action inside an installed package
899
+ * (`mvp:action_package`).
856
900
  *
857
- * @TODO(byte-verify): MODELED skeleton only — xanots doesn't model marketplace
858
- * action packages (trace_id / package slug / version id come from
859
- * `mapActionPackageNameToId`), so these are emitted EMPTY. This statement is a
860
- * reachable placeholder, NOT functional, until the action-package identity model
861
- * exists. No golden.
901
+ * Stores `context.{action.trace_id, package.slug, package_version.id}`. The
902
+ * three travel together: they are one composite identity the instance assigns at
903
+ * install, so a call carrying two of them addresses nothing. Same sourcing as
904
+ * {@link ActionCallArgs} read them off an existing call in a pulled workspace.
862
905
  */
863
- declare function actionPackageCall(args: ActionCallArgs): Statement;
906
+ declare function actionPackageCall(args: ActionPackageCallArgs): Statement;
864
907
  interface WorkflowTestCallArgs extends StatementOptions {
865
908
  /** The target workflow test. */
866
909
  workflowTest: ObjectRef;
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  TEST_EXPECT_TYPES,
7
7
  expect
8
- } from "./chunk-PXXLBXOP.js";
8
+ } from "./chunk-JRGDLAEA.js";
9
9
  import {
10
10
  addon,
11
11
  agent,
@@ -17,7 +17,7 @@ import {
17
17
  task,
18
18
  tool,
19
19
  workflowTest
20
- } from "./chunk-FN4OQT2J.js";
20
+ } from "./chunk-CU5VOSTW.js";
21
21
  import {
22
22
  actionCall,
23
23
  actionPackageCall,
@@ -100,11 +100,11 @@ import {
100
100
  workflowTestCall,
101
101
  workspaceConfig,
102
102
  workspaceTrigger
103
- } from "./chunk-CYJ7R3AD.js";
103
+ } from "./chunk-GC7ZQHW7.js";
104
104
  import {
105
105
  Xano,
106
106
  workspace
107
- } from "./chunk-BPEEGJJA.js";
107
+ } from "./chunk-3FQD3QME.js";
108
108
  import {
109
109
  LAMBDA_BINDINGS,
110
110
  LAMBDA_CODE_FILTERS,
@@ -148,7 +148,7 @@ import {
148
148
  toSearchParams,
149
149
  toolset,
150
150
  withFilters
151
- } from "./chunk-YUPQOLFX.js";
151
+ } from "./chunk-CQBJNFDK.js";
152
152
  import "./chunk-WHOJWOSV.js";
153
153
  import {
154
154
  annotate,
@@ -157,7 +157,7 @@ import {
157
157
  import {
158
158
  resetLockOverrides,
159
159
  seedLockOverrides
160
- } from "./chunk-YUBJLB6G.js";
160
+ } from "./chunk-EFH4NFPY.js";
161
161
  export {
162
162
  LAMBDA_BINDINGS,
163
163
  LAMBDA_CODE_FILTERS,
@@ -0,0 +1,30 @@
1
+ import {
2
+ projectShellFiles,
3
+ runInitCommand,
4
+ sanitizeAppName
5
+ } from "./chunk-4HDOP7LH.js";
6
+ import {
7
+ resolveAiFlags
8
+ } from "./chunk-2SUCC4DV.js";
9
+ import "./chunk-ZSYZTGJH.js";
10
+ import "./chunk-MU3O43L2.js";
11
+ import "./chunk-P5C2YKAM.js";
12
+ import "./chunk-Q77KNEUL.js";
13
+ import "./chunk-SOCYCBYG.js";
14
+ import "./chunk-JQLR64UC.js";
15
+ import "./chunk-OLQLJY5T.js";
16
+ import "./chunk-GNPVYOPB.js";
17
+ import "./chunk-EZG76F7R.js";
18
+ import "./chunk-3FQD3QME.js";
19
+ import "./chunk-OKNSR7MT.js";
20
+ import "./chunk-CQBJNFDK.js";
21
+ import "./chunk-WHOJWOSV.js";
22
+ import "./chunk-5XZ744TS.js";
23
+ import "./chunk-EFH4NFPY.js";
24
+ export {
25
+ projectShellFiles,
26
+ resolveAiFlags,
27
+ runInitCommand,
28
+ sanitizeAppName
29
+ };
30
+ //# sourceMappingURL=init-command-AY4KSXR5.js.map
package/dist/internal.js CHANGED
@@ -33,7 +33,7 @@ import {
33
33
  taskKind,
34
34
  toolKind,
35
35
  workflowTestKind
36
- } from "./chunk-FN4OQT2J.js";
36
+ } from "./chunk-CU5VOSTW.js";
37
37
  import {
38
38
  GENERATED_SPECS,
39
39
  GENERATED_STATEMENT_NAMES,
@@ -55,14 +55,15 @@ import {
55
55
  registerSpec,
56
56
  triggerKind,
57
57
  workspaceKind
58
- } from "./chunk-CYJ7R3AD.js";
58
+ } from "./chunk-GC7ZQHW7.js";
59
59
  import {
60
60
  COMMANDS,
61
61
  FLAGS,
62
62
  GLOBAL_FLAGS,
63
63
  flagKey,
64
- flagSummary
65
- } from "./chunk-YYSJAAJM.js";
64
+ flagSummary,
65
+ visibleFlags
66
+ } from "./chunk-OKNSR7MT.js";
66
67
  import {
67
68
  DECODE_ONLY_STATEMENTS,
68
69
  FILTER_NAMES,
@@ -108,7 +109,7 @@ import {
108
109
  serializeBundle,
109
110
  tableKind,
110
111
  toNestedFields
111
- } from "./chunk-YUPQOLFX.js";
112
+ } from "./chunk-CQBJNFDK.js";
112
113
  import "./chunk-WHOJWOSV.js";
113
114
  import {
114
115
  encodeStatement,
@@ -136,7 +137,7 @@ import {
136
137
  resolveRef,
137
138
  serializeLock,
138
139
  validateLockModel
139
- } from "./chunk-YUBJLB6G.js";
140
+ } from "./chunk-EFH4NFPY.js";
140
141
 
141
142
  // src/statements/byte-evidence.ts
142
143
  var UNCONFIRMED_STATEMENTS = /* @__PURE__ */ new Set([]);
@@ -167,15 +168,15 @@ function buildCli() {
167
168
  out.push({
168
169
  command: name,
169
170
  ...argGrammar(spec.args) !== void 0 ? { args: argGrammar(spec.args) } : {},
170
- ...flagsOf(spec.flags) !== void 0 ? { flags: flagsOf(spec.flags) } : {},
171
+ ...flagsOf(visibleFlags(spec)) !== void 0 ? { flags: flagsOf(visibleFlags(spec)) } : {},
171
172
  description
172
173
  });
173
174
  continue;
174
175
  }
175
176
  for (const [subName, sub] of subs) {
176
- if (sub.removed !== void 0) continue;
177
+ if (sub.removed !== void 0 || sub.unreleased !== void 0) continue;
177
178
  const args = argGrammar(sub.args ?? spec.args);
178
- const flags = flagsOf(sub.flags ?? spec.flags);
179
+ const flags = flagsOf(sub.flags !== void 0 ? visibleFlags(sub) : visibleFlags(spec));
179
180
  out.push({
180
181
  command: `${name} ${subName}`,
181
182
  ...args !== void 0 ? { args } : {},
@@ -1644,7 +1645,8 @@ function renderSections(m) {
1644
1645
  "- `s.db.del({ table, fieldName?, fieldValue, as? })` \u2014 delete by field match.",
1645
1646
  "- `s.db.add({ table, row?, data?, output?, as? })` \u2014 insert; `row` is a partial keyed by column.",
1646
1647
  ' - A row CELL takes a tagged `Value`, a nested object of sub-keys, or a bare JS literal typed against that column: `row: { is_hidden: true, notes: "\u2026" }` encodes exactly as `{ is_hidden: c.bool(true), notes: c.text("\u2026") }`. The tag comes from the COLUMN, not the literal \u2014 `10` on an `f.decimal()` column is `const:decimal`, not `const:int` \u2014 so a literal contradicting its column is a compile error on a `f.*`-schema table (`{ is_hidden: "yes" }` on an `f.bool()` column) and throws at encode on a raw-`ColumnDef[]` one. An `f.enum()` column keeps its member union. A column with no literal form \u2014 obj/json/list/geo/vector/file \u2014 still needs `c.obj`/`c.array`.',
1647
- " - `null` is accepted on EVERY column, including ones that refuse every other literal, and encodes `const:null` \u2014 a write OF null, not the same as omitting the key (omitted takes the column's type default on `add`: `[]` for a list, `{}` for obj/json, else `null`; on `edit` it is left untouched). A column's `nullable` is not consulted; the engine refuses a null it forbids.",
1648
+ " - `null` is accepted on EVERY column, including ones that refuse every other literal, and encodes `const:null` \u2014 a write OF null, not the same as omitting the key. A column's `nullable` is not consulted at encode; the engine refuses a null it forbids.",
1649
+ " - Omitting a key on `add` writes the column's type default \u2014 declared `default` if set, `[]` for a list, `{}` for obj/json, else `null`. That `null` is EMITTED, not what the row holds: the engine applies the column's nullability, so a `nullable` column keeps `null` and a non-nullable one lands on its type's zero value (`\"\"`, `0`, `false`). Set the cell when the stored value matters. On `edit` an omitted key keeps its stored value.",
1648
1650
  " - An `f.password()` cell takes the PLAINTEXT \u2014 the column hashes on write, so a pre-hashed value, or a hashing filter on the cell, stores a hash of a hash that `security.check_password` can never match.",
1649
1651
  "- `s.db.edit({ table, fieldName?, fieldValue, row?, data?, output?, as? })` \u2014 update by field match.",
1650
1652
  "- `s.db.patch({ table, fieldName?, fieldValue, data, output?, as? })` \u2014 merge a partial (`data` is an object value).",
@@ -1745,7 +1747,7 @@ function renderSections(m) {
1745
1747
  "- `s.stream.from_request({ url, method?, \u2026tls, as? })` \u2014 streaming external HTTP request (`mvp:streaming_api_request`); same typed field surface as `s.api.request` (no description/output envelope). `url` is REQUIRED \u2014 it shares `api.request`'s engine declaration, which has no default.",
1746
1748
  "- `s.webflow.request({ path, method?, \u2026tls, as? })` \u2014 Webflow API request (`mvp:connect_webflow_api_request`); like `s.api.request` but addressed by `path` (host is engine-supplied), and `path` is REQUIRED \u2014 the engine rejects an empty one. No `headers`: the engine builds its own from the workspace's Webflow connection and ignores an authored value.",
1747
1749
  "- `s.task.call` / `s.tool.call` / `s.trigger.call` / `s.middleware.call` / `s.addon.call` \u2014 same `{ <target>, input?, as? }` shape against the named kind. `s.task.call` and `s.trigger.call` are WORKFLOW-TEST ONLY (see Gotchas in `llms.txt`); `s.tool.call`, `s.middleware.call` and `s.addon.call` run from any stack.",
1748
- "- `s.action.call({ action, package?, input?, as? })` / `s.action.package.call(\u2026)` \u2014 invoke a marketplace action; `package` is its slug.",
1750
+ "- `s.action.call({ actionId, input?, registry?, as? })` / `s.action.package.call({ traceId, versionId, slug, input?, registry?, as? })` \u2014 invoke an installed action. Ids are SUPPLIED, never derived from a name: an action is installed onto the instance, so its identity is assigned at install and differs per instance \u2014 read them off a call in a pulled workspace. The package form needs all three parts; they are one composite and two of them address nothing. `registry` is the action's own settings, `input` the per-call arguments.",
1749
1751
  "- `s.cloud.job({ image, command, args?, secret?, template?, await?, as? })` \u2014 launch a containerized job. `image`/`command` are REQUIRED; omitted \u2192 `Missing param`. \u26A0 `await` is SECONDS (default 60), not a boolean.",
1750
1752
  "- `s.cloud.job.status({ id, as? })` \xB7 `s.cloud.job.await({ ids, timeout, as? })` \u2014 poll one job, or block on several (`ids` a list `Value`, `timeout` in seconds; both required).",
1751
1753
  "",
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  readLockFile,
3
3
  writeLockFile
4
- } from "./chunk-MFIHIS6B.js";
4
+ } from "./chunk-OLQLJY5T.js";
5
5
  import "./chunk-GNPVYOPB.js";
6
- import "./chunk-YUBJLB6G.js";
6
+ import "./chunk-EFH4NFPY.js";
7
7
  export {
8
8
  readLockFile,
9
9
  writeLockFile
10
10
  };
11
- //# sourceMappingURL=io-7VIA5SON.js.map
11
+ //# sourceMappingURL=io-65CJNLYI.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ compareToLive,
3
+ diffAgainstLive,
4
+ sharedSchemaChanges
5
+ } from "./chunk-5HCDZ2XN.js";
6
+ import "./chunk-ZOYMZZ3S.js";
7
+ export {
8
+ compareToLive,
9
+ diffAgainstLive,
10
+ sharedSchemaChanges
11
+ };
12
+ //# sourceMappingURL=live-diff-QK4KC2FJ.js.map
@@ -15,7 +15,7 @@ import {
15
15
  resolvePayloadKey,
16
16
  serializeLock,
17
17
  validateLockModel
18
- } from "./chunk-YUBJLB6G.js";
18
+ } from "./chunk-EFH4NFPY.js";
19
19
  export {
20
20
  CANONICAL_PAYLOAD_KEYS,
21
21
  LOCK_PAYLOAD_KEYS,
@@ -34,4 +34,4 @@ export {
34
34
  serializeLock,
35
35
  validateLockModel
36
36
  };
37
- //# sourceMappingURL=lock-KXOJIGCG.js.map
37
+ //# sourceMappingURL=lock-PDFCNYUW.js.map
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  loadDefault
3
- } from "./chunk-DUC3PXDG.js";
3
+ } from "./chunk-SOCYCBYG.js";
4
4
  import {
5
5
  UsageError,
6
6
  missingArgument,
7
7
  unknownSubcommand
8
- } from "./chunk-KGNJM4LN.js";
8
+ } from "./chunk-JQLR64UC.js";
9
9
  import {
10
10
  readLockFile,
11
11
  writeLockFile
12
- } from "./chunk-MFIHIS6B.js";
12
+ } from "./chunk-OLQLJY5T.js";
13
13
  import "./chunk-GNPVYOPB.js";
14
14
  import "./chunk-EZG76F7R.js";
15
15
  import {
16
16
  Xano
17
- } from "./chunk-BPEEGJJA.js";
18
- import "./chunk-YYSJAAJM.js";
19
- import "./chunk-YUPQOLFX.js";
17
+ } from "./chunk-3FQD3QME.js";
18
+ import "./chunk-OKNSR7MT.js";
19
+ import "./chunk-CQBJNFDK.js";
20
20
  import "./chunk-WHOJWOSV.js";
21
21
  import "./chunk-5XZ744TS.js";
22
22
  import {
@@ -27,7 +27,7 @@ import {
27
27
  resetLockOverrides,
28
28
  resolvePayloadKey,
29
29
  seedLockOverrides
30
- } from "./chunk-YUBJLB6G.js";
30
+ } from "./chunk-EFH4NFPY.js";
31
31
 
32
32
  // src/emit/lock-commands.ts
33
33
  import { existsSync, readFileSync } from "fs";
@@ -229,4 +229,4 @@ ${lines}
229
229
  export {
230
230
  runLockCommand
231
231
  };
232
- //# sourceMappingURL=lock-commands-7IH7RSSP.js.map
232
+ //# sourceMappingURL=lock-commands-MC6I3MZA.js.map