deepline 0.3.393 → 0.3.394

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 (122) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +477 -10
  3. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +5 -1
  4. package/dist/bundling-sources/shared_libs/play-runtime/durable-call-policy.ts +28 -0
  5. package/dist/bundling-sources/shared_libs/play-runtime/freshness-receipt-execution.ts +251 -0
  6. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +12 -1
  7. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +10 -0
  8. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +25 -16
  9. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +1 -0
  10. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +69 -22
  11. package/dist/bundling-sources/shared_libs/plays/core.ts +1 -1
  12. package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +18 -0
  13. package/dist/cli/auth-IHKISLJQ.js +39 -0
  14. package/dist/cli/{auth-5PXHA232.mjs → auth-OSXDAVCF.mjs} +4 -4
  15. package/dist/cli/{billing-JFB2XLSO.js → billing-EKLYOXUY.js} +75 -75
  16. package/dist/cli/{billing-Z2N7ZAGM.mjs → billing-ZNNKX3UR.mjs} +4 -4
  17. package/dist/cli/{chunk-OXNOAD6Y.js → chunk-2MDDA7A4.js} +26 -26
  18. package/dist/cli/{chunk-PTDECJGP.js → chunk-354JCXA2.js} +50 -50
  19. package/dist/cli/{chunk-RKMB3N7K.mjs → chunk-3HU47EGZ.mjs} +48 -9
  20. package/dist/cli/{chunk-6I73X254.mjs → chunk-3HWALOL2.mjs} +1 -1
  21. package/dist/cli/{chunk-VIQJIX2P.js → chunk-4P27AXEA.js} +65 -65
  22. package/dist/cli/{chunk-UOGZUA24.mjs → chunk-5BB2RGAX.mjs} +18 -8
  23. package/dist/cli/{chunk-RWHWF5ZJ.js → chunk-6YAUMG27.js} +1 -1
  24. package/dist/cli/{chunk-HLEESTCH.mjs → chunk-BP33SIZF.mjs} +1 -1
  25. package/dist/cli/{chunk-CDFH2DYL.js → chunk-CS6RAIVY.js} +4 -4
  26. package/dist/cli/{chunk-2HAD745V.js → chunk-E23BQ5SC.js} +9 -9
  27. package/dist/cli/{chunk-LMMEAMA7.mjs → chunk-FJGW5GXU.mjs} +1 -1
  28. package/dist/cli/{chunk-Q26LUSQ2.mjs → chunk-JHIJIHFB.mjs} +1 -1
  29. package/dist/cli/{chunk-PWSWAN7Q.js → chunk-KB4SDX5S.js} +48 -9
  30. package/dist/cli/{chunk-M7Y7JYZX.js → chunk-KGNTKMRG.js} +6 -6
  31. package/dist/cli/{chunk-4XX6443T.js → chunk-KI635JN4.js} +59 -59
  32. package/dist/cli/{chunk-Z3OOZM5L.js → chunk-KIUMEOM5.js} +8 -8
  33. package/dist/cli/{chunk-KIYU2TGL.mjs → chunk-M57J2SK4.mjs} +2 -2
  34. package/dist/cli/{chunk-FQ6VHPW4.mjs → chunk-MFB2VKBO.mjs} +2 -2
  35. package/dist/cli/{chunk-MS6GUPBB.js → chunk-MH73HMPV.js} +3 -3
  36. package/dist/cli/{chunk-AARX5L4B.js → chunk-MLPU5SMZ.js} +2 -2
  37. package/dist/cli/{chunk-5PRVMXKB.mjs → chunk-NR3DFKNF.mjs} +1 -1
  38. package/dist/cli/{chunk-W4WOMXR3.js → chunk-QIQBYKLB.js} +15 -15
  39. package/dist/cli/{chunk-VIWE6WRK.js → chunk-RBJYWRCF.js} +260 -250
  40. package/dist/cli/{chunk-LZPCDB7U.mjs → chunk-TJI2EN6K.mjs} +1 -1
  41. package/dist/cli/{chunk-4TCT77UF.js → chunk-URWF7NGQ.js} +6 -1
  42. package/dist/cli/{chunk-5KWKZIQR.mjs → chunk-UXFSWG3Q.mjs} +4 -4
  43. package/dist/cli/{chunk-L2SYLGRP.js → chunk-VK6FYZLP.js} +8 -8
  44. package/dist/cli/{chunk-7HR7BGZL.mjs → chunk-X63FDZJZ.mjs} +3 -3
  45. package/dist/cli/{chunk-4PT2VA3A.mjs → chunk-XRQ2AQL7.mjs} +2 -2
  46. package/dist/cli/{chunk-STNYIMIV.mjs → chunk-XXUDVEXK.mjs} +6 -6
  47. package/dist/cli/{chunk-PQSA443V.mjs → chunk-ZI2ZNDJK.mjs} +6 -1
  48. package/dist/cli/{chunk-2LGC4EFT.mjs → chunk-ZYBGA4AR.mjs} +3 -3
  49. package/dist/cli/command-docs.js +2 -2
  50. package/dist/cli/command-docs.mjs +1 -1
  51. package/dist/cli/{csv-KJWZHKCH.mjs → csv-5AXRB35H.mjs} +3 -3
  52. package/dist/cli/{csv-P3Z3YE7H.js → csv-LU7O75WE.js} +12 -12
  53. package/dist/cli/{db-NCM4CQIS.mjs → db-7XP5UWEW.mjs} +4 -4
  54. package/dist/cli/{db-NUZGJNQC.js → db-F7YTFKVM.js} +29 -29
  55. package/dist/cli/{describe-YGSEN5WC.js → describe-FRH32RDV.js} +20 -20
  56. package/dist/cli/{describe-WT6MM2GO.mjs → describe-K4ES5LIL.mjs} +10 -10
  57. package/dist/cli/{executions-XS2IPJ4W.mjs → executions-IEHEHJUO.mjs} +4 -4
  58. package/dist/cli/{executions-PCOLHN7Q.js → executions-RZV5XPT2.js} +6 -6
  59. package/dist/cli/{feedback-4MSH7TFU.js → feedback-3P65QTX3.js} +7 -7
  60. package/dist/cli/{feedback-CCLTS5SV.mjs → feedback-FPUVZBAN.mjs} +3 -3
  61. package/dist/cli/{git-K2DHPMPC.mjs → git-GLVVP7TY.mjs} +4 -4
  62. package/dist/cli/git-MFFAWVVX.js +23 -0
  63. package/dist/cli/index.js +95 -95
  64. package/dist/cli/index.mjs +33 -33
  65. package/dist/cli/{legacy-noops-B5S4AR3P.mjs → legacy-noops-3MOI6NBM.mjs} +4 -4
  66. package/dist/cli/{legacy-noops-GPNOPFXV.js → legacy-noops-XKSGZR7Q.js} +7 -7
  67. package/dist/cli/{monitors-JLMAIPRG.mjs → monitors-FTBGNEFG.mjs} +4 -4
  68. package/dist/cli/{monitors-ZAWD7NSN.js → monitors-NZ2DYNST.js} +85 -85
  69. package/dist/cli/{org-P2KN4CES.js → org-MCKDQXIV.js} +64 -64
  70. package/dist/cli/{org-T3JTHP4G.mjs → org-V2J5RBCN.mjs} +4 -4
  71. package/dist/cli/{play-NK6BLRGL.mjs → play-AJFGME3B.mjs} +9 -9
  72. package/dist/cli/play-WLSN2EO2.js +158 -0
  73. package/dist/cli/{providers-5QRZN3DT.js → providers-2JEZ2264.js} +7 -7
  74. package/dist/cli/{providers-3NQRA7IT.mjs → providers-I6RQJZFZ.mjs} +4 -4
  75. package/dist/cli/{quickstart-PIA2JGPV.mjs → quickstart-BIDQDMO4.mjs} +3 -3
  76. package/dist/cli/{quickstart-R7NUZGNW.js → quickstart-GJ2RPDU3.js} +5 -5
  77. package/dist/cli/search-5VN4YD4I.js +27 -0
  78. package/dist/cli/{search-AIDIIGLY.mjs → search-ELRXFWG5.mjs} +5 -5
  79. package/dist/cli/{secrets-BT3PGMWN.js → secrets-53IT6VXD.js} +13 -13
  80. package/dist/cli/{secrets-OQNHL45O.mjs → secrets-SQXGZXIC.mjs} +4 -4
  81. package/dist/cli/{sessions-SF7WJPJP.mjs → sessions-2X5QF7SL.mjs} +4 -4
  82. package/dist/cli/{sessions-EYXWOSWK.js → sessions-CAV5M77Y.js} +5 -5
  83. package/dist/cli/{settings-BA3GHBOD.js → settings-532WNAZO.js} +74 -74
  84. package/dist/cli/{settings-Y57JTFDD.mjs → settings-7P67VGCJ.mjs} +7 -7
  85. package/dist/cli/{setup-RERXYC66.js → setup-6L2VSUWJ.js} +41 -41
  86. package/dist/cli/{setup-7GR5GBHA.mjs → setup-QGGBV2LE.mjs} +6 -6
  87. package/dist/cli/{skills-SJWIQAV5.mjs → skills-3FE62WBG.mjs} +4 -4
  88. package/dist/cli/skills-S6NPZAN7.js +28 -0
  89. package/dist/cli/tools-647RLXQS.js +41 -0
  90. package/dist/cli/{tools-ZF3JXPNL.mjs → tools-DMR25DEF.mjs} +7 -7
  91. package/dist/cli/{update-FFFYQAOJ.mjs → update-6RZMHJZP.mjs} +6 -6
  92. package/dist/cli/update-WVTSC3EM.js +28 -0
  93. package/dist/cli/{workflow-XVFEEGAS.mjs → workflow-L2DQRE6R.mjs} +5 -5
  94. package/dist/cli/{workflow-SZJVQH4T.js → workflow-TX4F2PIX.js} +15 -15
  95. package/dist/{client-DU5dtHDy.d.mts → client-BktIPdIj.d.mts} +1 -1
  96. package/dist/{client-mCE88hC4.d.ts → client-C3O1Ipf3.d.ts} +1 -1
  97. package/dist/{compiler-manifest-DE4RdAiY.d.ts → compiler-manifest-DLxUY5kI.d.mts} +65 -11
  98. package/dist/{compiler-manifest-DE4RdAiY.d.mts → compiler-manifest-DLxUY5kI.d.ts} +65 -11
  99. package/dist/{index-Bi-f7HFT.d.ts → index-B_GM9E3q.d.ts} +1 -1
  100. package/dist/{index-BI6nWgaV.d.mts → index-SCb0NvDb.d.mts} +1 -1
  101. package/dist/index.d.mts +5 -5
  102. package/dist/index.d.ts +5 -5
  103. package/dist/index.js +7 -7
  104. package/dist/index.mjs +4 -4
  105. package/dist/install-integrity.json +85 -84
  106. package/dist/plays/bundle-play-file.d.mts +3 -3
  107. package/dist/plays/bundle-play-file.d.ts +3 -3
  108. package/dist/plays/bundle-play-file.mjs +2 -2
  109. package/dist/plays/run-request.d.mts +2 -2
  110. package/dist/plays/run-request.d.ts +2 -2
  111. package/dist/release.d.mts +1 -1
  112. package/dist/release.d.ts +1 -1
  113. package/dist/release.js +2 -2
  114. package/dist/release.mjs +1 -1
  115. package/package.json +1 -1
  116. package/dist/cli/auth-P3MVDTXM.js +0 -39
  117. package/dist/cli/git-RNM45FX4.js +0 -23
  118. package/dist/cli/play-PDXR6JFB.js +0 -158
  119. package/dist/cli/search-QRWL7MFM.js +0 -27
  120. package/dist/cli/skills-V7EY75HB.js +0 -28
  121. package/dist/cli/tools-H5HLBCHH.js +0 -41
  122. package/dist/cli/update-472HA3LT.js +0 -28
