exponential-sdk 1.21.0 → 1.24.0

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/dist/index.d.ts CHANGED
@@ -284,6 +284,14 @@ interface TrpcClient {
284
284
  limit?: number;
285
285
  }) => Promise<unknown>;
286
286
  };
287
+ knowledge: {
288
+ query: (input: {
289
+ query: string;
290
+ workspaceId: string;
291
+ limit?: number;
292
+ sourceTypes?: ('transcription' | 'resource' | 'document' | 'page')[];
293
+ }) => Promise<unknown>;
294
+ };
287
295
  };
288
296
  action: {
289
297
  getAll: {
@@ -905,6 +913,16 @@ interface TrpcClient {
905
913
  get: {
906
914
  query: (input: {
907
915
  id: string;
916
+ format?: 'full' | 'markdown' | 'outline';
917
+ section?: string;
918
+ }) => Promise<unknown>;
919
+ };
920
+ search: {
921
+ query: (input: {
922
+ workspaceId: string;
923
+ query: string;
924
+ projectId?: string;
925
+ limit?: number;
908
926
  }) => Promise<unknown>;
909
927
  };
910
928
  create: {
@@ -914,6 +932,9 @@ interface TrpcClient {
914
932
  title?: string;
915
933
  body?: string;
916
934
  includeInSearch?: boolean;
935
+ note?: string;
936
+ source?: string | null;
937
+ asOf?: Date | null;
917
938
  }) => Promise<unknown>;
918
939
  };
919
940
  update: {
@@ -923,6 +944,78 @@ interface TrpcClient {
923
944
  projectId?: string | null;
924
945
  includeInSearch?: boolean;
925
946
  body?: string;
947
+ baseVersion?: number;
948
+ note?: string;
949
+ source?: string | null;
950
+ asOf?: Date | null;
951
+ }) => Promise<unknown>;
952
+ };
953
+ history: {
954
+ query: (input: {
955
+ id: string;
956
+ limit?: number;
957
+ cursor?: string;
958
+ }) => Promise<unknown>;
959
+ };
960
+ revision: {
961
+ query: (input: {
962
+ id: string;
963
+ revisionId: string;
964
+ }) => Promise<unknown>;
965
+ };
966
+ diff: {
967
+ query: (input: {
968
+ id: string;
969
+ revisionId: string;
970
+ against?: string;
971
+ }) => Promise<unknown>;
972
+ };
973
+ restore: {
974
+ mutate: (input: {
975
+ id: string;
976
+ revisionId: string;
977
+ note?: string;
978
+ baseVersion?: number;
979
+ }) => Promise<unknown>;
980
+ };
981
+ };
982
+ resource: {
983
+ list: {
984
+ query: (input: {
985
+ workspaceId?: string;
986
+ projectId?: string;
987
+ contentType?: string;
988
+ readStatus?: string;
989
+ search?: string;
990
+ tags?: string[];
991
+ includeArchived?: boolean;
992
+ limit?: number;
993
+ cursor?: string;
994
+ }) => Promise<unknown>;
995
+ };
996
+ create: {
997
+ mutate: (input: {
998
+ title: string;
999
+ url?: string;
1000
+ description?: string;
1001
+ content?: string;
1002
+ contentType?: string;
1003
+ tags?: string[];
1004
+ workspaceId?: string;
1005
+ projectId?: string;
1006
+ readStatus?: string;
1007
+ generateEmbeddings?: boolean;
1008
+ }) => Promise<unknown>;
1009
+ };
1010
+ setReadStatus: {
1011
+ mutate: (input: {
1012
+ id: string;
1013
+ readStatus: string;
1014
+ }) => Promise<unknown>;
1015
+ };
1016
+ archive: {
1017
+ mutate: (input: {
1018
+ id: string;
926
1019
  }) => Promise<unknown>;
927
1020
  };
928
1021
  };
