@cursor/bdk 0.2.1 → 0.2.2
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.
- package/README.md +1 -6
- package/dist/artifacts.d.ts +5 -2
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +5 -2
- package/dist/channels/slack/manifest.d.ts.map +1 -1
- package/dist/channels/slack/manifest.js +3 -2
- package/dist/channels/slack/types.d.ts +6 -1
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.JVQvbRO-.js → app.DtYVVVyK.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.BgTA2tV1.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BkhY63uW.js → VPLocalSearchBox.D47xT7J4.js} +1 -1
- package/dist/docs/assets/chunks/{arc.Cc1unYd3.js → arc.CDJ6xzxR.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CAY_TPVz.js → architectureDiagram-Q4EWVU46.l1Xnjd3N.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.my2VD3Xm.js → baseUniq.x-finShZ.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.CQXAOmqd.js → blockDiagram-DXYQGD6D.COC3qynH.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.D0AsQFSX.js → c4Diagram-AHTNJAMY.DdQO850E.js} +1 -1
- package/dist/docs/assets/chunks/channel.B2nMEx82.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.DZjhgNls.js → chunk-4BX2VUAB.Dpn8omLk.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.qdcp_qbo.js → chunk-4TB4RGXK.C0XWStUN.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.BHXoZhJ-.js → chunk-55IACEB6.DsKSZfIM.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.Cds_Vwj3.js → chunk-EDXVE4YY.dNU6JDu6.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CSl0HknT.js → chunk-FMBD7UC4.DN41fxKE.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.DJMvAt5N.js → chunk-OYMX7WX6.COpKCZus.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BYQzBK9D.js → chunk-QZHKN3VN.HDB-azx2.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.BAvw7N4o.js → chunk-YZCP3GAM.DEeX_a2j.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.D8iCH2ve.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.D8iCH2ve.js +1 -0
- package/dist/docs/assets/chunks/clone.5XNLjby0.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Buf3seya.js → cose-bilkent-S5V4N54A.C3yGL2A8.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.DMGGa3uA.js → dagre-KV5264BT.Bpl24en4.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DDjnwRmY.js → diagram-5BDNPKRD.nFco6seU.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.RwyrIr8Q.js → diagram-G4DWMVQ6.DXhA6DWR.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DRvQV16Z.js → diagram-MMDJMWI5.8GoOYcwk.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.Dw8W9BTk.js → diagram-TYMM5635.DDBlqvlJ.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DQT1Hnwf.js → erDiagram-SMLLAGMA.vl_N81P4.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.6_Aky-ut.js → flowDiagram-DWJPFMVM.Cteg8g7I.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.DHIwqnqN.js → ganttDiagram-T4ZO3ILL.D4aMhlMM.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CGd_eJbn.js → gitGraphDiagram-UUTBAWPF.DF_J0D4q.js} +1 -1
- package/dist/docs/assets/chunks/{graph.ChMEylkh.js → graph.DJs0LDCf.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Cd4gMyAz.js → infoDiagram-42DDH7IO.Bb-4RQwg.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.D1uw7MXq.js → ishikawaDiagram-UXIWVN3A.DEtQRSbc.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.AWLXtelc.js → journeyDiagram-VCZTEJTY.DhQQ75FA.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CagPhAn5.js → kanban-definition-6JOO6SKY.C4gEw3Rk.js} +1 -1
- package/dist/docs/assets/chunks/{layout.ClTBBkE_.js → layout.DT-PGlXa.js} +1 -1
- package/dist/docs/assets/chunks/{linear.SwS2rOLA.js → linear.BMMe__JW.js} +1 -1
- package/dist/docs/assets/chunks/{min.By_x-Btb.js → min.XyaU9K9Q.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.By_RAMaP.js → mindmap-definition-QFDTVHPH.CbBM6xZ-.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DfAl9sy4.js → pieDiagram-DEJITSTG.DFJoIVou.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CNuqFRBj.js → quadrantDiagram-34T5L4WZ.CQjkDYqb.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DJ5CmTCl.js → requirementDiagram-MS252O5E.D-mK-JQu.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.D-T_AKJj.js → sankeyDiagram-XADWPNL6.BStQInpd.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BRn9WcrR.js → sequenceDiagram-FGHM5R23.CA_eooPJ.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.F12urmm7.js → stateDiagram-FHFEXIEX.BXl-b7ad.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.yGM2uLZQ.js +1 -0
- package/dist/docs/assets/chunks/{theme.zK3OJa_C.js → theme.q37tOs4x.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.B7GiQBeC.js → timeline-definition-GMOUNBTQ.vjuaGOSe.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.D0niwuY_.js → vennDiagram-DHZGUBPP.BxduJl-F.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.DKfyIejL.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.DKaqpT7K.js → wardleyDiagram-NUSXRM2D.D1z3ds0D.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.e8BPicch.js → xychartDiagram-5P7HB3ND.CRU5Ti9b.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.IFFC5Zln.js → reference_artifacts.md.CFMNPreZ.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.Dg3dEugd.js → reference_hooks.md.DbthhtIR.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.BtpTjZmh.js → reference_sessions.md.DeRUItHD.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.Cy00QMKS.js → reference_skills.md.CRFTxt9M.js} +3 -3
- package/dist/docs/assets/{reference_skills.md.Cy00QMKS.lean.js → reference_skills.md.CRFTxt9M.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +35 -35
- package/dist/docs/deployment.html +35 -35
- package/dist/docs/evals.html +35 -35
- package/dist/docs/guides/agent-to-agent.html +35 -35
- package/dist/docs/guides/bitbucket.html +35 -35
- package/dist/docs/guides/cloud-agents.html +35 -35
- package/dist/docs/guides/convert-automation.html +35 -35
- package/dist/docs/guides/github.html +35 -35
- package/dist/docs/guides/gitlab.html +35 -35
- package/dist/docs/guides/grokbot-agents.html +35 -35
- package/dist/docs/guides/hooks.html +35 -35
- package/dist/docs/guides/improve.html +35 -35
- package/dist/docs/guides/jev.html +35 -35
- package/dist/docs/guides/mcp-oauth.html +35 -35
- package/dist/docs/guides/opentelemetry.html +35 -35
- package/dist/docs/guides/slack.html +35 -35
- package/dist/docs/guides/webhooks.html +35 -35
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +35 -35
- package/dist/docs/index.html +35 -35
- package/dist/docs/llms-full.txt +8 -6
- package/dist/docs/quickstart.html +35 -35
- package/dist/docs/reference/agent-config.html +35 -35
- package/dist/docs/reference/artifacts.html +37 -37
- package/dist/docs/reference/artifacts.md +1 -1
- package/dist/docs/reference/channels.html +35 -35
- package/dist/docs/reference/cli.html +35 -35
- package/dist/docs/reference/connections.html +35 -35
- package/dist/docs/reference/evals.html +35 -35
- package/dist/docs/reference/extensions.html +35 -35
- package/dist/docs/reference/hooks.html +37 -37
- package/dist/docs/reference/hooks.md +3 -2
- package/dist/docs/reference/http-api.html +35 -35
- package/dist/docs/reference/instructions.html +35 -35
- package/dist/docs/reference/playground.html +35 -35
- package/dist/docs/reference/project-layout.html +35 -35
- package/dist/docs/reference/prompt.html +35 -35
- package/dist/docs/reference/schedules.html +35 -35
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/sessions.md +4 -3
- package/dist/docs/reference/skills.html +38 -38
- package/dist/docs/reference/subagents.html +35 -35
- package/dist/docs/reference/tools.html +35 -35
- package/dist/docs/templates/agentic-owners.html +35 -35
- package/dist/docs/templates/security-reviewer.html +35 -35
- package/dist/docs/templates/thermo-quality-review.html +35 -35
- package/dist/docs/templates/thermo-review.html +35 -35
- package/dist/docs/templates/triage.html +35 -35
- package/dist/docs/troubleshooting.html +35 -35
- package/dist/extensions/cursor-cloud-agents/extension.d.ts +16 -4
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +7 -3
- package/dist/extensions/cursor-cloud-agents/lib/channels.d.ts +3 -0
- package/dist/extensions/cursor-cloud-agents/lib/channels.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/channels.js +7 -0
- package/dist/extensions/cursor-cloud-agents/lib/repos.d.ts +4 -2
- package/dist/extensions/cursor-cloud-agents/lib/repos.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/repos.js +21 -12
- package/dist/extensions/cursor-cloud-agents/tools/cancel.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/cancel.js +2 -0
- package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.js +3 -1
- package/dist/extensions/cursor-cloud-agents/tools/reply.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/reply.js +2 -0
- package/dist/files-backends/cursor-hosted.js +4 -4
- package/dist/internal/artifacts-store.d.ts +12 -2
- package/dist/internal/artifacts-store.d.ts.map +1 -1
- package/dist/internal/artifacts-store.js +8 -4
- package/dist/internal/event-mapper.d.ts +46 -4
- package/dist/internal/event-mapper.d.ts.map +1 -1
- package/dist/internal/event-mapper.js +316 -25
- package/dist/internal/hosted-delivery.js +1 -1
- package/dist/internal/session-engine.d.ts +1 -1
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +24 -3
- package/dist/playground/assets/index-6BbTPnaT.css +1 -0
- package/dist/playground/assets/{index-FFdUqTt_.js → index-CI7FAmOP.js} +43 -43
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +39 -3
- package/dist/types.d.ts.map +1 -1
- package/docs/reference/artifacts.md +1 -1
- package/docs/reference/hooks.md +3 -2
- package/docs/reference/sessions.md +4 -3
- package/package.json +2 -2
- package/src/artifacts.ts +5 -2
- package/src/channels/slack/manifest.ts +2 -1
- package/src/channels/slack/types.ts +6 -1
- package/src/extensions/cursor-cloud-agents/extension.ts +23 -6
- package/src/extensions/cursor-cloud-agents/lib/channels.ts +11 -0
- package/src/extensions/cursor-cloud-agents/lib/repos.ts +19 -7
- package/src/extensions/cursor-cloud-agents/tools/cancel.ts +2 -0
- package/src/extensions/cursor-cloud-agents/tools/launch.ts +3 -1
- package/src/extensions/cursor-cloud-agents/tools/reply.ts +2 -0
- package/src/files-backends/cursor-hosted.ts +4 -4
- package/src/internal/artifacts-store.ts +14 -3
- package/src/internal/event-mapper.ts +367 -36
- package/src/internal/hosted-delivery.ts +1 -1
- package/src/internal/session-engine.ts +24 -8
- package/src/types.ts +45 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.Caw9W1pM.js +0 -1
- package/dist/docs/assets/chunks/channel.Sapo9HJZ.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.NPiy3Hz7.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.NPiy3Hz7.js +0 -1
- package/dist/docs/assets/chunks/clone.zl2qolPE.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2._auCa3fR.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.1zhHNRsx.js +0 -162
- package/dist/playground/assets/index-BMV_IcEE.css +0 -1
- /package/dist/docs/assets/{reference_artifacts.md.IFFC5Zln.lean.js → reference_artifacts.md.CFMNPreZ.lean.js} +0 -0
- /package/dist/docs/assets/{reference_hooks.md.Dg3dEugd.lean.js → reference_hooks.md.DbthhtIR.lean.js} +0 -0
- /package/dist/docs/assets/{reference_sessions.md.BtpTjZmh.lean.js → reference_sessions.md.DeRUItHD.lean.js} +0 -0
|
@@ -644,6 +644,16 @@ export class SessionEngine {
|
|
|
644
644
|
agentName: options.project.name,
|
|
645
645
|
config: options.project.artifacts,
|
|
646
646
|
sink: managedV2Files?.(),
|
|
647
|
+
// v1 and self-hosted v2 still evict oldest-updated rows past max.
|
|
648
|
+
// Hosted v2 does not: the installation file store keeps every row,
|
|
649
|
+
// and tag must not list the prefix. Read per tag so a generation
|
|
650
|
+
// env bound after serve start takes effect.
|
|
651
|
+
enforceCap: () => {
|
|
652
|
+
const hosting = resolveAgentV2Hosting({
|
|
653
|
+
architecture: options.project.agent.architecture,
|
|
654
|
+
});
|
|
655
|
+
return hosting.kind !== "cursor-managed" && hosting.kind !== "cursor-managed-persistent";
|
|
656
|
+
},
|
|
647
657
|
});
|
|
648
658
|
// Peer and Cursor-account transports are symbolic until the serve host
|
|
649
659
|
// resolves them; the host-side MCP registry starts with the concrete
|
|
@@ -3813,7 +3823,7 @@ export class SessionEngine {
|
|
|
3813
3823
|
*
|
|
3814
3824
|
* With `options.sessionId` the tool runs inside that session (its info
|
|
3815
3825
|
* and materialized workspace) and the call is recorded on the session's
|
|
3816
|
-
* event stream as `actions.requested` / `
|
|
3826
|
+
* event stream as `actions.requested` / `actions.completed` under a
|
|
3817
3827
|
* per-call `turnId` (the call id), so it shows up in trajectories.
|
|
3818
3828
|
* While a model turn is running, a read-effect call runs alongside it
|
|
3819
3829
|
* (the turn's workspace is read as-is) and a write-effect call is
|
|
@@ -4258,16 +4268,22 @@ export class SessionEngine {
|
|
|
4258
4268
|
this.logger(`[session] tool ${toolName} done (direct ${callId}, ${durationMs}ms)`);
|
|
4259
4269
|
|
|
4260
4270
|
if (record !== undefined) {
|
|
4271
|
+
const resultData = {
|
|
4272
|
+
callId,
|
|
4273
|
+
toolName,
|
|
4274
|
+
output: result,
|
|
4275
|
+
isError,
|
|
4276
|
+
stubbed: stubbed ? (true as const) : undefined,
|
|
4277
|
+
};
|
|
4261
4278
|
await this.appendEvent(record.sessionId, {
|
|
4262
4279
|
type: "action.result",
|
|
4263
4280
|
turnId: callId,
|
|
4264
|
-
data:
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
},
|
|
4281
|
+
data: resultData,
|
|
4282
|
+
});
|
|
4283
|
+
await this.appendEvent(record.sessionId, {
|
|
4284
|
+
type: "actions.completed",
|
|
4285
|
+
turnId: callId,
|
|
4286
|
+
data: { results: [resultData] },
|
|
4271
4287
|
});
|
|
4272
4288
|
}
|
|
4273
4289
|
|
package/src/types.ts
CHANGED
|
@@ -834,7 +834,7 @@ export interface HostOtelApi {
|
|
|
834
834
|
|
|
835
835
|
/** Runtime context handed to a tool's `execute`. */
|
|
836
836
|
export interface ToolContext {
|
|
837
|
-
/** Correlates with `actions.requested` / `
|
|
837
|
+
/** Correlates with `actions.requested` / `actions.completed` stream events. */
|
|
838
838
|
toolCallId?: string;
|
|
839
839
|
/** The session this tool call runs inside. */
|
|
840
840
|
session: SessionInfo;
|
|
@@ -1547,6 +1547,22 @@ export interface ActionCall {
|
|
|
1547
1547
|
* parent `task` tool call id is `parentCallId`.
|
|
1548
1548
|
*/
|
|
1549
1549
|
parentCallId?: string;
|
|
1550
|
+
/**
|
|
1551
|
+
* Model generation that requested this call. Every tool from one
|
|
1552
|
+
* `runStep` shares the same id (the step's invocation id).
|
|
1553
|
+
*/
|
|
1554
|
+
modelCallId?: string;
|
|
1555
|
+
}
|
|
1556
|
+
|
|
1557
|
+
/** One tool result inside an {@link SessionEventPayload} `actions.completed` batch. */
|
|
1558
|
+
export interface ActionResult {
|
|
1559
|
+
callId: string;
|
|
1560
|
+
toolName: string;
|
|
1561
|
+
output?: unknown;
|
|
1562
|
+
isError: boolean;
|
|
1563
|
+
stubbed?: true;
|
|
1564
|
+
parentCallId?: string;
|
|
1565
|
+
modelCallId?: string;
|
|
1550
1566
|
}
|
|
1551
1567
|
|
|
1552
1568
|
/** Human decision for a parked {@link ToolConfig.needsApproval} tool call. */
|
|
@@ -1613,7 +1629,16 @@ export type SessionEventPayload =
|
|
|
1613
1629
|
}
|
|
1614
1630
|
| {
|
|
1615
1631
|
type: "actions.requested";
|
|
1616
|
-
data: {
|
|
1632
|
+
data: {
|
|
1633
|
+
calls: ActionCall[];
|
|
1634
|
+
parentCallId?: string;
|
|
1635
|
+
/**
|
|
1636
|
+
* Same id as {@link ActionCall.modelCallId} on every call.
|
|
1637
|
+
* One envelope per model step (a single tool is a batch of one)
|
|
1638
|
+
* once that step has finished listing tools.
|
|
1639
|
+
*/
|
|
1640
|
+
modelCallId?: string;
|
|
1641
|
+
};
|
|
1617
1642
|
}
|
|
1618
1643
|
| {
|
|
1619
1644
|
/**
|
|
@@ -1679,6 +1704,21 @@ export type SessionEventPayload =
|
|
|
1679
1704
|
*/
|
|
1680
1705
|
stubbed?: true;
|
|
1681
1706
|
parentCallId?: string;
|
|
1707
|
+
/** Same id as the matching {@link ActionCall.modelCallId}. */
|
|
1708
|
+
modelCallId?: string;
|
|
1709
|
+
};
|
|
1710
|
+
}
|
|
1711
|
+
| {
|
|
1712
|
+
/**
|
|
1713
|
+
* Every result for one {@link SessionEventPayload} `actions.requested`
|
|
1714
|
+
* batch. Pair these two events; `action.result` stays the live
|
|
1715
|
+
* per-call envelope for chips and spans.
|
|
1716
|
+
*/
|
|
1717
|
+
type: "actions.completed";
|
|
1718
|
+
data: {
|
|
1719
|
+
results: ActionResult[];
|
|
1720
|
+
parentCallId?: string;
|
|
1721
|
+
modelCallId?: string;
|
|
1682
1722
|
};
|
|
1683
1723
|
}
|
|
1684
1724
|
| {
|
|
@@ -2678,8 +2718,9 @@ export interface ArtifactsConfig {
|
|
|
2678
2718
|
*/
|
|
2679
2719
|
agentTool?: boolean;
|
|
2680
2720
|
/**
|
|
2681
|
-
* Retention cap (default 1000).
|
|
2682
|
-
* oldest-updated artifact
|
|
2721
|
+
* Retention cap (default 1000). Architecture v1 and self-hosted v2
|
|
2722
|
+
* evict the oldest-updated artifact on insert past the cap. Hosted
|
|
2723
|
+
* architecture v2 does not evict; the installation store keeps every row.
|
|
2683
2724
|
*/
|
|
2684
2725
|
max?: number;
|
|
2685
2726
|
}
|