@xanots/sdk 0.0.10 → 0.0.12

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 (102) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +48 -5
  3. package/dist/.build-fingerprint +1 -1
  4. package/dist/{agent-file-refresh-QNKN5RYD.js → agent-file-refresh-GQWAAOBV.js} +4 -4
  5. package/dist/bin.js +12 -11
  6. package/dist/{branch-commands-2BLOC2GR.js → branch-commands-5KMPAAZV.js} +7 -7
  7. package/dist/bundle.d.ts +218 -0
  8. package/dist/bundle.js +143 -0
  9. package/dist/{capture-4WVJY4DQ.js → capture-YLUVAITI.js} +2 -2
  10. package/dist/chunk-2VTJSI6X.js +192 -0
  11. package/dist/{chunk-5XZ744TS.js → chunk-2ZCUO2UG.js} +1 -1
  12. package/dist/{chunk-OYMR5AMJ.js → chunk-3LQGF2WS.js} +2 -2
  13. package/dist/{chunk-WP4OZZV4.js → chunk-3VFCKHOB.js} +2 -2
  14. package/dist/{chunk-XHEXOES3.js → chunk-5YDINUAP.js} +1 -1
  15. package/dist/{chunk-LU7TRWMC.js → chunk-6VNRMKFJ.js} +2 -2
  16. package/dist/{chunk-CTD5ZCV6.js → chunk-7WRJPKGK.js} +2 -2
  17. package/dist/{chunk-3INK4Y4E.js → chunk-AE3PDSDS.js} +1 -1
  18. package/dist/{chunk-5YCQ2QHH.js → chunk-AG5GCZDD.js} +2 -2
  19. package/dist/{chunk-DBFU47BJ.js → chunk-AOFFKSJC.js} +2 -2
  20. package/dist/{chunk-TCFIPDB3.js → chunk-AVGDL6RB.js} +1 -1
  21. package/dist/{chunk-4BXJGVZ3.js → chunk-DCMANKMX.js} +2 -69
  22. package/dist/{chunk-WHOJWOSV.js → chunk-EETVJZAZ.js} +1 -1
  23. package/dist/chunk-EHP3WPEG.js +21 -0
  24. package/dist/{chunk-W24FJHPD.js → chunk-ELK7UALJ.js} +3 -3
  25. package/dist/{chunk-VNQM3V2C.js → chunk-EXENFOWE.js} +2 -2
  26. package/dist/{chunk-P6TAVLOX.js → chunk-GSP2BY4F.js} +17 -10
  27. package/dist/{chunk-AIZKXUNP.js → chunk-IMLYGQK6.js} +2 -2
  28. package/dist/{chunk-LBYWGMOA.js → chunk-N74KDCBD.js} +176 -42
  29. package/dist/{chunk-3IGNIP6R.js → chunk-NDP7OUPS.js} +1 -1
  30. package/dist/chunk-OHX6MIUZ.js +184 -0
  31. package/dist/{chunk-EQW3YT5U.js → chunk-P6PVBQL6.js} +2 -2
  32. package/dist/{chunk-I7DQDJAM.js → chunk-PLE5QQOZ.js} +55 -56
  33. package/dist/chunk-PR7OXHGZ.js +70 -0
  34. package/dist/{chunk-VKSOTZK3.js → chunk-QYSQ3UDO.js} +160 -8
  35. package/dist/{chunk-ZQ2PKR6R.js → chunk-RQ3FXV4K.js} +2 -2
  36. package/dist/{chunk-Q77KNEUL.js → chunk-RQNMTDXD.js} +1703 -2
  37. package/dist/{chunk-QKM4U5UK.js → chunk-TJS2AF5Y.js} +2 -2
  38. package/dist/{chunk-DIA7CT7J.js → chunk-V5Y7D4LH.js} +11 -2
  39. package/dist/{chunk-KA6G2L7U.js → chunk-VK26K7AY.js} +3 -3
  40. package/dist/{chunk-YYFXVYPX.js → chunk-VPAWRBK5.js} +12 -16
  41. package/dist/{chunk-5R73LFWK.js → chunk-VRNZ2NVV.js} +7 -7
  42. package/dist/{chunk-ACCBOMCB.js → chunk-XT3XQ4PF.js} +32 -27
  43. package/dist/{chunk-7JDT4PBU.js → chunk-XWFRNJMQ.js} +5 -179
  44. package/dist/{chunk-7ZYW652H.js → chunk-YHS6VVLJ.js} +2 -2
  45. package/dist/{chunk-75Z74TA7.js → chunk-YX22LKQE.js} +2 -2
  46. package/dist/{chunk-F6CYJ7TN.js → chunk-Z2ZIE5CO.js} +2 -2
  47. package/dist/cli.d.ts +13 -6
  48. package/dist/cli.js +11 -10
  49. package/dist/codegen-command-Y2SPMAUW.js +47 -0
  50. package/dist/codegen.d.ts +5 -4
  51. package/dist/codegen.js +2 -2
  52. package/dist/{completion-WF46272M.js → completion-HJU5QEFB.js} +2 -2
  53. package/dist/{deploy-command-QTIVA22A.js → deploy-command-XHS5PKPV.js} +20 -19
  54. package/dist/{ephemeral-command-U4AQ3TXX.js → ephemeral-command-2NKPEXUU.js} +8 -8
  55. package/dist/index.d.ts +88 -102
  56. package/dist/index.js +13 -12
  57. package/dist/init-command-23FFNUFT.js +32 -0
  58. package/dist/internal.d.ts +10 -16
  59. package/dist/internal.js +76 -54
  60. package/dist/io-UBDMMDH6.js +12 -0
  61. package/dist/{live-diff-IXKBVG4K.js → live-diff-HCOTN5WC.js} +3 -3
  62. package/dist/{lock-GFXD6G2E.js → lock-HQ4KARU2.js} +3 -2
  63. package/dist/{lock-commands-DQ7CUMIV.js → lock-commands-WCRC56ME.js} +12 -11
  64. package/dist/{login-command-Z6CHTA57.js → login-command-P7LXD5TE.js} +6 -6
  65. package/dist/{loop-D5NPL4VH.js → loop-IC5ISSYB.js} +3 -3
  66. package/dist/{marketplace-command-P4IPLJ6J.js → marketplace-command-T6JCHW7J.js} +4 -4
  67. package/dist/{meta-client-K2J4XH64.js → meta-client-LKRKR3L2.js} +4 -4
  68. package/dist/node.d.ts +6 -5
  69. package/dist/node.js +18 -17
  70. package/dist/{preflight-command-GZ2GE5RN.js → preflight-command-TZWPHBXY.js} +17 -16
  71. package/dist/{profile-command-LJSBDV2L.js → profile-command-WBNSMQSI.js} +3 -3
  72. package/dist/{release-command-YUBTNHVX.js → release-command-WEFYRTCI.js} +27 -26
  73. package/dist/response-D6xGLEIn.d.ts +839 -0
  74. package/dist/{routes-manifest-PWZHDOI5.js → routes-manifest-5ZFKUQWA.js} +2 -2
  75. package/dist/{runtime-V4C3AC3A.js → runtime-LSLIDALK.js} +1 -1
  76. package/dist/scaffold.d.ts +16 -8
  77. package/dist/scaffold.js +7 -11
  78. package/dist/{static-host-3WMV7IZO.js → static-host-4JDQCHUW.js} +1 -1
  79. package/dist/{status-command-AL47VG7H.js → status-command-VARULAR5.js} +4 -4
  80. package/dist/{store-BG1UPZ3Z.d.ts → store-DAnUIi1T.d.ts} +95 -87
  81. package/dist/{test-command-YAZLKLGQ.js → test-command-YCAR4O35.js} +7 -7
  82. package/dist/{upgrade-command-FB5QJ363.js → upgrade-command-GYEIMJBG.js} +16 -16
  83. package/dist/{workspace-2COHDBM3.js → workspace-33KHFLX3.js} +2 -2
  84. package/dist/{workspace-command-43P42FBP.js → workspace-command-2ZTGT26W.js} +28 -27
  85. package/dist/{workspace-export-DURY5WYL.js → workspace-export-MLYTYZS5.js} +3 -3
  86. package/dist/{response-CVAE2kMj.d.ts → xdo-ODuJklk6.d.ts} +28 -860
  87. package/guides/authoring.md +11 -2
  88. package/guides/typed-frontend.md +5 -5
  89. package/llms/filters.md +11 -10
  90. package/llms/kinds-core.md +1 -1
  91. package/llms/statements-data.md +6 -3
  92. package/llms/values.md +1 -1
  93. package/llms-full.txt +53 -42
  94. package/llms.txt +34 -27
  95. package/manifest.json +6 -2
  96. package/package.json +7 -2
  97. package/dist/chunk-ANUDXFEX.js +0 -881
  98. package/dist/chunk-JGCWTCA7.js +0 -95
  99. package/dist/chunk-YBC3IKMF.js +0 -845
  100. package/dist/codegen-command-GB3H2KQ7.js +0 -46
  101. package/dist/init-command-MAXULNAD.js +0 -33
  102. package/dist/io-M7XZEMK7.js +0 -11
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- import { ef as Condition, eg as FilterResults, eh as ElementResult, ei as SameArrayResult, ej as GroupedArrayResult, ek as AgentResultOf, b3 as AddonDef, el as OutputPath, cZ as TableDef, em as QualifiedCol, bx as DbEval, cY as SortDirective, bz as DbWhere, en as OutputRoot, bM as InferRow, eo as AggregateRow, ep as EvalFields, eq as OutputAuthored, cb as MicroserviceDef, ah as generated, F as FunctionDef, co as QueryHandle } from './store-BG1UPZ3Z.js';
2
- export { b4 as AddonXdo, A as AdoptChange, a as AdoptResult, b5 as AgentDef, b6 as AgentHandle, b7 as AgentOutput, b8 as AgentSettingsXdo, b9 as AgentXdo, ba as AmbientBindings, bb as AnthropicLlm, bc as ApiGroupDef, bd as ApiGroupXdo, be as AuthRef, bf as Authored, B as Bundle, b as BundlePayload, c as BundleType, bg as Capturable, b0 as CaptureRecord, a_ as CaptureValue, bh as ChannelConversationDef, bi as ChannelDeliveryDef, bj as ChannelDeliveryGuarantee, bk as ChannelPublishDef, bl as ChannelPublishWho, bm as ChannelRateLimitDef, bn as ColumnDef, bo as Comparison, bp as ContainerEnv, bq as ContainerPort, br as ContainerResources, bs as ContainerVolume, bt as CorsConfig, bu as CorsMode, bv as DatabaseActions, bw as DatabaseInputs, by as DbEvalFilter, bA as ErrorInputs, bB as ExceptionPolicy, bC as FieldAccessor, bD as FieldRule, bE as GoogleGenAiLlm, bF as HistoryInput, bG as HttpVerb, bH as IndexDef, bI as IndexLang, bJ as IndexOp, bK as IndexType, bL as IndexXdo, bN as InputDescriptor, bO as InputOptions, bP as IteratingBindings, bQ as KnowledgeDef, bR as KnowledgeDirSource, bS as KnowledgeFileSource, bT as KnowledgeMode, bU as KnowledgeType, bV as LAMBDA_BINDINGS, bW as LAMBDA_CODE_FILTERS, bX as LAMBDA_GLOBALS, bY as LAMBDA_MODULE_GLOBALS, bZ as LAMBDA_STATEMENTS, b1 as LambdaBindings, b_ as LambdaBody, aZ as LambdaOptions, a$ as LambdaSurface, b$ as LlmPrompt, c0 as LlmProvider, c1 as LlmSettings, g as LockEntry, h as LockExportContext, i as LockFile, M as Manifest, j as ManifestField, k as ManifestKind, l as ManifestStatement, c2 as ManifestValue, c3 as McpPathOptions, c4 as McpServerDef, c5 as McpServerHandle, c6 as McpServerXdo, m as MergeResult, c7 as MessageDeliverTo, c8 as MicroserviceChart, c9 as MicroserviceConfig, ca as MicroserviceContainer, cc as MicroserviceDeployment, cd as MicroserviceIngress, ce as MicroserviceRegistryAuth, cf as MicroserviceVolume, cg as MicroserviceXdo, ch as MiddlewareAttach, ci as MiddlewareAttachEntry, cj as MiddlewareDef, ck as MiddlewareXdo, O as ObjectKind, cl as OpenAiLlm, n as PayloadArrayKey, cm as QueryDef, cn as QueryFilterName, cp as QueryResponseType, cq as QueryXdo, cr as RealtimeActions, cs as RealtimeChannelActions, ct as RealtimeChannelDef, cu as RealtimeChannelHandle, cv as RealtimeChannelRef, cw as RealtimeChannelTriggerInputs, cx as RealtimeChannelXdo, cy as RealtimeClient, cz as RealtimeInputs, cA as RealtimeMessageDef, cB as RealtimeMessageXdo, cC as RealtimeServerActions, cD as RealtimeServerDef, cE as RealtimeServerHandle, cF as RealtimeServerRef, cG as RealtimeServerTriggerInputs, cH as RealtimeServerXdo, cI as RealtimeUrlOptions, R as RenameResult, cJ as ResultStrategy, cK as Route, cL as RowOf, cM as ScheduleDef, cN as SchemaCols, cO as SchemaDef, cP as SearchComparison, cQ as SearchGroup, cR as SearchNode, cS as SearchOp, cT as SearchParamValue, cU as SeedFileSource, cV as SeedRow, cW as SeedSource, cX as SortDir, S as StatementSpec, c_ as TableXdo, c$ as TaskDef, d0 as TaskXdo, d1 as ToolDef, d2 as ToolXdo, d3 as ToolsetBaseDef, d4 as ToolsetBaseXdo, d5 as ToolsetInputs, d6 as ToolsetToolEntry, d7 as ToolsetToolRef, d8 as TriggerDef, d9 as TriggerObjType, da as TriggerXdo, db as ViewDef, dc as ViewXdo, dd as WorkflowTestDef, de as WorkflowTestXdo, df as WorkspaceActions, dg as WorkspaceConfigDef, dh as WorkspaceConfigXdo, di as WorkspaceHistoryDef, dj as WorkspaceHistoryXdo, dk as WorkspaceInputs, dl as WorkspaceMiddlewareDef, dm as WorkspaceMiddlewareXdo, b2 as Xano, dn as XanoFreeLlm, dp as addon, dq as agent, dr as agentTrigger, ds as and, dt as apiGroup, du as assertLambdaBody, dv as bitwiseAnd, dw as bitwiseOr, dx as bitwiseXor, dy as cmp, dz as defineFunction, dA as emit, dB as emitBundle, dC as errorTrigger, dD as expr, dE as fl, dF as input, dG as knowledge, dH as knowledgeDir, dI as knowledgeFile, er as lam, dJ as mathAdd, dK as mathDiv, dL as mathMul, dM as mathSub, dN as mcpServer, dO as mcpServerTrigger, dP as microservice, dQ as middleware, dR as mixed, dS as objectEntries, dT as objectKeys, dU as objectValues, dV as or, dW as query, dX as realtimeChannel, dY as realtimeChannelTrigger, dZ as realtimeMessage, d_ as realtimeServer, d$ as realtimeServerTrigger, e0 as realtimeTrigger, e1 as resetLockOverrides, e2 as seedFile, e3 as seedLockOverrides, e4 as table, e5 as tableTrigger, e6 as task, e7 as textAppend, e8 as textPrepend, e9 as toSearchParams, ea as tool, eb as workflowTest, ec as workspace, ed as workspaceConfig, ee as workspaceTrigger } from './store-BG1UPZ3Z.js';
3
- import { a2 as StatementAnnotations, a1 as Statement, y as FromFieldMap, w as FilterXdo, V as Value, S as ObjValue, aH as Prettify, x as FilteredValue, X as RefValue, aM as AsShapeBrand, aj as XanoFileRef, a4 as StatementOptions, T as ObjectRef, P as ObjInput, F as FunctionXdo } from './response-CVAE2kMj.js';
4
- export { B as BrandOpts, c as BrandValue, C as CacheXdo, f as CaughtField, h as ConditionalContext, j as ConditionalElifContext, D as DecimalMethod, E as EmailMethod, k as ExprGroup, l as ExprNode, m as ExprOperand, n as ExprStatement, o as FieldAccess, p as FieldDescriptor, q as FieldMap, s as FieldOpts, u as FieldStyleType, v as FieldXdo, H as HistoryXdo, I as InputXdo, z as IntMethod, L as ListBoundsXdo, M as MethodArg, A as MethodOpts, G as MethodSpec, J as MethodXdo, K as MockEntry, N as MockMap, O as MockXdo, Q as ObjMember, U as PasswordMethod, W as PersistedFunctionRow, Y as RegexValue, Z as ResponseDef, _ as ResultItemXdo, $ as RowFromFieldMap, a0 as StackItemXdo, a3 as StatementInputXdo, a5 as TAGS, a6 as TEST_EXPECT_TYPES, a7 as TableRefMethod, a8 as Tag, a9 as TaggedValue, aa as TestDef, ab as TestExpect, ac as TestExpectType, ad as TestXdo, ae as TextFormat, af as TextMethod, ag as TypeBrand, ah as ValueOf, ai as VectorMethod, ak as XanoGeoPosition, al as XanoGeoValue, am as annotate, an as auth, ao as c, ap as caught, aq as col, ar as env, as as expect, at as f, au as filter, av as inp, aw as obj, ax as out, ay as ref, az as resp, aA as setting, aB as statements, aC as sys, aD as test, aE as toolset, aF as withFilters } from './response-CVAE2kMj.js';
1
+ import { ef as Condition, eg as FilterResults, eh as ElementResult, ei as SameArrayResult, ej as GroupedArrayResult, ek as AgentResultOf, b3 as AddonDef, el as OutputPath, cZ as TableDef, em as QualifiedCol, bx as DbEval, cY as SortDirective, bz as DbWhere, en as OutputRoot, bM as InferRow, eo as AggregateRow, ep as EvalFields, eq as OutputAuthored, cb as MicroserviceDef, ah as generated, F as FunctionDef, co as QueryHandle } from './store-DAnUIi1T.js';
2
+ export { b4 as AddonXdo, A as AdoptChange, a as AdoptResult, b5 as AgentDef, b6 as AgentHandle, b7 as AgentOutput, b8 as AgentSettingsXdo, b9 as AgentXdo, ba as AmbientBindings, bb as AnthropicLlm, bc as ApiGroupDef, bd as ApiGroupXdo, be as AuthRef, bf as Authored, B as Bundle, b as BundlePayload, c as BundleType, bg as Capturable, b0 as CaptureRecord, a_ as CaptureValue, bh as ChannelConversationDef, bi as ChannelDeliveryDef, bj as ChannelDeliveryGuarantee, bk as ChannelPublishDef, bl as ChannelPublishWho, bm as ChannelRateLimitDef, bn as ColumnDef, bo as Comparison, bp as ContainerEnv, bq as ContainerPort, br as ContainerResources, bs as ContainerVolume, bt as CorsConfig, bu as CorsMode, bv as DatabaseActions, bw as DatabaseInputs, by as DbEvalFilter, bA as ErrorInputs, bB as ExceptionPolicy, bC as FieldAccessor, bD as FieldRule, bE as GoogleGenAiLlm, bF as HistoryInput, bG as HttpVerb, bH as IndexDef, bI as IndexLang, bJ as IndexOp, bK as IndexType, bL as IndexXdo, bN as InputDescriptor, bO as InputOptions, bP as IteratingBindings, bQ as KnowledgeDef, bR as KnowledgeDirSource, bS as KnowledgeFileSource, bT as KnowledgeMode, bU as KnowledgeType, bV as LAMBDA_BINDINGS, bW as LAMBDA_CODE_FILTERS, bX as LAMBDA_GLOBALS, bY as LAMBDA_MODULE_GLOBALS, bZ as LAMBDA_STATEMENTS, b1 as LambdaBindings, b_ as LambdaBody, aZ as LambdaOptions, a$ as LambdaSurface, b$ as LlmPrompt, c0 as LlmProvider, c1 as LlmSettings, g as LockEntry, h as LockExportContext, i as LockFile, M as Manifest, j as ManifestField, k as ManifestKind, l as ManifestStatement, c2 as ManifestValue, c3 as McpPathOptions, c4 as McpServerDef, c5 as McpServerHandle, c6 as McpServerXdo, m as MergeResult, c7 as MessageDeliverTo, c8 as MicroserviceChart, c9 as MicroserviceConfig, ca as MicroserviceContainer, cc as MicroserviceDeployment, cd as MicroserviceIngress, ce as MicroserviceRegistryAuth, cf as MicroserviceVolume, cg as MicroserviceXdo, ch as MiddlewareAttach, ci as MiddlewareAttachEntry, cj as MiddlewareDef, ck as MiddlewareXdo, O as ObjectKind, cl as OpenAiLlm, n as PayloadArrayKey, cm as QueryDef, cn as QueryFilterName, cp as QueryResponseType, cq as QueryXdo, cr as RealtimeActions, cs as RealtimeChannelActions, ct as RealtimeChannelDef, cu as RealtimeChannelHandle, cv as RealtimeChannelRef, cw as RealtimeChannelTriggerInputs, cx as RealtimeChannelXdo, cy as RealtimeClient, cz as RealtimeInputs, cA as RealtimeMessageDef, cB as RealtimeMessageXdo, cC as RealtimeServerActions, cD as RealtimeServerDef, cE as RealtimeServerHandle, cF as RealtimeServerRef, cG as RealtimeServerTriggerInputs, cH as RealtimeServerXdo, cI as RealtimeUrlOptions, R as RenameResult, cJ as ResultStrategy, cK as Route, cL as RowOf, cM as ScheduleDef, cN as SchemaCols, cO as SchemaDef, cP as SearchComparison, cQ as SearchGroup, cR as SearchNode, cS as SearchOp, cT as SearchParamValue, cU as SeedFileSource, cV as SeedRow, cW as SeedSource, cX as SortDir, S as StatementSpec, c_ as TableXdo, c$ as TaskDef, d0 as TaskXdo, d1 as ToolDef, d2 as ToolXdo, d3 as ToolsetBaseDef, d4 as ToolsetBaseXdo, d5 as ToolsetInputs, d6 as ToolsetToolEntry, d7 as ToolsetToolRef, d8 as TriggerDef, d9 as TriggerObjType, da as TriggerXdo, db as ViewDef, dc as ViewXdo, dd as WorkflowTestDef, de as WorkflowTestXdo, df as WorkspaceActions, dg as WorkspaceConfigDef, dh as WorkspaceConfigXdo, di as WorkspaceHistoryDef, dj as WorkspaceHistoryXdo, dk as WorkspaceInputs, dl as WorkspaceMiddlewareDef, dm as WorkspaceMiddlewareXdo, b2 as Xano, dn as XanoFreeLlm, dp as addon, dq as agent, dr as agentTrigger, ds as and, dt as apiGroup, du as assertLambdaBody, dv as bitwiseAnd, dw as bitwiseOr, dx as bitwiseXor, dy as cmp, dz as defineFunction, dA as emit, dB as emitBundle, dC as errorTrigger, dD as expr, dE as fl, dF as input, dG as knowledge, dH as knowledgeDir, dI as knowledgeFile, er as lam, dJ as mathAdd, dK as mathDiv, dL as mathMul, dM as mathSub, dN as mcpServer, dO as mcpServerTrigger, dP as microservice, dQ as middleware, dR as mixed, dS as objectEntries, dT as objectKeys, dU as objectValues, dV as or, dW as query, dX as realtimeChannel, dY as realtimeChannelTrigger, dZ as realtimeMessage, d_ as realtimeServer, d$ as realtimeServerTrigger, e0 as realtimeTrigger, e1 as resetLockOverrides, e2 as seedFile, e3 as seedLockOverrides, e4 as table, e5 as tableTrigger, e6 as task, e7 as textAppend, e8 as textPrepend, e9 as toSearchParams, ea as tool, eb as workflowTest, ec as workspace, ed as workspaceConfig, ee as workspaceTrigger } from './store-DAnUIi1T.js';
3
+ import { y as StatementAnnotations, S as Statement, l as FromFieldMap, u as ObjValue, Y as Prettify, a1 as AsShapeBrand, X as XanoFileRef, z as StatementOptions, v as ObjectRef, O as ObjInput } from './response-D6xGLEIn.js';
4
+ export { B as BrandOpts, b as BrandValue, D as DecimalMethod, E as EmailMethod, c as FieldAccess, f as FieldDescriptor, h as FieldMap, j as FieldOpts, k as FieldStyleType, I as IntMethod, M as MethodArg, m as MethodOpts, n as MethodSpec, o as MockEntry, p as MockMap, q as MockXdo, s as ObjMember, P as PasswordMethod, w as ResponseDef, x as RowFromFieldMap, T as TableRefMethod, A as TextFormat, C as TextMethod, G as TypeBrand, V as ValueOf, H as VectorMethod, J as XanoGeoPosition, K as XanoGeoValue, L as annotate, N as f, Q as obj, U as statements } from './response-D6xGLEIn.js';
5
+ import { h as FilterXdo, V as Value, i as FilteredValue, R as RefValue, F as FunctionXdo } from './xdo-ODuJklk6.js';
6
+ export { C as CacheXdo, a as CaughtField, b as ConditionalContext, c as ConditionalElifContext, E as ExprGroup, d as ExprNode, e as ExprOperand, f as ExprStatement, g as FieldXdo, H as HistoryXdo, I as InputXdo, L as ListBoundsXdo, M as MethodXdo, P as PersistedFunctionRow, j as RegexValue, k as ResultItemXdo, S as StackItemXdo, l as StatementInputXdo, T as TAGS, m as TEST_EXPECT_TYPES, n as Tag, o as TaggedValue, p as TestDef, q as TestExpect, r as TestExpectType, s as TestXdo, t as auth, u as c, v as caught, w as col, x as env, y as expect, z as filter, A as inp, B as out, D as ref, G as resp, J as setting, K as sys, N as test, O as toolset, Q as withFilters } from './xdo-ODuJklk6.js';
5
7
 