@@ -3050,8 +3143,19 @@ declare class DecisionsApi {
3050
3143
  unlink(workspaceId: string, linkId: string): Promise<{
3051
3144
  deleted: boolean;
3052
3145
  }>;
3053
- /** Publish a draft into the log. */
3054
- confirmDraft(workspaceId: string, decisionId: string): Promise<Decision>;
3146
+ /**
3147
+ * Publish a draft into the log. Needs a person's login: agent keys are
3148
+ * refused. Idempotent on a decision that is already confirmed.
3149
+ *
3150
+ * `status` moves it in the same write — `{ status: 'ACCEPTED' }` is
3151
+ * "confirm as accepted", and works on an already-confirmed decision too.
3152
+ * `SUPERSEDED` is refused (it needs a successor; use {@link setStatus}).
3153
+ * A person confirming or accepting a decision that no person stands behind
3154
+ * becomes its decider. `decisionId` may also be a `D-0006` label.
3155
+ */
3156
+ confirmDraft(workspaceId: string, decisionId: string, options?: {
3157
+ status?: DecisionStatus;
3158
+ }): Promise<Decision>;
3055
3159
  /**
3056
3160
  * Reject a draft. Confirmed decisions are never rejected — deprecate or
3057
3161
  * supersede them through {@link setStatus}.
@@ -3998,9 +4102,19 @@ interface KnowledgePage {
3998
4102
  workspaceId: string;
3999
4103
  projectId: string | null;
4000
4104
  title: string;
4105
+ /**
4106
+ * Markdown body. With `format: "outline"` this is null; with `section` it is
4107
+ * that section only (see `section`).
4108
+ */
4001
4109
  body: string | null;
4110
+ /** UTF-8 size of the whole Markdown body, whatever `format`/`section` returned. */
4111
+ bodyBytes?: number;
4002
4112
  includeInSearch: boolean;
4003
4113
  docVersion: number;
4114
+ /** Provenance (ADR-0074): where the page's facts come from — a URL, a document, a person. */
4115
+ source?: string | null;
4116
+ /** Provenance (ADR-0074): the date the page's facts were true. */
4117
+ asOf?: Date | null;
4004
4118
  createdById: string;
4005
4119
  createdAt: Date;
4006
4120
  updatedAt: Date;
@@ -4016,13 +4130,148 @@ interface KnowledgePage {
4016
4130
  };
4017
4131
  /** Present on `get` responses: whether the caller may edit the page. */
4018
4132
  canEdit?: boolean;
4133
+ /** Present on `get` responses: which `format` produced this payload. */
4134
+ format?: PageGetFormat;
4135
+ /** Present on `get` with `format: "outline"`: the page's headings. */
4136
+ outline?: PageOutlineEntry[] | null;
4137
+ /** Present on `get` with `section`: the heading the body was narrowed to. */
4138
+ section?: PageOutlineEntry | null;
4139
+ }
4140
+ type PageGetFormat = 'full' | 'markdown' | 'outline';
4141
+ interface PageOutlineEntry {
4142
+ /** Heading depth, 1–6. */
4143
+ level: number;
4144
+ text: string;
4145
+ /** 0-based line in the Markdown body. */
4146
+ line: number;
4147
+ }
4148
+ /** `baseline` is the unattributed starting row seeded for pages that predate history. */
4149
+ type PageRevisionKind = 'baseline' | 'create' | 'editor' | 'markdown' | 'restore';
4150
+ interface PageRevisionAuthor {
4151
+ id: string;
4152
+ name: string | null;
4153
+ image: string | null;
4154
+ }
4155
+ /** One row of a page's history (ADR-0074): a snapshot after a write, without its body. */
4156
+ interface PageRevision {
4157
+ id: string;
4158
+ /** The page's `docVersion` after this write. */
4159
+ docVersion: number;
4160
+ title: string;
4161
+ kind: PageRevisionKind;
4162
+ /** Why the change was made, when the writer said. */
4163
+ note: string | null;
4164
+ /** UTF-8 size of the Markdown body at this revision. */
4165
+ bodyBytes: number;
4166
+ /** Provenance as it stood at this revision. */
4167
+ source: string | null;
4168
+ asOf: Date | null;
4169
+ /**
4170
+ * The author, or null. Null with `authorHidden: true` means names are
4171
+ * withheld from you (you can view the page but are not a workspace member).
4172
+ * Null with `authorHidden: false` means no person wrote it: a `baseline`
4173
+ * row, or an automated write (an agenda seed, a generated Workspace update)
4174
+ * whose `note` says what did.
4175
+ */
4176
+ author: PageRevisionAuthor | null;
4177
+ authorHidden: boolean;
4178
+ /** When the revision was first recorded. */
4179
+ createdAt: Date;
4180
+ /** When it last moved forward (editor saves fold into an open revision). */
4181
+ updatedAt: Date;
4182
+ }
4183
+ interface PageHistory {
4184
+ revisions: PageRevision[];
4185
+ /** Pass back as `cursor` to fetch older revisions; null when there are none. */
4186
+ nextCursor: string | null;
4187
+ }
4188
+ /** A revision with its Markdown body. */
4189
+ interface PageRevisionDetail extends PageRevision {
4190
+ pageId: string;
4191
+ body: string | null;
4192
+ }
4193
+ interface PageDiffSide {
4194
+ /** Null for the empty state before the first revision, or for the live page. */
4195
+ revisionId: string | null;
4196
+ docVersion: number;
4197
+ title: string;
4198
+ source: string | null;
4199
+ asOf: Date | null;
4200
+ createdAt: Date | null;
4201
+ }
4202
+ interface PageDiff {
4203
+ from: PageDiffSide;
4204
+ to: PageDiffSide;
4205
+ /** Unified diff of the Markdown bodies; empty when identical. */
4206
+ unified: string;
4207
+ stats: {
4208
+ added: number;
4209
+ removed: number;
4210
+ };
4211
+ titleChanged: boolean;
4212
+ /** `source` or `asOf` differ between the two sides. */
4213
+ provenanceChanged: boolean;
4214
+ }
4215
+ interface PageSearchResult {
4216
+ id: string;
4217
+ title: string;
4218
+ /** The best-matching chunk (semantic) or the text around the match. */
4219
+ snippet: string;
4220
+ /** Cosine similarity for semantic hits; null for substring matches. */
4221
+ similarity: number | null;
4222
+ matchedBy: 'semantic' | 'text';
4223
+ /** App-relative URL. */
4224
+ url: string;
4225
+ }
4226
+ interface PageSearchOutput {
4227
+ query: string;
4228
+ workspaceId: string;
4229
+ results: PageSearchResult[];
4019
4230
  }