@@ -21,7 +21,7 @@ import {
21
21
  RETAINED_PIPELINE_RECEIVERS_HEADER,
22
22
  RUNTIME_ENVIRONMENT_TOKEN_HEADER,
23
23
  resolveConfig
24
- } from "./chunk-LMMEAMA7.mjs";
24
+ } from "./chunk-FJGW5GXU.mjs";
25
25
  import {
26
26
  DeeplineError,
27
27
  TOOL_EXECUTION_ERROR_SCHEMA_HEADER,
@@ -2,6 +2,13 @@
2
2
  var _typebox = require('@sinclair/typebox');
3
3
  var _value = require('@sinclair/typebox/value');
4
4
  var PLAY_AUTHORING_CONTRACT_EDITION = 10;
5
+ var EXPLICIT_FRESHNESS_STALE_AFTER_SECONDS_DESCRIPTION = [
6
+ "Edition 11 requires an explicit choice.",
7
+ "`0` starts a fresh logical call, though a matching operation receipt may recover that same operation after resume;",
8
+ "`null` allows indefinite result reuse;",
9
+ "a positive integer is the maximum result age in seconds.",
10
+ "Omitted values retain legacy behavior in older editions."
11
+ ].join(" ");
5
12
  var SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS = [
6
13
  1,
7
14
  2,
@@ -77,7 +84,7 @@ var PLAY_AUTHORING_CONTRACT_CHANGELOG_DETAILS = [
77
84
  readerRemoval: null
78
85
  },
79
86
  {
80
- changed: 'CSV datasets always use source row identity and process every input occurrence, even when key or rowIdentity: "key" is supplied. Editions 1\u201310 retain their admitted row identity and completed receipts; non-CSV datasets retain explicit key deduplication.',
87
+ changed: 'Requires explicit freshness and semantic identity for supported durable calls, and gives CSV datasets source-row identity so every input occurrence is processed even when key or rowIdentity: "key" is supplied. Edition 10 retains its list-getter behavior and editions 1\u201310 retain their admitted CSV identity and completed receipts; non-CSV datasets keep explicit key deduplication.',
81
88
  compatibilityOwner: "Plays Runtime",
82
89
  newWritesEnd: null,
83
90
  readerRemoval: null
@@ -742,7 +749,7 @@ var PLAY_AUTHORING_FIELD_REGISTRY = {
742
749
  required: false,
743
750
  resolution: "runtime-allowed",
744
751
  issueCode: "play_authoring_durable_policy_invalid",
745
- description: "`0` always executes; `null`/omitted never expires; a positive integer is a TTL in seconds.",
752
+ description: EXPLICIT_FRESHNESS_STALE_AFTER_SECONDS_DESCRIPTION,
746
753
  errorMessage: "staleAfterSeconds must be null, 0 (always execute), or a positive whole number of seconds."
747
754
  },
748
755
  "ctx.tools.execute.id": {
@@ -1005,7 +1012,7 @@ var PLAY_AUTHORING_FIELD_REGISTRY = {
1005
1012
  required: false,
1006
1013
  resolution: "static-when-present",
1007
1014
  issueCode: "play_authoring_dataset_option_invalid",
1008
- description: "Select source_row to process every input occurrence. CSV datasets default to source_row in edition 11; earlier editions retain key identity. Select key only to intentionally deduplicate business keys.",
1015
+ description: "Edition 11 CSV inputs always use source-row occurrence identity, even with rowIdentity: key; key-based deduplication remains available for non-CSV inputs and editions 1\u201310.",
1009
1016
  errorMessage: 'ctx.dataset run rowIdentity must be "source_row" or "key".'
1010
1017
  },
1011
1018
  "ctx.dataset.run.onRowError": {
@@ -1101,7 +1108,7 @@ var PLAY_AUTHORING_FIELD_REGISTRY = {
1101
1108
  required: false,
1102
1109
  resolution: "runtime-dynamic",
1103
1110
  issueCode: "play_authoring_durable_policy_invalid",
1104
- description: "Checkpoint freshness: null/omitted never expires, 0 always executes.",
1111
+ description: EXPLICIT_FRESHNESS_STALE_AFTER_SECONDS_DESCRIPTION,
1105
1112
  errorMessage: "staleAfterSeconds must be null, 0 (always execute), or a positive whole number of seconds."
1106
1113
  },
1107
1114
  "ctx.fetch.key": {
@@ -1134,7 +1141,7 @@ var PLAY_AUTHORING_FIELD_REGISTRY = {
1134
1141
  required: false,
1135
1142
  resolution: "runtime-dynamic",
1136
1143
  issueCode: "play_authoring_durable_policy_invalid",
1137
- description: "Fetch freshness: null/omitted never expires, 0 always executes.",
1144
+ description: EXPLICIT_FRESHNESS_STALE_AFTER_SECONDS_DESCRIPTION,
1138
1145
  errorMessage: "staleAfterSeconds must be null, 0 (always execute), or a positive whole number of seconds."
1139
1146
  },
1140
1147
  "ctx.runPlay.key": {
@@ -1379,6 +1386,38 @@ var PLAY_AUTHORING_FIELD_REGISTRY = {
1379
1386
  description: "One non-empty Customer DB SQL string; the deprecated SqlQuery object is accepted only without parameter values.",
1380
1387
  errorMessage: "ctx.customerDb.query statement must be a non-empty SQL string. Deprecated SqlQuery objects cannot contain parameter values."
1381
1388
  },
1389
+ "ctx.customerDb.query.options.id": {
1390
+ schema: _typebox.Type.String({ pattern: "\\S" }),
1391
+ fixtures: {
1392
+ valid: "customer-report-read",
1393
+ invalid: "",
1394
+ absent: void 0,
1395
+ unresolved: { expression: "operationId" },
1396
+ edition1: "query"
1397
+ },
1398
+ referenceType: "string",
1399
+ required: true,
1400
+ resolution: "runtime-dynamic",
1401
+ issueCode: "play_authoring_tool_request_invalid",
1402
+ description: "Stable operation identity for Customer DB query recovery.",
1403
+ errorMessage: "ctx.customerDb.query options.id must be a non-empty stable string."
1404
+ },
1405
+ "ctx.customerDb.query.options.staleAfterSeconds": {
1406
+ schema: _typebox.Type.Literal(0),
1407
+ fixtures: {
1408
+ valid: 0,
1409
+ invalid: 1,
1410
+ absent: void 0,
1411
+ unresolved: { expression: "ttl" },
1412
+ edition1: 0
1413
+ },
1414
+ referenceType: "number | null",
1415
+ required: false,
1416
+ resolution: "runtime-dynamic",
1417
+ issueCode: "play_authoring_durable_policy_invalid",
1418
+ description: "Customer DB queries always execute with freshness 0.",
1419
+ errorMessage: "Customer DB queries must use staleAfterSeconds: 0."
1420
+ },
1382
1421
  "ctx.customerDb.query.options.maxRows": {
1383
1422
  schema: _typebox.Type.Integer({ minimum: 1 }),
1384
1423
  fixtures: {
@@ -1621,13 +1660,13 @@ var PLAY_AUTHORING_CLOUD_TYPE_DECLARATIONS = [
1621
1660
  "export type DatasetColumnRunInput<Row, Value> = { readonly row: Row; readonly ctx: DeeplinePlayRuntimeContext; readonly index: number; readonly previousCell?: PreviousCell<Value> };",
1622
1661
  "export type DatasetColumnDefinition<Row, Value> = { readonly run: (input: DatasetColumnRunInput<Row, Value>) => Value | Promise<Value>; readonly runIf?: (row: Row, index: number) => boolean | Promise<boolean> };",
1623
1662
  "export type ConditionalStepResolver<Row, Value, Else = null> = { readonly kind: 'conditional'; readonly when: (row: Row, index: number) => boolean | Promise<boolean>; readonly run: StepResolver<Row, Value>; readonly elseValue: Else; else<ValueElse>(value: ValueElse): ConditionalStepResolver<Row, Value, ValueElse>; };",
1624
- "export type StepOptions<Row, Value = unknown> = { readonly runIf?: (row: Row, index: number) => boolean | Promise<boolean>; readonly recompute?: boolean; readonly recomputeOnError?: boolean; readonly staleAfterSeconds?: number };",
1663
+ "export type StepOptions<Row, Value = unknown> = { readonly runIf?: (row: Row, index: number) => boolean | Promise<boolean>; readonly recompute?: boolean; readonly recomputeOnError?: boolean; readonly staleAfterSeconds?: DurableCallStaleAfterSeconds };",
1625
1664
  "export type StepProgramOptions = { readonly continueOnProviderUnavailable?: boolean };",
1626
1665
  "export type StepProgram<Input, Output, Return = Output> = { readonly kind: 'steps'; readonly steps: readonly PlayStepProgramStep[]; readonly returnResolver?: StepResolver<Output, Return>; readonly continueOnProviderUnavailable?: boolean; readonly __inputType?: (input: Input) => void; step<Name extends string, Value>(name: Name, resolver: StepResolver<Output, Value> | ConditionalStepResolver<Output, Value> | StepProgramResolver<Output, Value>): StepProgram<Input, Output & Record<Name, Value>, Return>; step<Name extends string, Value>(name: Name, resolver: StepResolver<Output, Value> | StepProgramResolver<Output, Value>, options: StepOptions<Output, Value>): StepProgram<Input, Output & Record<Name, Value | null>, Return>; return<Value>(resolver: StepResolver<Output, Value>): StepProgram<Input, Output, Value>; };",
1627
1666
  "export type StepProgramResolver<Input, Return> = { readonly kind: 'steps'; readonly steps: readonly PlayStepProgramStep[]; readonly returnResolver?: StepResolver<never, Return>; readonly __inputType?: (input: Input) => void };",
1628
1667
  "export type RunnableStepProgram<Input, Return> = Pick<StepProgram<Input, never, Return>, 'kind' | 'steps' | 'returnResolver' | '__inputType'>;",
1629
1668
  "export type RunnableColumnStepProgram<Return> = Pick<StepProgramResolver<unknown, Return>, 'kind' | 'steps' | 'returnResolver'>;",
1630
- "export type PlayStepProgramStep = { readonly name: string; readonly recompute?: boolean; readonly recomputeOnError?: boolean; readonly staleAfterSeconds?: number; readonly resolver: StepResolver<Record<string, unknown>, unknown> | ConditionalStepResolver<Record<string, unknown>, unknown> | StepProgramResolver<Record<string, unknown>, unknown> };",
1669
+ "export type PlayStepProgramStep = { readonly name: string; readonly recompute?: boolean; readonly recomputeOnError?: boolean; readonly staleAfterSeconds?: DurableCallStaleAfterSeconds; readonly resolver: StepResolver<Record<string, unknown>, unknown> | ConditionalStepResolver<Record<string, unknown>, unknown> | StepProgramResolver<Record<string, unknown>, unknown> };",
1631
1670
  "export type ColumnResolver<Row, Value> = StepResolver<Row, Value> | ConditionalStepResolver<Row, Value> | RunnableColumnStepProgram<Value>;",
1632
1671
  "export type StepProgramOutput<TProgram> = TProgram extends StepProgram<unknown, infer Output, unknown> ? Output : never;",
1633
1672
  "export type DatasetRowKey<InputRow extends object> = (keyof InputRow & string) | readonly (keyof InputRow & string)[] | ((row: InputRow, index: number) => string | number | readonly unknown[]);",
@@ -1652,8 +1691,8 @@ var PLAY_AUTHORING_CLOUD_TYPE_DECLARATIONS = [
1652
1691
  " readonly run: { readonly id: string };",
1653
1692
  ` runSteps<TInput extends Record<string, unknown>, TOutput>(program: RunnableStepProgram<TInput, TOutput>, input: TInput, options?: { description?: ${cloudReferenceType("ctx.runSteps.options.description")} }): Promise<TOutput>;`,
1654
1693
  " tools: { execute<K extends string>(request: ToolExecutionRequest<K>): Promise<ToolExecutionOutput<K>> };",
1655
- ` customerDb: { query<TRow extends Record<string, unknown> = Record<string, unknown>>(statement: SqlQuery, options?: { maxRows?: ${cloudReferenceType("ctx.customerDb.query.options.maxRows")}; timeoutMs?: ${cloudReferenceType("ctx.customerDb.query.options.timeoutMs")} }): Promise<TRow[]> };`,
1656
- ` tool<K extends string>(key: ${cloudReferenceType("ctx.tool.key")}, toolId: K, input: ${cloudReferenceType("ctx.tool.input")}, options?: { description?: ${cloudReferenceType("ctx.tool.options.description")} }): Promise<ToolExecutionOutput<K>>;`,
1694
+ ` customerDb: { query<TRow extends Record<string, unknown> = Record<string, unknown>>(statement: SqlQuery, options?: { id?: ${cloudReferenceType("ctx.customerDb.query.options.id")}; staleAfterSeconds?: ${cloudReferenceType("ctx.customerDb.query.options.staleAfterSeconds")}; maxRows?: ${cloudReferenceType("ctx.customerDb.query.options.maxRows")}; timeoutMs?: ${cloudReferenceType("ctx.customerDb.query.options.timeoutMs")} }): Promise<TRow[]> };`,
1695
+ ` tool<K extends string>(key: ${cloudReferenceType("ctx.tool.key")}, toolId: K, input: ${cloudReferenceType("ctx.tool.input")}, options?: { description?: ${cloudReferenceType("ctx.tool.options.description")}; staleAfterSeconds?: DurableCallStaleAfterSeconds }): Promise<ToolExecutionOutput<K>>;`,
1657
1696
  " step<T>(id: string, run: () => T | Promise<T>, options?: RuntimeStepOptions): Promise<T>;",
1658
1697
  " fetch(key: string, url: string | URL, init?: RequestInit & { headers?: HeadersInit & { 'Idempotency-Key'?: string; 'X-Idempotency-Key'?: string }; auth?: SecretAuthInput }, options?: FetchOptions): Promise<PlayFetchResponse>;",
1659
1698
  " secrets: { get(name: string): SecretPromise; bearer(secret: string | SecretPromise | SecretHandle): SecretAuth; header(header: string, secret: string | SecretPromise | SecretHandle): SecretAuth };",
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkCDFH2DYLjs = require('./chunk-CDFH2DYL.js');
6
+ var _chunkCS6RAIVYjs = require('./chunk-CS6RAIVY.js');
7
7
 
8
8
 
9
9
 
@@ -226,8 +226,8 @@ var BROWSER_OPEN_COOLDOWN_MS = 3e4;
226
226
  var SAME_URL_BROWSER_OPEN_COOLDOWN_MS = 5 * 6e4;
227
227
  var defaultBrowserCommandRunner = childProcess;
228
228
  function getAuthedHttpClient() {
229
- const config = _chunkCDFH2DYLjs.resolveConfig.call(void 0, );
230
- return { config, http: new (0, _chunkCDFH2DYLjs.HttpClient)(config) };
229
+ const config = _chunkCS6RAIVYjs.resolveConfig.call(void 0, );
230
+ return { config, http: new (0, _chunkCS6RAIVYjs.HttpClient)(config) };
231
231
  }
232
232
  function stableOsUserId() {
233
233
  try {
@@ -567,7 +567,7 @@ function collectLocalEnvInfo() {
567
567
  os: `${process.platform} ${process.arch}`,
568
568
  node_version: process.version,
569
569
  home_dir: homeDir,
570
- agent_runtime: _chunkCDFH2DYLjs.detectAgentRuntime.call(void 0, )
570
+ agent_runtime: _chunkCS6RAIVYjs.detectAgentRuntime.call(void 0, )
571
571
  };
572
572
  const env = process.env;
573
573
  const optional = {
@@ -814,9 +814,9 @@ function markdownTableFromRows(rows, preferredColumns = []) {
814
814
  }
815
815
  function withAgentCommandContext(value) {
816
816
  const valueRecord = value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
817
- return _chunkCDFH2DYLjs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
817
+ return _chunkCS6RAIVYjs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
818
818
  ...valueRecord,
819
- command_context: _chunkCDFH2DYLjs.resolveCliCommandContext.call(void 0, )
819
+ command_context: _chunkCS6RAIVYjs.resolveCliCommandContext.call(void 0, )
820
820
  } : value;
821
821
  }
822
822
  function printJson(value, fields) {