6
8
  /** One `else if (when) { then }` branch of a {@link conditional}'s elif stack. */
7
9
  interface ConditionalElifArgs extends StatementAnnotations {
@@ -19,7 +21,7 @@ interface ConditionalArgs extends StatementAnnotations {
19
21
  declare function conditional(args: ConditionalArgs): Statement;
20
22
 
21
23
  /**
22
- * `InferInput<Q>` (U2) — the request-payload TS type for a query (or function)
24
+ * `InferInput<Q>` — the request-payload TS type for a query (or function)
23
25
  * def's declared inputs, computed at compile time from the value brands added in
24
26
  * U1. No codegen, no build step: the type is derived from the def, so it can
25
27
  * never drift from what the endpoint actually accepts.
@@ -88,7 +90,7 @@ type NameOf<F> = F extends FilterXdo<infer N> ? N : string;
88
90
  * Apply ONE filter's declared result to `Shape`.
89
91
  *
90
92
  * Null propagates rather than being erased, matching `IndexShape`'s treatment of
91
- * a nullable base (#105) and the engine's runtime, where a filter over a null
93
+ * a nullable base and the engine's runtime, where a filter over a null
92
94
  * binding yields null: a `db.get` row is `Row | null`, so counting it is
93
95
  * `number | null`, not `number`.
94
96
  *
@@ -107,7 +109,7 @@ type ApplyFilter<Shape, N extends string> = string extends N ? unknown : null ex
107
109
  type ApplyFilters<Shape, Fs> = Fs extends readonly [infer Head, ...infer Tail] ? ApplyFilters<ApplyFilter<Shape, NameOf<Head>>, Tail> : Fs extends readonly [] ? Shape : unknown;
108
110
 
109
111
  /**
110
- * `InferResponse<Q>` (issue #5) — the response type for a query or function def,
112
+ * `InferResponse<Q>` — the response type for a query or function def,
111
113
  * the read-side counterpart of `InferInput`. Closes the round trip: rename or
112
114
  * retype what an endpoint returns and every consumer that types a response
113
115
  * against `InferResponse` lights up at compile time.
@@ -127,9 +129,9 @@ type ApplyFilters<Shape, Fs> = Fs extends readonly [infer Head, ...infer Tail] ?
127
129
  * knowable):
128
130
  * 1. A declared `responseShape` on the def always wins (the override).
129
131
  * 2. Otherwise the shape is auto-derived from `response` + `stack`
130
- * ({@link DeriveResponse}) — object-literal keys (U2) and a single variable
131
- * traced to a typed `db.get`/`db.query` (U5). A dotted `ref("var.field")`
132
- * traces the base variable, then indexes the subpath into its shape (#93).
132
+ * ({@link DeriveResponse}) — object-literal keys and a single variable
133
+ * traced to a typed `db.get`/`db.query`. A dotted `ref("var.field")`
134
+ * traces the base variable, then indexes the subpath into its shape.
133
135
  * 3. Anything the walk can't resolve (filters, lambdas, control-flow vars,
134
136
  * `set_var`, function-produced vars, streams) resolves to `unknown`, which
135
137
  * the author narrows or overrides via `responseShape`.
@@ -160,7 +162,7 @@ type DeclaredResponse<Q> = Q extends {
160
162
  */
161
163
  /**
162
164
  * What a response resolves to when the stack is a plain `Statement[]` rather
163
- * than a tuple — the collapse issue #11 reported.
165
+ * than a tuple.
164
166
  *
165
167
  * A widened stack has no heads to walk, so EVERY `as` binding in it is invisible
166
168
  * and every `ref()` bottoms out. Resolving that to `unknown` made the failure
@@ -196,12 +198,12 @@ type TraceBinding<Name extends string, S> = S extends readonly [infer Head, ...i
196
198
  * Walk a dotted subpath `Path` into an already-traced binding `Shape`, one
197
199
  * segment at a time: `IndexShape<AgentRunResult<string>, "result">` → `string`.
198
200
  *
199
- * **Null-propagating** (#105): when the base is nullable (e.g. a `db.get` row,
201
+ * **Null-propagating**: when the base is nullable (e.g. a `db.get` row,
200
202
  * `Row | null`), the null flows *through* the projection rather than erasing it —
201
203
  * `IndexShape<Row | null, "slug">` → `string | null`, mirroring the engine's
202
204
  * runtime where `$row.slug` on a missed (null) row is itself null. Without this,
203
205
  * `keyof (Row | null)` narrows to `never` and every dotted ref into a nullable
204
- * base would bottom out at `unknown`, silently dropping the #93 projection.
206
+ * base would bottom out at `unknown`, silently dropping the projection.
205
207
  *
206
208
  * A segment that genuinely isn't a key of the (non-null) shape — including a
207
209
  * shape that is already `unknown` (whose `keyof` is `never`) — still bottoms out
@@ -219,7 +221,7 @@ type IndexShape<Shape, Path extends string> = unknown extends Shape ? IndexStep<
219
221
  type IndexStep<Shape, Path extends string> = Path extends `${infer Head}.${infer Rest}` ? Head extends keyof Shape ? IndexShape<Shape[Head], Rest> : unknown : Path extends keyof Shape ? Shape[Path] : unknown;
220
222
  /**
221
223
  * Resolve a `ref` name against the branded stack `S`. A **dotted** name projects
222
- * a subpath (#93): the head names the bound variable (traced via
224
+ * a subpath: the head names the bound variable (traced via
223
225
  * {@link TraceBinding}) and the tail indexes into that variable's shape (via
224
226
  * {@link IndexShape}), so `ref("generated.result")` types to the completion, not
225
227
  * `unknown`. A bare name traces the whole binding. Stack-variable names are
@@ -249,11 +251,11 @@ type TraceVar<Name extends string, S> = Name extends `${infer Base}.${infer Path
249
251
  * values, and it is deliberate rather than a gap: typing a constant's key would
250
252
  * mean branding the return of every constant constructor, and `Value` is the
251
253
  * currency of every statement field in the SDK. Declare `responseShape` when a
252
- * client needs those keys typed (issue #79).
254
+ * client needs those keys typed.
253
255
  */
254
256
  type ResolveValue<V, S> = V extends ObjValue<infer Members> ? ResolveObj<Members, S> : V extends FilteredValue<infer Base, infer Chain> ? ApplyFilters<ResolveValue<Base, S>, Chain> : V extends RefValue<infer Name> ? TraceVar<Name, S> : unknown;
255
257
  /**
256
- * Resolve every member of an {@link ObjValue}'s record (issue #118) — the same
258
+ * Resolve every member of an {@link ObjValue}'s record — the same
257
259
  * walk {@link DeriveResponse} runs over a top-level object literal, one level
258
260
  * down. `obj()` is the SDK's answer for a nested response object, and it used to
259
261
  * cost the caller its types: the members are ordinary {@link Value}s with
@@ -277,8 +279,7 @@ type ResolveObj<Members, S> = Prettify<{
277
279
  *
278
280
  * The branch order is load-bearing:
279
281
  * - a {@link Value} (including a nested `obj()`, a filtered value, or a `ref`)
280
- * goes to {@link ResolveValue}, so `c.*` constants keep the `unknown` floor
281
- * issue #79 documents;
282
+ * goes to {@link ResolveValue}, so `c.*` constants keep their `unknown` floor;
282
283
  * - a RAW SCALAR literal types itself — `obj({ count: 3 })` really is a number,
283
284
  * and unlike `c.int(3)` the type is right there to read. A boolean is widened
284
285
  * explicitly because inference does not treat it like its siblings: `3` and
@@ -289,7 +290,7 @@ type ResolveObj<Members, S> = Prettify<{
289
290
  * - an ARRAY resolves element-wise (checked before the record branch, since an
290
291
  * array is also an object);
291
292
  * - a nested plain RECORD recurses. This is the spelling `response: { user: {
292
- * id: ref(...) } }` uses — the #133 auto-wrap, which `encodeResponse` hands
293
+ * id: ref(...) } }` uses — the auto-wrap, which `encodeResponse` hands
293
294
  * to `obj()` anyway, so the two spellings must and now do infer alike.
294
295
  */
295
296
  type ResolveMember<M, S> = M extends Value ? ResolveValue<M, S> : M extends boolean ? boolean : M extends string | number ? M : M extends readonly (infer Element)[] ? ResolveMember<Element, S>[] : M extends object ? ResolveObj<M, S> : unknown;
@@ -298,7 +299,7 @@ type ResolveMember<M, S> = M extends Value ? ResolveValue<M, S> : M extends bool
298
299
  * field and branded `stack`. Mirrors the Xano engine's static walk:
299
300
  * - a record response (object literal) → an object with **those keys** (each
300
301
  * member resolved individually, recursing into a nested `obj()` or plain
301
- * object literal — #118); keys are known regardless of traceability;
302
+ * object literal); keys are known regardless of traceability;
302
303
  * - a single {@link Value} response → resolve it against the stack;
303
304
  * - no response / an unresolvable shape → `unknown`.
304
305
  * Kept separate from {@link DeclaredResponse} so the user override always wins.
@@ -317,7 +318,7 @@ type DeriveResponse<Q> = Q extends {
317
318
  type InferResponse<Q> = [DeclaredResponse<Q>] extends [never] ? DeriveResponse<Q> : DeclaredResponse<Q>;
318
319
 
319
320
  /**
320
- * Addressing a stored file from a client (issue #31).
321
+ * Addressing a stored file from a client.
321
322
  *
322
323
  * A file column comes back as a {@link XanoFileRef}: a `path` into the vault
323
324
  * plus metadata, and an absolute, authoritative-looking `url`. On a
@@ -371,7 +372,7 @@ declare function setVar(as: string, value: Value, a?: StatementOptions): Stateme
371
372
  declare function updateVar(name: string, value: Value, a?: StatementAnnotations): Statement;
372
373
 
373
374
  /**
374
- * Hand-authored `!class` control-flow / terminal statements (U10). These carry
375
+ * Hand-authored `!class` control-flow / terminal statements. These carry
375
376
  * PHP transforms in the engine, so they're authored by hand and validated
376
377
  * against persisted fixtures rather than codegen'd. (`conditional` — also a
377
378
  * `!class` special — already lives in `src/statements/conditional.ts`.)
@@ -405,7 +406,7 @@ declare function foreachContinue(a?: StatementAnnotations): Statement;
405
406
  declare function foreachRemove(a?: StatementAnnotations): Statement;
406
407
 
407
408
  /**
408
- * Hand-authored control-flow block statements (U10). These carry non-trivial
409
+ * Hand-authored control-flow block statements. These carry non-trivial
409
410
  * transforms in the engine (for, foreach, while, group), so they're authored by
410
411
  * hand — like `conditional` — rather than codegen'd. Each nests a `run[]` stack
411
412
  * encoded through the shared statement encoder, and `while` reuses the
@@ -418,7 +419,7 @@ declare function foreachRemove(a?: StatementAnnotations): Statement;
418
419
  * group → context: { run:[…] }
419
420
  *
420
421
  * All four are golden-verified: `for`/`foreach` from vendored goldens, and
421
- * `while`/`group` from live engine captures (see the conformance corpus). The
422
+ * `while`/`group` from live engine captures. The
422
423
  * `while` shape (`expr` comparison + `run[]`) and `group`'s bare `{run}` are
423
424
  * confirmed byte-exact.
424
425
  */
@@ -451,7 +452,7 @@ declare function whileLoop(args: WhileArgs): Statement;
451
452
  declare function group(body: Statement[], a?: StatementAnnotations): Statement;
452
453
 
453
454
  /**
454
- * Hand-authored branching block statements (U10) — `switch` and `try_catch`.
455
+ * Hand-authored branching block statements — `switch` and `try_catch`.
455
456
  * Both carry structural control-flow transforms in the engine, so
456
457
  * (like `conditional` and the loops) they're authored by hand rather than
457
458
  * codegen'd. Each nests `run[]` stacks encoded through the shared statement
@@ -512,7 +513,7 @@ declare function tryCatch(args: TryCatchArgs): Statement;
512
513
  * Two families live here. The HTTP-request fields (`api.request`,
513
514
  * `stream.from_request`, `webflow.request`, `microservice.request`) were hoisted
514
515
  * per the rule of three once the second wrapper landed. The DB row CELL joined
515
- * them (issue #92): it is a self-contained coercion unit that landed in `db.ts`
516
+ * them: it is a self-contained coercion unit that landed in `db.ts`
516
517
  * only because that is where its caller is, and its siblings — `coerceScalar`,
517
518
  * `coerceObj`, `coerceHeaders` — were already here.
518
519
  */
@@ -523,7 +524,7 @@ declare function tryCatch(args: TryCatchArgs): Statement;
523
524
  * spec now carries the same set and rejects a constant outside it.
524
525
  */
525
526
  type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | "PATCH";
526
- /** A headers map: full header lines built from `Name: value` pairs (issue #72). */
527
+ /** A headers map: full header lines built from `Name: value` pairs. */
527
528
  type HeaderMap = Readonly<Record<string, string | Value>>;
528
529
  /**
529
530
  * A value acceptable in a call/agent `input` map — a raw scalar literal, a nested
@@ -549,7 +550,7 @@ interface HttpRequestFields {
549
550
  /**
550
551
  * The bare JS literals a row cell accepts for a column whose row type is `V`,
551
552
  * mirroring the `Scalar` union `fl.*` arguments and `seed` rows already take
552
- * (issue #75).
553
+ *.
553
554
  *
554
555
  * Keyed on the column's own inferred type, so the widening is STRICTER than the
555
556
  * tagged spelling it replaces: `{ is_hidden: "yes" }` on an `f.bool()` column is
@@ -559,7 +560,7 @@ interface HttpRequestFields {
559
560
  * `null` is admitted on EVERY column, including the ones that refuse every other
560
561
  * literal — an `obj`/`json`/list/`geo`/`vector` column has no bare-literal form
561
562
  * and throws for a string, number or boolean, but takes `null`. That asymmetry
562
- * is the decision, not an oversight (issue #90): nulling a cell is a legitimate
563
+ * is the decision, not an oversight: nulling a cell is a legitimate
563
564
  * write whatever the column reads back as, and it matches what a seed row does
564
565
  * with a `null` (see `coerceScalarValue` — nullability is the engine's to
565
566
  * enforce, and a column config this layer does not fully model is not something
@@ -618,7 +619,7 @@ interface AsyncRuntime {
618
619
  }
619
620
 
620
621
  /**
621
- * Hand-authored call-family block statements (U10) — invoking another workspace
622
+ * Hand-authored call-family block statements — invoking another workspace
622
623
  * object from a stack. These carry `!class` transforms in the engine
623
624
  * (FunctionRun, FunctionCall, ApiCall, …) so they're authored by hand.
624
625
  *
@@ -652,17 +653,6 @@ interface AsyncRuntime {
652
653
  * `action.call` / `action.package.call` are the exception to the paragraph
653
654
  * above: their target is NOT a workspace object, so no id is derived for them
654
655
  * and the author supplies one. See {@link ActionCallArgs} for why.
655
- *
656
- * @TODO(byte-verify): `function.run` (mvp:function), `api.call` (context.token
657
- * confirmed tagged), and — since the workflow-test capture — `function.call`
658
- * (mvp:workspace_run_function) are golden-verified. Still modeled/unverified:
659
- * - the remaining `workspace_run_*` (task/tool/trigger/middleware/addon) — no
660
- * golden, but they share the single-key `id` context two goldens now pin.
661
- * - `workflow_test` → context.{datasource,id} — decode-accurate, no golden.
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.
666
656
  */
667
657
 
668
658
  /** A call/agent `{name: value}` input map — raw scalar literals coerce to constants. */
@@ -695,7 +685,7 @@ interface FunctionRunArgs<Fn extends FnRef = FnRef, As extends string = string>
695
685
  /**
696
686
  * `function.run <fn>` — run another function inline.
697
687
  *
698
- * Branded `AsShapeBrand<As, InferResponse<Fn>>` (issue #209): the bound variable
688
+ * Branded `AsShapeBrand<As, InferResponse<Fn>>`: the bound variable
699
689
  * carries the TARGET's response type, so `ref("<as>.field")` in the caller's
700
690
  * response types to that field instead of `unknown`. See {@link functionCall}
701
691
  * for what the propagation can and cannot see.
@@ -717,7 +707,7 @@ interface FunctionCallArgs<Fn extends ObjectRef = ObjectRef, As extends string =
717
707
  /**
718
708
  * `function.call <fn>` — invoke a function as a workspace run.
719
709
  *
720
- * Branded `AsShapeBrand<As, InferResponse<Fn>>` (issue #209). `InferResponse` of
710
+ * Branded `AsShapeBrand<As, InferResponse<Fn>>`. `InferResponse` of
721
711
  * the TARGET is exactly what a client would get back from it, so drilling into
722
712
  * the binding now types:
723
713
  *
@@ -772,7 +762,7 @@ interface ApiCallArgs<Api extends ObjectRef = ObjectRef, As extends string = str
772
762
  * entry in {@link ApiCallArgs.headers} instead.
773
763
  *
774
764
  * The `Value` spelling stays accepted so a pulled workspace holding one
775
- * round-trips as itself (issue #139) — it is a shape to carry, not to author.
765
+ * round-trips as itself — it is a shape to carry, not to author.
776
766
  */
777
767
  auth?: {
778
768
  token: Value | string;
@@ -808,7 +798,7 @@ interface ToolCallArgs<Tool extends ObjectRef = ObjectRef, As extends string = s
808
798
  }
809
799
  /**
810
800
  * `tool.call <tool>` — invoke a tool as a workspace run. Branded with the
811
- * TARGET's `InferResponse` (issue #209), like {@link functionCall}.
801
+ * TARGET's `InferResponse`, like {@link functionCall}.
812
802
  */
813
803
  declare function toolCall<const Tool extends ObjectRef = ObjectRef, const As extends string = "", const Fs extends readonly FilterXdo[] = readonly []>(args: ToolCallArgs<Tool, As> & {
814
804
  asFilters?: Fs;
@@ -919,14 +909,14 @@ interface WorkflowTestCallArgs extends StatementOptions {
919
909
  declare function workflowTestCall(args: WorkflowTestCallArgs): Statement;
920
910
 
921
911
  /**
922
- * Hand-authored AI-agent and cloud-job specials (U10). All carry `!class`
912
+ * Hand-authored AI-agent and cloud-job specials. All carry `!class`
923
913
  * transforms in the engine (AgentRun, CloudJob, CloudJobAwait, CloudJobStatus).
924
914
  * The stored shapes here are modeled on those transforms' `decode()` methods
925
915
  * (authoritative for the persisted form), so they're grounded — but still have
926
916
  * no golden fixture to deep-equal against.
927
917
  *
928
918
  * call_agent and cloud_job{,_await,_status} are golden-verified against live
929
- * engine captures (see the conformance corpus): agent → context.toolset.id +
919
+ * engine captures: agent → context.toolset.id +
930
920
  * top-level runtime + input[]; cloud jobs → everything in input[] with the
931
921
  * captured entry order. `runtime` is omitted at the default "shared" mode, and
932
922
  * `await` is passed through as authored.
@@ -934,7 +924,7 @@ declare function workflowTestCall(args: WorkflowTestCallArgs): Statement;
934
924
 
935
925
  /**
936
926
  * The rich result object an agent run binds to its `as` variable — modeled on
937
- * the engine's agent-run result envelope (issue #89). **The completion is at
927
+ * the engine's agent-run result envelope. **The completion is at
938
928
  * `.result`**, not the top level; the surrounding fields are run metadata.
939
929
  *
940
930
  * `R` is the completion type: `string` for a text agent (the default — including
@@ -994,8 +984,8 @@ interface AiAgentRunArgs<As extends string = "", A extends ObjectRef = ObjectRef
994
984
  /**
995
985
  * Type-only override for the `.result` completion type. Usually unnecessary:
996
986
  * when `agent` is a def handle from `agent({ output: { schema } })`, `.result`
997
- * is inferred straight from that schema via {@link AgentResultOf} (issue
998
- * #124.1). Pass a witness only to override that inference or to type the
987
+ * is inferred straight from that schema via {@link AgentResultOf}.
988
+ * Pass a witness only to override that inference or to type the
999
989
  * `.result` of an agent referenced by bare name (which carries no schema) —
1000
990
  * e.g. `resultShape: {} as { sentiment: string }`. Never emitted into the
1001
991
  * statement (phantom, like the response brand).
@@ -1010,8 +1000,8 @@ interface AiAgentRunArgs<As extends string = "", A extends ObjectRef = ObjectRef
1010
1000
  *
1011
1001
  * Branded with `AsShapeBrand<As, AgentRunResult<R>>` (like the `db.*` producers)
1012
1002
  * so `ref(as)` traces to the typed {@link AgentRunResult} envelope via
1013
- * `InferResponse` instead of `unknown` — the completion is at `.result` (#89).
1014
- * A dotted `ref("<as>.result")` now projects that completion directly (#93), so
1003
+ * `InferResponse` instead of `unknown` — the completion is at `.result`.
1004
+ * A dotted `ref("<as>.result")` now projects that completion directly, so
1015
1005
  * the common "return just the answer" endpoint no longer needs a `responseShape`.
1016
1006
  * The brand is phantom; the emitted statement bytes are unchanged.
1017
1007
  */
@@ -1023,8 +1013,7 @@ interface CloudJobArgs extends StatementOptions {
1023
1013
  /**
1024
1014
  * Container image to run. REQUIRED — the engine validates the parameter before
1025
1015
  * the job launches and answers `400 ERROR_CODE_INPUT_ERROR "Missing param:
1026
- * image"` without it. Measured on a live ephemeral by
1027
- * `scripts/probe-special-required.ts`.
1016
+ * image"` without it. Measured on a live engine.
1028
1017
  */
1029
1018
  image: Value;
1030
1019
  /** Command to run in the container. REQUIRED, the same way `image` is. */
@@ -1068,7 +1057,7 @@ interface CloudJobStatusArgs extends StatementOptions {
1068
1057
  declare function cloudJobStatus(a: CloudJobStatusArgs): Statement;
1069
1058
 
1070
1059
  /**
1071
- * Hand-authored miscellaneous specials (U10) — the remaining `!class` /
1060
+ * Hand-authored miscellaneous specials — the remaining `!class` /
1072
1061
  * `!function` / declarative statements without a generated factory: array
1073
1062
  * map/union, the comment & placeholder nodes, raw-input access, post-process,
1074
1063
  * realtime events, auth-token creation, and the `expect.to_throw` test
@@ -1080,8 +1069,8 @@ declare function cloudJobStatus(a: CloudJobStatusArgs): Statement;
1080
1069
  * later). Block fields map to same-named `context` entries unless the schema's
1081
1070
  * declarative transform says otherwise.
1082
1071
  *
1083
- * array_map, array_union, get_input, and test_expect_to_throw are now
1084
- * golden-verified against live engine captures (see the conformance corpus);
1072
+ * array_map, array_union, get_input, and test_expect_to_throw are
1073
+ * golden-verified against live engine captures;
1085
1074
  * post_process is parser-verified. Remaining unverified spots:
1086
1075
  * (1) array_map — the scalar `transform_value` path is byte-exact. The
1087
1076
  * object-literal form (`transform_object` + `output_type:"object"`) is now
@@ -1166,8 +1155,7 @@ interface ArrayUnionArgs extends StatementOptions {
1166
1155
  * `source` — but the engine has no absent state for it: `right` declares
1167
1156
  * `tag?=input` with an undefaulted `value`, so an omitted block resolves as an
1168
1157
  * input named `""` and the request dies with
1169
- * `500 ERROR_FATAL "Unable to locate input: "`. Measured on a live ephemeral
1170
- * by `scripts/probe-special-required.ts`.
1158
+ * `500 ERROR_FATAL "Unable to locate input: "`. Measured on a live engine.
1171
1159
  */
1172
1160
  with: Value;
1173
1161
  as?: string;
@@ -1371,7 +1359,7 @@ interface ExpectToThrowArgs extends StatementAnnotations {
1371
1359
  * The matcher is stored as `context.value1` — the numbered slot every
1372
1360
  * `expect.*` statement keeps its operands in. It was emitted as
1373
1361
  * `context.exception` through 2.0.21, a key the engine never reads, so a
1374
- * to_throw carrying one accepted ANY error instead of the one named (issue #228).
1362
+ * to_throw carrying one accepted ANY error instead of the one named.
1375
1363
  */
1376
1364
  declare function expectToThrow(a: ExpectToThrowArgs): Statement;
1377
1365
  interface ExpectToMatchArgs extends StatementAnnotations {
@@ -1384,7 +1372,7 @@ interface ExpectToMatchArgs extends StatementAnnotations {
1384
1372
  * `expect.to_match` — assert a value matches a regex (`mvp:test_expect_to_match`).
1385
1373
  *
1386
1374
  * A typed, guarded pass-through to the generated factory: same bytes, same
1387
- * fields. What it adds is the refusal that issue #211 asked for. The `value`
1375
+ * fields. What it adds is a refusal. The `value`
1388
1376
  * slot is a PHP `preg_*` PATTERN, so a `c.text("^XanoTS.*Engine$")` there is not
1389
1377
  * a stricter assertion — it is a pattern the engine cannot run, and the test
1390
1378
  * fails against the very string it was written for:
@@ -1394,14 +1382,14 @@ interface ExpectToMatchArgs extends StatementAnnotations {
1394
1382
  * ```
1395
1383
  *
1396
1384
  * The refusal is build-time and inspects the value it was handed, exactly as the
1397
- * `fl.regex_*` guard does (#128): a bare `const` is refused and pointed at
1385
+ * `fl.regex_*` guard does: a bare `const` is refused and pointed at
1398
1386
  * `c.regex`, while a `ref`/`inp`/`env` pattern — whose text is not visible here —
1399
1387
  * is passed through untouched.
1400
1388
  */
1401
1389
  declare function expectToMatch(a?: ExpectToMatchArgs): Statement;
1402
1390
 
1403
1391
  /**
1404
- * Hand-authored typed wrapper for `util.ip_lookup` (#226) — the geolocation
1392
+ * Hand-authored typed wrapper for `util.ip_lookup` — the geolocation
1405
1393
  * statement whose bound variable is a NESTED object that nothing in the
1406
1394
  * signature hints at.
1407
1395
  *
@@ -1496,11 +1484,11 @@ declare function ipLookup<const As extends string = "", const Fs extends readonl
1496
1484
  *
1497
1485
  * - the reference field is named `addon` (an {@link ObjectRef}), so the nesting
1498
1486
  * field is named `children` to avoid the collision — which also matches the
1499
- * stored/export key (KTD-3);
1487
+ * stored/export key;
1500
1488
  * - the target is a guid-native `ObjectRef`, resolved to a guid and emitted under
1501
1489
  * the stored `id` key. In a packageExport bundle the engine matches addons by
1502
1490
  * guid (`importAddonId` → `guidMatch`), so emitting the guid as `id` is correct
1503
- * — the same precedent `s.addon.call` uses (KTD-1).
1491
+ * — the same precedent `s.addon.call` uses.
1504
1492
  */
1505
1493
 
1506
1494
  /**
@@ -1545,7 +1533,7 @@ interface AddonSpec<Graft = unknown> {
1545
1533
  }
1546
1534
 
1547
1535
  /**
1548
- * Hand-authored database statements (U10) — the `!map:dbo` family: read/delete/
1536
+ * Hand-authored database statements — the `!map:dbo` family: read/delete/
1549
1537
  * exists/patch/truncate/schema against a table. Codegen defers these because the
1550
1538
  * target table is a `!map:dbo context.dbo.id` reference; with the guid
1551
1539
  * foundation (refs/guid.ts) the table resolves to its deterministic guid.
@@ -1594,7 +1582,7 @@ type EvalAliases<E> = E extends readonly (infer Item)[] ? Item extends {
1594
1582
  as: infer A extends string;
1595
1583
  } ? A : never : never;
1596
1584
  /**
1597
- * The single-row shape a db read yields, for `InferResponse`'s trace (U5): the
1585
+ * The single-row shape a db read yields, for `InferResponse`'s trace: the
1598
1586
  * table's {@link InferRow}, narrowed to the selected `Cols` when an `output`
1599
1587
  * list is given, else the full row. A bare-name / raw-`ColumnDef[]` table has no
1600
1588
  * field brands, so `InferRow` is `never` → `unknown` (nothing to infer).
@@ -1667,7 +1655,7 @@ type AddonFields<A> = A extends readonly [infer H, ...infer Rest] ? (H extends {
1667
1655
  * the field with the addon result at runtime, so when an alias shadows an
1668
1656
  * existing column the honest type is the graft (`unknown`), not the base column.
1669
1657
  * An intersection would collapse `unknown & string` back to the base column and
1670
- * silently desync the type from runtime (issue #61).
1658
+ * silently desync the type from runtime.
1671
1659
  */
1672
1660
  type WithAddons<Row, A> = [keyof AddonFields<A>] extends [never] ? Row : Prettify<Omit<Row, keyof AddonFields<A>> & AddonFields<A>>;
1673
1661
  /**
@@ -1678,11 +1666,11 @@ type WithAddons<Row, A> = [keyof AddonFields<A>] extends [never] ? Row : Prettif
1678
1666
  type WithEval<Row, E> = [keyof EvalFields<E>] extends [never] ? Row : Prettify<Omit<Row, keyof EvalFields<E>> & EvalFields<E>>;
1679
1667
  /**
1680
1668
  * The paging metadata envelope a `db.query` returns when `paging` is set with
1681
- * metadata on — the engine's `packageListMeta` shape (issue #58). The result
1669
+ * metadata on — the engine's `packageListMeta` shape. The result
1682
1670
  * list lives under `items`; `totals:true` adds `itemsTotal`/`pageTotal`. A query
1683
1671
  * with no `paging`, or `paging:{ metadata:false }`, returns the bare list instead.
1684
1672
  *
1685
- * **Has-next signal (issue #66 bonus):** read `nextPage` — it is `number` when
1673
+ * **Has-next signal:** read `nextPage` — it is `number` when
1686
1674
  * another page exists and `null` on the last page (the engine fetches one extra
1687
1675
  * row to decide, so this needs no second scan). For a total count, set
1688
1676
  * `paging:{ totals:true }` and read `itemsTotal`/`pageTotal`. Both are typed on
@@ -1758,7 +1746,7 @@ interface DbAggregatePaging {
1758
1746
  * (the engine requires the qualified form) and the statement declares that alias
1759
1747
  * so the qualified name resolves; pass an already-dotted `name` for a
1760
1748
  * `bind`ed/joined column and it is left as-is (and declares nothing, which is
1761
- * what keeps a pulled workspace byte-exact — see issue #213).
1749
+ * what keeps a pulled workspace byte-exact).
1762
1750
  */
1763
1751
  interface DbAggregate {
1764
1752
  group?: DbEval[];
@@ -1794,7 +1782,7 @@ type DbTableRef<T extends ObjectRef = ObjectRef> = T | null;
1794
1782
  * widen what `where`/`sort`/`eval` can address by dotted path (`"author.id"`);
1795
1783
  * they do not by themselves change the returned row shape.
1796
1784
  *
1797
- * ⚠ **The two sides of a join condition are spelled differently** (issue #213).
1785
+ * ⚠ **The two sides of a join condition are spelled differently**.
1798
1786
  * The JOINED column takes the dotted alias path; the query's OWN column stays
1799
1787
  * BARE:
1800
1788
  *
@@ -1890,7 +1878,7 @@ interface DbGetArgs<T extends ObjectRef = ObjectRef, As extends string = string,
1890
1878
  * written row rather than null and so stay non-nullable — a genuine miss throws
1891
1879
  * instead of yielding null (`NotFound`/404 for `edit`/`patch`; a
1892
1880
  * unique-constraint error for `add`; `add_or_edit` upserts, so it never misses)
1893
- * (issue #105). */
1881
+ *. */
1894
1882
  declare function dbGet<T extends ObjectRef, const As extends string = "", const Cols extends readonly OutputPath<ColsOf<T>>[] = readonly [], const A extends readonly AddonSpec[] = readonly [], const Fs extends readonly FilterXdo[] = readonly []>(args: DbGetArgs<T, As, Cols, A> & {
1895
1883
  asFilters?: Fs;
1896
1884
  }): DbResult<As, ApplyFilters<WithAddons<RowShapeOf<T, Cols>, A> | null, Fs>>;
@@ -2045,7 +2033,7 @@ interface DbField {
2045
2033
  * A row cell: any authored {@link Value} **except** a `col()` reference. A `col()`
2046
2034
  * (bare or wrapped in `withFilters`) does not resolve to the row's stored value
2047
2035
  * inside a `db.edit`/`db.add` `row` — it evaluates to `null` at runtime and a
2048
- * following `fl.add(1)` aborts the engine (issue #32). The `__col?: never` bound
2036
+ * following `fl.add(1)` aborts the engine. The `__col?: never` bound
2049
2037
  * turns that live-only failure into a compile error; read the row first and pipe
2050
2038
  * `ref("...")` through the filter instead.
2051
2039
  */
@@ -2071,9 +2059,9 @@ type RowsOf<T> = T extends TableDef<string, infer Row> ? Row : unknown;
2071
2059
  /**
2072
2060
  * A partial row keyed by column name — the values to write. Unspecified columns
2073
2061
  * get a type default on `db.add`; on `db.edit` they are marked `ignore:true` and
2074
- * keep their stored value instead (issue #33 — see `expandRow`).
2062
+ * keep their stored value instead (see `expandRow`).
2075
2063
  *
2076
- * A cell is a tagged {@link Value}, a {@link NestedCell}, or — since #75 — a bare
2064
+ * A cell is a tagged {@link Value}, a {@link NestedCell}, or a bare
2077
2065
  * JS literal typed against that column ({@link ScalarCell}), which `expandRow`
2078
2066
  * coerces to the constant the author would otherwise have written by hand.
2079
2067
  */
@@ -2163,7 +2151,7 @@ interface DbEditArgs<T extends ObjectRef = ObjectRef, As extends string = string
2163
2151
  * A **partial** row keyed by column name: only the columns you list are
2164
2152
  * written. Columns you omit are emitted with `ignore:true` and keep their
2165
2153
  * stored value — a `{ votes }` edit updates `votes` alone and leaves every
2166
- * other column intact (issue #33). Expanded against the table's declared
2154
+ * other column intact. Expanded against the table's declared
2167
2155
  * columns. Use `data` for byte-exact control over each entry's `ignore` flag.
2168
2156
  */
2169
2157
  row?: RowMap<ColsOf<T>, RowsOf<T>>;
@@ -2314,7 +2302,7 @@ interface DbBulkAddArgs extends StatementOptions {
2314
2302
  * ⚠ **Unset/`false` means the engine STRIPS `id` from every item** and assigns
2315
2303
  * the next sequence value instead — silently, with no error and no warning.
2316
2304
  * The rows then sit at ids nothing else expects, which surfaces much later as
2317
- * a foreign key pointing at the wrong row (issue #259).
2305
+ * a foreign key pointing at the wrong row.
2318
2306
  *
2319
2307
  * This is the opposite of a `table` `seed`, where supplying `id` pins it. If
2320
2308
  * you are inserting rows whose ids other rows reference, set this to `true`.
@@ -2328,7 +2316,7 @@ interface DbBulkAddArgs extends StatementOptions {
2328
2316
  *
2329
2317
  * ⚠ An `id` on a row is DISCARDED unless {@link DbBulkAddArgs.allowIdField} is
2330
2318
  * `true` — see that field. Literal rows carrying one are rejected here rather
2331
- * than silently renumbered by the engine (issue #259).
2319
+ * than silently renumbered by the engine.
2332
2320
  */
2333
2321
  declare function dbBulkAdd(args: DbBulkAddArgs): Statement;
2334
2322
  interface DbBulkDeleteArgs<As extends string = string> extends StatementOptions {
@@ -2417,7 +2405,7 @@ declare function dbBulkPatch<T extends ObjectRef, const As extends string = "",
2417
2405
  * replacing rows wholesale. `export()` warns when a STATIC `items` array omits
2418
2406
  * columns of the bound table, and `--strict` / `export({ strict: true })` fails
2419
2407
  * the build on it — but an `items` built from a `ref`/`inp` cannot be inspected,
2420
- * so nothing catches that one for you (issue #15).
2408
+ * so nothing catches that one for you.
2421
2409
  *
2422
2410
  * Left **unbranded** (plain {@link Statement}): the engine declares no output
2423
2411
  * schema for `dbo_bulkupdate`/`dbo_bulkadd`, so
@@ -2432,7 +2420,7 @@ declare function dbBulkUpdate(args: DbBulkWriteArgs): Statement;
2432
2420
  * mirror the engine schema's `return.list.paging` block: `page=1`, `per_page=25`,
2433
2421
  * `offset=0`, `totals=false`, `metadata=true`.
2434
2422
  *
2435
- * **Input-bound (dynamic) paging (issue #66):** pass a {@link Value} (e.g.
2423
+ * **Input-bound (dynamic) paging:** pass a {@link Value} (e.g.
2436
2424
  * `inp("page")`) for `page`/`per_page`/`offset` instead of a number and it is
2437
2425
  * emitted into `context.simpleExternal.<field>` as a tagged `{value,tag,filters}`
2438
2426
  * (byte shape from the `simpleExternal` golden — the inner key is `value`, not
@@ -2462,7 +2450,7 @@ interface DbPaging {
2462
2450
  * **Leave this unset.** It defaults to being DERIVED — on whenever a
2463
2451
  * `page`/`per_page`/`offset` field or a classic `external` blob is present —
2464
2452
  * which is what stops a `search`/`sort`-only `paging` from silently truncating a
2465
- * result to 25 rows (issue #41). Setting it overrides that derivation.
2453
+ * result to 25 rows. Setting it overrides that derivation.
2466
2454
  *
2467
2455
  * It exists because a stored query can carry the two apart: real workspaces
2468
2456
  * persist a non-default `per_page` with the gate OFF, and a derived-only encoder
@@ -2544,7 +2532,7 @@ interface DbQueryArgs<T extends ObjectRef = ObjectRef, As extends string = strin
2544
2532
  * on (the default) the result is wrapped in a paging envelope
2545
2533
  * (`{ items, curPage, nextPage, prevPage, offset, perPage, itemsReceived }`,
2546
2534
  * plus `itemsTotal`/`pageTotal` when `totals:true`) instead of a bare row list,
2547
- * and `InferResponse` reflects that (issue #58). Pass `metadata:false` to keep
2535
+ * and `InferResponse` reflects that. Pass `metadata:false` to keep
2548
2536
  * the bare array.
2549
2537
  */
2550
2538
  paging?: P;
@@ -2610,7 +2598,7 @@ interface DbTransactionArgs extends StatementAnnotations {
2610
2598
  * Capture the transaction's result into this stack variable.
2611
2599
  *
2612
2600
  * A transaction returns whatever its sub-stack returned, so the binding is
2613
- * real state and not decoration — a pulled workspace stores one (issue #147).
2601
+ * real state and not decoration — a pulled workspace stores one.
2614
2602
  * The engine's XanoScript schema for this statement declares no `as`
2615
2603
  * argument, which is why nothing here modelled it; the statement class
2616
2604
  * returns a value all the same, and the stack item carries the binding like
@@ -2640,7 +2628,7 @@ interface DbExternalQueryArgs extends StatementOptions {
2640
2628
  * workspace environment variable unless it already looks like a URL, and
2641
2629
  * falls back to it whenever the tagged value is empty. The two are separate
2642
2630
  * stored fields, so a workspace holding the older one round-trips as the older
2643
- * one rather than being quietly rewritten (issue #138).
2631
+ * one rather than being quietly rewritten.
2644
2632
  */
2645
2633
  connectionString: Value | string;
2646
2634
  responseType?: DbResponseType;
@@ -2659,8 +2647,8 @@ interface DbExternalQueryArgs extends StatementOptions {
2659
2647
  * Golden-verified against a live postgres capture: the engine persists
2660
2648
  * `context.{code,response_type,connection_string_flex,arg}` and does NOT store
2661
2649
  * `parser` at its default, so the SDK's omission is correct. The rich envelope
2662
- * matches. @TODO(byte-verify): only postgres captured; the other 4 engines share
2663
- * the format and stay modeled-by-analogy.
2650
+ * matches. Only postgres is capture-verified; the other 4 engines share the
2651
+ * format and stay modeled by analogy.
2664
2652
  */
2665
2653
  declare function dbExternalQuery(args: DbExternalQueryArgs): Statement;
2666
2654
 
@@ -2818,11 +2806,9 @@ type PortArg<D> = string extends PortsOf<D> ? number | string : [PortsOf<D>] ext
2818
2806
  * The five request fields this statement shares with the external-HTTP family,
2819
2807
  * taken FROM that family's field set rather than restated.
2820
2808
  *
2821
- * The two declarations used to be typed byte-for-byte identically in two files,
2822
- * and the cost showed up the first time one of them widened: the `headers`
2823
- * record form (issue #72) had to be hand-added in both places, and missing the
2824
- * second would have left the record spelling silently unavailable here (issue
2825
- * #92). The per-field docs stay local because the DEFAULTS differ — this
2809
+ * Deriving them keeps the two in step: a widening on the HTTP side (the
2810
+ * `headers` record form, say) reaches here without a second hand-edit.
2811
+ * The per-field docs stay local because the DEFAULTS differ this
2826
2812
  * statement's block schema requires all five, so it emits them (see
2827
2813
  * {@link MICROSERVICE_DEFAULTS}) where `api.request` may leave them out.
2828
2814
  */
@@ -2894,7 +2880,7 @@ declare function microserviceRequest<const As extends string = "", const H exten
2894
2880
  }): Statement & AsShapeBrand<As, ApplyFilters<ApiRequestResult, Fs>>;
2895
2881
 
2896
2882
  /**
2897
- * Typed `precondition` / `throw` overrides (issue #21).
2883
+ * Typed `precondition` / `throw` overrides.
2898
2884
  *
2899
2885
  * `s.throw` raises a generic error the runtime returns with **HTTP 200** and an
2900
2886
  * error body — a client checking `res.ok` (or any non-2xx guard) treats a
@@ -2911,7 +2897,7 @@ declare function microserviceRequest<const As extends string = "", const H exten
2911
2897
  /**
2912
2898
  * The exception a failed {@link precondition} raises, and the HTTP status the
2913
2899
  * runtime returns for it. Mirrors the engine's `mvp:precondition` `error_type`
2914
- * enum ({@link https://github.com/xanots/sdk/issues/21 #21}):
2900
+ * enum:
2915
2901
  *
2916
2902
  * - `standard` — generic error (the default).
2917
2903
  * - `badrequest` — **400** Bad Request.
@@ -2954,7 +2940,7 @@ interface PreconditionArgs extends StatementAnnotations {
2954
2940
  * `precondition { … }` — assert a condition and raise a **status-bearing** error
2955
2941
  * if it fails (`mvp:precondition`). Prefer this over {@link throwError} (`s.throw`)
2956
2942
  * whenever the rejection must be observable via HTTP status — a client guarding
2957
- * on `res.ok` sees a real 4xx instead of a 200 with an error body. See issue #21.
2943
+ * on `res.ok` sees a real 4xx instead of a 200 with an error body.
2958
2944
  *
2959
2945
  * @example
2960
2946
  * s.precondition({
@@ -2976,13 +2962,13 @@ interface ThrowArgs extends StatementAnnotations {
2976
2962
  * ⚠️ The runtime returns a thrown error with **HTTP 200** and an error body, so
2977
2963
  * a client checking `res.ok` treats it as success. For a rejection that surfaces
2978
2964
  * as a real 4xx status, use {@link precondition} (`s.precondition`) with an
2979
- * `error_type`. See issue #21.
2965
+ * `error_type`.
2980
2966
  */
2981
2967
  declare function throwError(a: ThrowArgs): Statement;
2982
2968
 
2983
2969
  /**
2984
2970
  * Typed overrides for statement args the engine declares as a CLOSED SET but the
2985
- * codegen ships as a bare `string` (issue #65).
2971
+ * codegen ships as a bare `string`.
2986
2972
  *
2987
2973
  * The generated catalog harvests `enum` from the engine's runtime INPUT schemas,
2988
2974
  * so a closed set declared on a `context`-routed field arrives untyped. Both
@@ -3069,7 +3055,7 @@ declare function createVideo(a: CreateVideoArgs): Statement;
3069
3055
  declare function setHeader(a: SetHeaderArgs): Statement;
3070
3056
 
3071
3057
  /**
3072
- * Typed refusal of `capture` on `s.lambda` (issue #73).
3058
+ * Typed refusal of `capture` on `s.lambda`.
3073
3059
  *
3074
3060
  * The grounding docs introduce an inline `code:` arrow and then, several
3075
3061
  * paragraphs later, `lam.fn(fn, { surface?, capture? })`. Nothing connected the
@@ -3095,7 +3081,7 @@ type LambdaArgs = Parameters<typeof generated.lambda>[0] & {
3095
3081
  * `lambda { … }` — run a JavaScript body (`mvp:lambda`).
3096
3082
  *
3097
3083
  * Delegates to the generated factory unchanged. The only addition is a typed
3098
- * refusal of `capture` (issue #73): the grounding docs introduce an inline
3084
+ * refusal of `capture`: the grounding docs introduce an inline
3099
3085
  * `code:` arrow and then `lam.fn(fn, { capture })` several paragraphs later, so
3100
3086
  * `capture` reads as a property of lambda bodies generally. The bare
3101
3087
  * "does not exist in type" error that produced implies the wrong fix — drop the
@@ -4448,7 +4434,7 @@ declare const s: {
4448
4434
 
4449
4435
  /**
4450
4436
  * Wide aliases for the def types that carry generics — the annotation that lets
4451
- * a workspace be assembled out of independently-authored modules (issue #71).
4437
+ * a workspace be assembled out of independently-authored modules.
4452
4438
  *
4453
4439
  * The problem is TypeScript's, not the SDK's. `register*` stores defs and does
4454
4440
  * not read their brands, so it takes them however they arrive. What fails is the
@@ -4498,7 +4484,7 @@ type AnyFunctionDef = FunctionDef;
4498
4484
  type AnyAddonDef = AddonDef;
4499
4485
 
4500
4486
  /**
4501
- * `compile()` — façade over the `function` object kind (KTD-2). The envelope
4487
+ * `compile()` — façade over the `function` object kind. The envelope
4502
4488
  * encoding now lives in `src/kinds/function.ts`; this keeps the MVP's public
4503
4489
  * `compile`/`encodeResponse` surface stable.
4504
4490
  */
@@ -4522,7 +4508,7 @@ declare function compile(fn: FunctionDef): FunctionXdo;
4522
4508
  *
4523
4509
  * It applies to EVERY spec-routed statement, not only the handful whose stored
4524
4510
  * envelope spells the entry members out in full — the lean and full input forms
4525
- * are two serializations of one entry model (issue #16).
4511
+ * are two serializations of one entry model.
4526
4512
  *
4527
4513
  * The marker is carried on a non-enumerable property, so it never reaches
4528
4514
  * `JSON.stringify` and an ignored value serializes exactly like the value it