4020
4231
 
4021
4232
  interface PageListOptions {
4022
4233
  workspaceId: string;
4023
4234
  projectId?: string;
4235
+ /** Case-insensitive title match. To find pages by content or meaning use `search`. */
4024
4236
  search?: string;
4025
4237
  }
4238
+ interface PageGetOptions {
4239
+ /**
4240
+ * How much of the body to fetch. Defaults to `markdown` — the Markdown body
4241
+ * without the editor's ProseMirror doc, which is several times larger and
4242
+ * carries nothing an agent needs. `outline` returns headings only; `full`
4243
+ * is the editor payload.
4244
+ */
4245
+ format?: PageGetFormat;
4246
+ /**
4247
+ * Narrow the body to one section: the heading's text (case-insensitive;
4248
+ * `## ` prefix tolerated) through to the next heading of the same or a
4249
+ * higher level. Unknown headings fail with the list of headings that exist.
4250
+ */
4251
+ section?: string;
4252
+ }
4253
+ interface PageSearchOptions {
4254
+ workspaceId: string;
4255
+ /** What the page should be about (2–200 chars). */
4256
+ query: string;
4257
+ projectId?: string;
4258
+ /** Max pages returned (1–25, server default 10). */
4259
+ limit?: number;
4260
+ }
4261
+ interface PageHistoryOptions {
4262
+ /** Max revisions (1–200, server default 50). */
4263
+ limit?: number;
4264
+ /** `nextCursor` from a previous page of history. */
4265
+ cursor?: string;
4266
+ }
4267
+ interface PageDiffOptions {
4268
+ /**
4269
+ * What to compare the revision with: `previous` (default — what this
4270
+ * revision changed), `current` (the page as it is now), or another
4271
+ * revision's id.
4272
+ */
4273
+ against?: 'previous' | 'current' | string;
4274
+ }
4026
4275
  interface PageCreateInput {
4027
4276
  workspaceId: string;
4028
4277
  projectId?: string | null;
@@ -4030,6 +4279,12 @@ interface PageCreateInput {
4030
4279
  /** Markdown body. Indexed for search when non-empty. */
4031
4280
  body?: string;
4032
4281
  includeInSearch?: boolean;
4282
+ /** Why the page was created — recorded on its first revision. */
4283
+ note?: string;
4284
+ /** Provenance: where the facts come from (URL, document, person). */
4285
+ source?: string | null;
4286
+ /** Provenance: the date the facts were true. */
4287
+ asOf?: Date | null;
4033
4288
  }
4034
4289
  interface PageUpdateInput {
4035
4290
  id: string;
@@ -4042,18 +4297,164 @@ interface PageUpdateInput {
4042
4297
  * the editor re-derives its rich document on next open.
4043
4298
  */
4044
4299
  body?: string;
4300
+ /**
4301
+ * The `docVersion` you read before editing. With it, a body write is a
4302
+ * compare-and-set: if someone saved in between, the call fails with
4303
+ * CONFLICT instead of overwriting their work. Always send it when you can.
4304
+ */
4305
+ baseVersion?: number;
4306
+ /**
4307
+ * Why this change — recorded on the revision and shown in the page's
4308
+ * history. Always send one from an agent: a body write without a note
4309
+ * reads "No reason given" to everyone who looks at the history.
4310
+ */
4311
+ note?: string;
4312
+ /** Provenance: where the facts come from. Empty string / null clears it. */
4313
+ source?: string | null;
4314
+ /** Provenance: the date the facts were true. Null clears it. */
4315
+ asOf?: Date | null;
4316
+ }
4317
+ interface PageRestoreOptions {
4318
+ /** Why you are restoring; defaults to "Restored the version from <date>". */
4319
+ note?: string;
4320
+ /**
4321
+ * The page's `docVersion` when you decided to restore (the newest
4322
+ * revision's `docVersion` from `history`). With it, a page saved since then
4323
+ * fails with CONFLICT instead of being replaced. Always send it.
4324
+ */
4325
+ baseVersion?: number;
4045
4326
  }
4046
4327
  /**
4047
4328
  * Knowledge pages (PRDs, research, technical specs). Workspace-scoped
4048
4329
  * documents; link one to a feature via `FeaturesApi.linkPage`.
4330
+ *
4331
+ * Reads are lean by default: `get` returns Markdown only. Use `outline` to see
4332
+ * a long page's shape, then `get(id, { section })` for the part you need.
4333
+ * Every write is recorded in the page's history (`history`, `diff`,
4334
+ * `restore`); pass a `note` so the record says why.
4049
4335
  */
4050
4336
  declare class PagesApi {
4051
4337
  private client;
4052
4338
  constructor(client: TrpcClient);
4053
4339
  list(options: PageListOptions): Promise<KnowledgePage[]>;
4054
- get(id: string): Promise<KnowledgePage>;
4340
+ /** One page. Markdown body only unless `format` says otherwise. */
4341
+ get(id: string, options?: PageGetOptions): Promise<KnowledgePage>;
4342
+ /** The page's headings (level, text, line) and `bodyBytes`, no body. */
4343
+ outline(id: string): Promise<KnowledgePage>;
4344
+ /**
4345
+ * Pages about something: semantic hits from the Knowledge index first
4346
+ * (nearest first, with the matching passage as `snippet`), then pages whose
4347
+ * title or body contain the query. Only pages the caller can view.
4348
+ */
4349
+ search(options: PageSearchOptions): Promise<PageSearchOutput>;
4055
4350
  create(input: PageCreateInput): Promise<KnowledgePage>;
4056
4351
  update(input: PageUpdateInput): Promise<KnowledgePage>;
4352
+ /** The page's revisions, newest first — who, when, why, size. Never the bodies. */
4353
+ history(id: string, options?: PageHistoryOptions): Promise<PageHistory>;
4354
+ /** One revision with its Markdown body. */
4355
+ revision(pageId: string, revisionId: string): Promise<PageRevisionDetail>;
4356
+ /** What a revision changed, as a unified diff of the Markdown. */
4357
+ diff(pageId: string, revisionId: string, options?: PageDiffOptions): Promise<PageDiff>;
4358
+ /**
4359
+ * Put a revision's content back as the page's current content. A forward
4360
+ * write: `docVersion` bumps and a "restore" revision is recorded.
4361
+ */
4362
+ restore(pageId: string, revisionId: string, options?: PageRestoreOptions): Promise<{
4363
+ id: string;
4364
+ docVersion: number;
4365
+ revisionId: string;
4366
+ }>;
4367
+ }
4368
+
4369
+ type ResourceContentType = 'web_page' | 'document' | 'pdf' | 'bookmark' | 'note';
4370
+ /** Has the owner consumed this Resource yet? Orthogonal to archiving. */
4371
+ type ReadStatus = 'to_read' | 'reading' | 'read';
4372
+ /** The row shape `resource.list` returns. */
4373
+ interface Resource {
4374
+ id: string;
4375
+ title: string;
4376
+ description: string | null;
4377
+ url: string | null;
4378
+ contentType: ResourceContentType | string;
4379
+ wordCount: number | null;
4380
+ tags: string[];
4381
+ pinnedAsContext: boolean;
4382
+ readStatus: ReadStatus | string;
4383
+ /** First time the resource was marked read; null while unread. */
4384
+ readAt: Date | null;
4385
+ createdAt: Date;
4386
+ updatedAt: Date;
4387
+ archivedAt: Date | null;
4388
+ project?: {
4389
+ id: string;
4390
+ name: string;
4391
+ } | null;
4392
+ }
4393
+
4394
+ interface ResourceListOptions {
4395
+ workspaceId?: string;
4396
+ projectId?: string;
4397
+ contentType?: ResourceContentType;
4398
+ /**
4399
+ * Reading-list filter. `'unread'` is the queue (`to_read` + `reading`);
4400
+ * a single status narrows to that status; omitted applies no read filter.
4401
+ */
4402
+ readStatus?: ReadStatus | 'unread';
4403
+ search?: string;
4404
+ tags?: string[];
4405
+ includeArchived?: boolean;
4406
+ limit?: number;
4407
+ cursor?: string;
4408
+ }
4409
+ interface ResourceListResult {
4410
+ resources: Resource[];
4411
+ nextCursor?: string;
4412
+ }
4413
+ interface ResourceCreateInput {
4414
+ title: string;
4415
+ url?: string;
4416
+ description?: string;
4417
+ /** Pasted body. Only a Resource with content is embedded for search. */
4418
+ content?: string;
4419
+ contentType?: ResourceContentType;
4420
+ tags?: string[];
4421
+ workspaceId?: string;
4422
+ projectId?: string;
4423
+ /** Defaults to `to_read` server-side, so a saved link lands in the Reading list. */
4424
+ readStatus?: ReadStatus;
4425
+ /** Defaults to true server-side; a no-op when there is no content to embed. */
4426
+ generateEmbeddings?: boolean;
4427
+ }
4428
+ interface ResourceReadState {
4429
+ id: string;
4430
+ readStatus: ReadStatus | string;
4431
+ readAt: Date | null;
4432
+ }
4433
+ /**
4434
+ * Resources: ingested external content (saved links, PDFs, pasted notes).
4435
+ * The Reading list is `list({ readStatus: 'unread' })`; `save` is the
4436
+ * quick-add that files a URL as a `bookmark` to read.
4437
+ *
4438
+ * Indexing follows content, never read state: a bare URL has nothing to
4439
+ * embed and is findable by title and URL only.
4440
+ */
4441
+ declare class ResourcesApi {
4442
+ private client;
4443
+ constructor(client: TrpcClient);
4444
+ list(options?: ResourceListOptions): Promise<ResourceListResult>;
4445
+ create(input: ResourceCreateInput): Promise<Resource>;
4446
+ /** Save a link to the Reading list: a `bookmark` in `to_read`, not embedded. */
4447
+ save(input: {
4448
+ url: string;
4449
+ title?: string;
4450
+ note?: string;
4451
+ workspaceId?: string;
4452
+ readStatus?: ReadStatus;
4453
+ }): Promise<Resource>;
4454
+ setReadStatus(id: string, readStatus: ReadStatus): Promise<ResourceReadState>;
4455
+ archive(id: string): Promise<{
4456
+ success: boolean;
4457
+ }>;
4057
4458
  }
4058
4459
 
4059
4460
  type RequirementKind = 'FUNCTIONAL' | 'NON_FUNCTIONAL' | 'CONSTRAINT';
@@ -4173,6 +4574,34 @@ interface GlobalSearchOutput {
4173
4574
  query: string;
4174
4575
  results: SearchResult[];
4175
4576
  }
4577
+ type KnowledgeSourceType = 'transcription' | 'resource' | 'document' | 'page';
4578
+ interface KnowledgeSearchOptions {
4579
+ /** What the content should be about (3–200 chars). */
4580
+ query: string;
4581
+ /** Required: the Knowledge index is searched one workspace at a time. */
4582
+ workspaceId: string;
4583
+ /** Max sources returned (1-20, server default 5). */
4584
+ limit?: number;
4585
+ /** Restrict to these kinds of source; default is every kind the caller can see. */
4586
+ sourceTypes?: KnowledgeSourceType[];
4587
+ }
4588
+ /** One Knowledge Base hit: the best-matching chunk of one indexed source. */
4589
+ interface KnowledgeSearchResult {
4590
+ sourceType: KnowledgeSourceType;
4591
+ sourceId: string;
4592
+ title: string;
4593
+ /** The matching chunk, whitespace-collapsed and cut to a one-line preview. */
4594
+ snippet: string;
4595
+ similarity: number;
4596
+ /** In-app route, or the source's own URL when `external`. */
4597
+ url: string;
4598
+ external: boolean;
4599
+ }
4600
+ interface KnowledgeSearchOutput {
4601
+ query: string;
4602
+ workspaceId: string;
4603
+ results: KnowledgeSearchResult[];
4604
+ }
4176
4605
 
4177
4606
  declare class SearchApi {
4178
4607
  private client;
@@ -4180,9 +4609,17 @@ declare class SearchApi {
4180
4609
  /**
4181
4610
  * Global text search across the entities the caller can access — the same
4182
4611
  * coverage as the app's Cmd+K palette (projects, actions, goals,
4183
- * workspaces, and other entity types as the API grows).
4612
+ * workspaces, and other entity types as the API grows). Matches titles;
4613
+ * for pages by meaning use `knowledge` or `PagesApi.search`.
4184
4614
  */
4185
4615
  global(options: GlobalSearchOptions): Promise<GlobalSearchOutput>;
4616
+ /**
4617
+ * Semantic search over one workspace's Knowledge index — the caller's own
4618
+ * indexed meetings, resources, documents and pages, scored by meaning. Each
4619
+ * source contributes its best-matching passage. Costs an embedding call;
4620
+ * never throws for an index failure (returns no results instead).
4621
+ */
4622
+ knowledge(options: KnowledgeSearchOptions): Promise<KnowledgeSearchOutput>;
4186
4623
  }
4187
4624
 
4188
4625
  type TimeEntryStatus = 'PROPOSED' | 'CONFIRMED';
@@ -4581,6 +5018,7 @@ declare class ExponentialClient {
4581
5018
  areas: AreasApi;
4582
5019
  meetings: MeetingsApi;
4583
5020
  pages: PagesApi;
5021
+ resources: ResourcesApi;
4584
5022
  requirements: RequirementsApi;
4585
5023
  scopes: ScopesApi;
4586
5024
  search: SearchApi;
@@ -4594,4 +5032,4 @@ declare class ExponentialClient {
4594
5032
  });
4595
5033
  }
4596
5034
 
4597
- export { type Action, type ActionComment, type ActionCommentAddInput, type ActionCommentUpdateInput, type ActionCreateInput, type ActionOutput, type ActionStatus, type ActionUpdateInput, type ActionUpsertBySourceInput, type ActionUpsertBySourceResult, type ActionsListOutput, type AddInteractionInput, type AgentRunStatus, AgentRunsApi, type AppendEventsResult, type Area, type AreaCreateInput, type AreaListOptions, type ClaimedRun, type CommentAuthor, type Contact, type ContactCreateInput, type ContactInteraction, type ContactListOutput, type ContactUpdateInput, type ContactsListOptions, type ConversationMessage, DEFAULT_GAP_MINUTES, type DayReport, type DayReportActionRow, type DayReportEntry, type DayReportProductRow, type Deal, type DealActivity, type DealCreateInput, type DealMoveInput, type DealUpdateInput, type Decision, type DecisionAdrRef, type DecisionChainRef, type DecisionCreateInput, type DecisionDecider, type DecisionDeciderInput, type DecisionEvidenceTurn, type DecisionFeatureRef, type DecisionLink, type DecisionListOptions, type DecisionListRow, type DecisionMeetingRef, type DecisionOccurrenceRef, type DecisionProductRef, type DecisionProjectRef, type DecisionReviewState, type DecisionSetStatusInput, type DecisionSource, type DecisionStatus, type DecisionTicketRef, type DecisionUpdateInput, type DecisionUserRef, type DraftDecisionsResult, type EnrichContactResult, type Epic, type EpicCreateInput, type EpicListOptions, type EpicPriority, type EpicStatus, type EpicUpdateInput, ExponentialClient, type ExponentialConfig, type Feature, type FeatureComment, type FeatureCommentCreateInput, type FeatureCommentReplyInput, type FeatureCommentThreadInput, type FeatureCommentUpdateInput, type FeatureCreateInput, type FeatureKeyResultLink, type FeatureLinkPageInput, type FeatureListOptions, type FeatureScope, type FeatureScopeStatus, type FeatureStatus, type FeatureUpdateInput, type FinishInput, type FinishResult, type GlobalSearchOptions, type GlobalSearchOutput, type Goal, type GoalChildSummary, type GoalComment, type GoalCommentAddInput, type GoalCommentUpdateInput, type GoalCreateInput, type GoalHealth, type GoalKeyResultSummary, type GoalLifeDomain, type GoalListOptions, type GoalPeriod, type GoalProjectSummary, type GoalSetParentInput, type GoalSetStatusInput, type GoalStats, type GoalStatsOptions, type GoalStatus, type GoalTreeNode, type GoalTreeOptions, type GoalUpdateInput, type GoalUserSummary, type GoalWritableStatus, type HeartbeatResult, type InteractionDirection, type InteractionType, type KanbanStatus, type KeyResult, type KeyResultByObjectiveOptions, type KeyResultCheckIn, type KeyResultCheckInInput, type KeyResultCreateInput, type KeyResultFeatureLink, type KeyResultListOptions, type KeyResultProjectLink, type KeyResultStatus, type KeyResultUnit, type KeyResultUpdateInput, type KnowledgePage, type LabelCreateInput, type LabelListOptions, type ListForEntityInput, type Meeting, type MeetingActionSummary, type MeetingCreateInput, type MeetingDecisions, type MeetingListOptions, type MeetingParticipant, type MeetingParticipantInput, type MeetingProjectRef, type MeetingSourceIntegration, type MeetingTypeFilter, type MeetingUpdateInput, type MeetingWorkspaceRef, type ObjectiveWithKeyResults, type Organization, type OrganizationCreateInput, type OrganizationListOutput, type OrganizationSize, type OrganizationsListOptions, type OverdueCohort, type OverdueTriage, type OverdueTriageRow, type PageComment, type PageCommentCreateInput, type PageCommentUpdateInput, type PageCreateInput, type PageListOptions, type PageUpdateInput, type Pipeline, type PipelineStage, type Priority, type Product, type ProductCreateInput, type ProductUpdateInput, type Project, type ProjectDetail, type ProjectKeyResultLink, type ProjectOutput, type ProjectPriority, type ProjectStatus, type ProjectUpdateInput, type ProjectsListOptions, type ProjectsListOutput, ROUND_MINUTES, type Requirement, type RequirementCreateInput, type RequirementKind, type RequirementListOptions, type RunMessage, type RunnerEvent, type RunnerEventKind, type ScopeCreateInput, type ScopeListOptions, type ScopeUpdateInput, type SearchResult, type SearchResultType, type SearchResultWorkspace, type SetEntityTagsInput, type SetEntityTagsResult, type Tag, type TagEntityType, type TagListResult, type Ticket, type TicketAssignee, type TicketComment, type TicketCommentAddInput, type TicketCommentUpdateInput, type TicketCreateInput, type TicketDependencyEdge, type TicketDetail, type TicketListOptions, type TicketSearchOptions, type TicketStatus, type TicketType, type TicketUpdateInput, TimeApi, type TimeConfirmDayResult, type TimeEntry, type TimeEntrySource, type TimeEntryStatus, type TimeLogBatchResult, type TimeLogInput, type TimeLogOutcome, type TimeLogResult, type TodaysActionRow, type TodaysActions, type TodaysActionsGroup, type UserStory, type UserStoryCreateInput, type UserStoryListOptions, type UserStoryUpdateInput, type WorklogSegment, type Workspace, type WorkspaceMember, type WorkspaceOutput, type WorkspacesListOutput, clearConfig, createConfigStore, getConfigPath, isAuthenticated, isTRPCError, loadConfig, saveConfig, segmentConversation };
5035
+ export { type Action, type ActionComment, type ActionCommentAddInput, type ActionCommentUpdateInput, type ActionCreateInput, type ActionOutput, type ActionStatus, type ActionUpdateInput, type ActionUpsertBySourceInput, type ActionUpsertBySourceResult, type ActionsListOutput, type AddInteractionInput, type AgentRunStatus, AgentRunsApi, type AppendEventsResult, type Area, type AreaCreateInput, type AreaListOptions, type ClaimedRun, type CommentAuthor, type Contact, type ContactCreateInput, type ContactInteraction, type ContactListOutput, type ContactUpdateInput, type ContactsListOptions, type ConversationMessage, DEFAULT_GAP_MINUTES, type DayReport, type DayReportActionRow, type DayReportEntry, type DayReportProductRow, type Deal, type DealActivity, type DealCreateInput, type DealMoveInput, type DealUpdateInput, type Decision, type DecisionAdrRef, type DecisionChainRef, type DecisionCreateInput, type DecisionDecider, type DecisionDeciderInput, type DecisionEvidenceTurn, type DecisionFeatureRef, type DecisionLink, type DecisionListOptions, type DecisionListRow, type DecisionMeetingRef, type DecisionOccurrenceRef, type DecisionProductRef, type DecisionProjectRef, type DecisionReviewState, type DecisionSetStatusInput, type DecisionSource, type DecisionStatus, type DecisionTicketRef, type DecisionUpdateInput, type DecisionUserRef, type DraftDecisionsResult, type EnrichContactResult, type Epic, type EpicCreateInput, type EpicListOptions, type EpicPriority, type EpicStatus, type EpicUpdateInput, ExponentialClient, type ExponentialConfig, type Feature, type FeatureComment, type FeatureCommentCreateInput, type FeatureCommentReplyInput, type FeatureCommentThreadInput, type FeatureCommentUpdateInput, type FeatureCreateInput, type FeatureKeyResultLink, type FeatureLinkPageInput, type FeatureListOptions, type FeatureScope, type FeatureScopeStatus, type FeatureStatus, type FeatureUpdateInput, type FinishInput, type FinishResult, type GlobalSearchOptions, type GlobalSearchOutput, type Goal, type GoalChildSummary, type GoalComment, type GoalCommentAddInput, type GoalCommentUpdateInput, type GoalCreateInput, type GoalHealth, type GoalKeyResultSummary, type GoalLifeDomain, type GoalListOptions, type GoalPeriod, type GoalProjectSummary, type GoalSetParentInput, type GoalSetStatusInput, type GoalStats, type GoalStatsOptions, type GoalStatus, type GoalTreeNode, type GoalTreeOptions, type GoalUpdateInput, type GoalUserSummary, type GoalWritableStatus, type HeartbeatResult, type InteractionDirection, type InteractionType, type KanbanStatus, type KeyResult, type KeyResultByObjectiveOptions, type KeyResultCheckIn, type KeyResultCheckInInput, type KeyResultCreateInput, type KeyResultFeatureLink, type KeyResultListOptions, type KeyResultProjectLink, type KeyResultStatus, type KeyResultUnit, type KeyResultUpdateInput, type KnowledgePage, type KnowledgeSearchOptions, type KnowledgeSearchOutput, type KnowledgeSearchResult, type KnowledgeSourceType, type LabelCreateInput, type LabelListOptions, type ListForEntityInput, type Meeting, type MeetingActionSummary, type MeetingCreateInput, type MeetingDecisions, type MeetingListOptions, type MeetingParticipant, type MeetingParticipantInput, type MeetingProjectRef, type MeetingSourceIntegration, type MeetingTypeFilter, type MeetingUpdateInput, type MeetingWorkspaceRef, type ObjectiveWithKeyResults, type Organization, type OrganizationCreateInput, type OrganizationListOutput, type OrganizationSize, type OrganizationsListOptions, type OverdueCohort, type OverdueTriage, type OverdueTriageRow, type PageComment, type PageCommentCreateInput, type PageCommentUpdateInput, type PageCreateInput, type PageDiff, type PageDiffOptions, type PageDiffSide, type PageGetFormat, type PageGetOptions, type PageHistory, type PageHistoryOptions, type PageListOptions, type PageOutlineEntry, type PageRestoreOptions, type PageRevision, type PageRevisionAuthor, type PageRevisionDetail, type PageRevisionKind, type PageSearchOptions, type PageSearchOutput, type PageSearchResult, type PageUpdateInput, type Pipeline, type PipelineStage, type Priority, type Product, type ProductCreateInput, type ProductUpdateInput, type Project, type ProjectDetail, type ProjectKeyResultLink, type ProjectOutput, type ProjectPriority, type ProjectStatus, type ProjectUpdateInput, type ProjectsListOptions, type ProjectsListOutput, ROUND_MINUTES, type ReadStatus, type Requirement, type RequirementCreateInput, type RequirementKind, type RequirementListOptions, type Resource, type ResourceContentType, type ResourceCreateInput, type ResourceListOptions, type ResourceListResult, type ResourceReadState, type RunMessage, type RunnerEvent, type RunnerEventKind, type ScopeCreateInput, type ScopeListOptions, type ScopeUpdateInput, type SearchResult, type SearchResultType, type SearchResultWorkspace, type SetEntityTagsInput, type SetEntityTagsResult, type Tag, type TagEntityType, type TagListResult, type Ticket, type TicketAssignee, type TicketComment, type TicketCommentAddInput, type TicketCommentUpdateInput, type TicketCreateInput, type TicketDependencyEdge, type TicketDetail, type TicketListOptions, type TicketSearchOptions, type TicketStatus, type TicketType, type TicketUpdateInput, TimeApi, type TimeConfirmDayResult, type TimeEntry, type TimeEntrySource, type TimeEntryStatus, type TimeLogBatchResult, type TimeLogInput, type TimeLogOutcome, type TimeLogResult, type TodaysActionRow, type TodaysActions, type TodaysActionsGroup, type UserStory, type UserStoryCreateInput, type UserStoryListOptions, type UserStoryUpdateInput, type WorklogSegment, type Workspace, type WorkspaceMember, type WorkspaceOutput, type WorkspacesListOutput, clearConfig, createConfigStore, getConfigPath, isAuthenticated, isTRPCError, loadConfig, saveConfig, segmentConversation };