@lessly/sdk-app 81.0.0 → 82.0.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.
@@ -71287,23 +71287,83 @@ export interface BrainDaemonCreateInput {
71287
71287
  sourceAuthority?: (("policy" | "official" | "team" | "informal") | null);
71288
71288
  }
71289
71289
  export interface BrainDaemonCreateOutput {
71290
+ /**
71291
+ * Id of this ingestion daemon — the value every other daemon tool takes as `id`
71292
+ */
71290
71293
  id: string;
71294
+ /**
71295
+ * Operator-given label for this daemon; null when it was never named
71296
+ */
71291
71297
  name: (string | null);
71298
+ /**
71299
+ * GitHub repository this daemon reads from; null on clickup and gdrive daemons
71300
+ */
71292
71301
  repo: (string | null);
71302
+ /**
71303
+ * Which source this daemon ingests from: 'github', 'clickup' or 'gdrive'
71304
+ */
71293
71305
  type: string;
71306
+ /**
71307
+ * The model an operator PINNED on this daemon, not necessarily the one that runs; null means Auto. Read effectiveModel for what extraction actually uses.
71308
+ */
71294
71309
  model: (string | null);
71310
+ /**
71311
+ * GitHub owner (user or org) this daemon reads from; null on clickup and gdrive daemons
71312
+ */
71295
71313
  owner: (string | null);
71314
+ /**
71315
+ * Branch the GitHub daemon reads, usually main; null on clickup and gdrive daemons
71316
+ */
71296
71317
  branch: (string | null);
71297
- config?: unknown;
71318
+ /**
71319
+ * This daemon's source settings, shaped by `type`: github carries markdown/issues/pulls toggles and glob filters, gdrive carries docs/pdf/text toggles and recurse. Meant for display, not for binding a later step to.
71320
+ */
71321
+ config?: {
71322
+ [k: string]: unknown;
71323
+ };
71324
+ /**
71325
+ * False while the daemon is paused — a paused daemon starts no runs and reingest requests against it clear paths but trigger nothing
71326
+ */
71298
71327
  enabled: boolean;
71328
+ /**
71329
+ * Which lane runs go to: 'hot' finishes in minutes, 'batch' queues the work with the model provider and can take hours
71330
+ */
71299
71331
  loadMode: string;
71332
+ /**
71333
+ * When this daemon last ran, as an ISO-8601 timestamp; null when it has never run
71334
+ */
71300
71335
  lastRunAt: (string | null);
71301
- lastResult?: unknown;
71336
+ /**
71337
+ * Summary the last run recorded, overwritten wholesale each run; null when the daemon has never run. Use brain_daemon_runs for the run history.
71338
+ */
71339
+ lastResult?: {
71340
+ [k: string]: unknown;
71341
+ };
71342
+ /**
71343
+ * Id of the connector holding the credentials this daemon runs with; null on github daemons, which use the repo connection
71344
+ */
71302
71345
  connectorId: (string | null);
71303
- clickupConfig?: unknown;
71346
+ /**
71347
+ * Workspace, space, list, content toggles and chat channels for a clickup daemon; null for every other type
71348
+ */
71349
+ clickupConfig?: {
71350
+ [k: string]: unknown;
71351
+ };
71352
+ /**
71353
+ * How many of this daemon's documents are known to have extracted incompletely, accumulated across all runs (the last run overwrites lastResult, this does not). 0 does NOT mean clean on its own — read it together with unmeasuredCount.
71354
+ */
71304
71355
  degradedCount: number;
71356
+ /**
71357
+ * The model this daemon ACTUALLY extracts with — `model` when it is pinned and still allowed, otherwise the platform default that Auto resolves to; null when nothing resolves. This is the one to report, not `model`.
71358
+ */
71305
71359
  effectiveModel: (string | null);
71360
+ /**
71361
+ * Authority tier stamped on the memories this daemon writes (highest→lowest: policy, official, team, informal); null means Auto — resolved per source category
71362
+ */
71306
71363
  sourceAuthority: (string | null);
71364
+ /**
71365
+ * How many of this daemon's documents nobody has measured: ingested before the check existed, or staged in a batch run that has not finished extracting. Unmeasured is NOT clean — while this is above 0, degradedCount is a floor, not a verdict, and the count drains itself as those documents are extracted.
71366
+ */
71307
71367
  unmeasuredCount: number;
71308
71368
  }
71309
71369
  export interface BrainDaemonGetInput {
@@ -71313,23 +71373,83 @@ export interface BrainDaemonGetInput {
71313
71373
  id: string;
71314
71374
  }
71315
71375
  export interface BrainDaemonGetOutput {
71376
+ /**
71377
+ * Id of this ingestion daemon — the value every other daemon tool takes as `id`
71378
+ */
71316
71379
  id: string;
71380
+ /**
71381
+ * Operator-given label for this daemon; null when it was never named
71382
+ */
71317
71383
  name: (string | null);
71384
+ /**
71385
+ * GitHub repository this daemon reads from; null on clickup and gdrive daemons
71386
+ */
71318
71387
  repo: (string | null);
71388
+ /**
71389
+ * Which source this daemon ingests from: 'github', 'clickup' or 'gdrive'
71390
+ */
71319
71391
  type: string;
71392
+ /**
71393
+ * The model an operator PINNED on this daemon, not necessarily the one that runs; null means Auto. Read effectiveModel for what extraction actually uses.
71394
+ */
71320
71395
  model: (string | null);
71396
+ /**
71397
+ * GitHub owner (user or org) this daemon reads from; null on clickup and gdrive daemons
71398
+ */
71321
71399
  owner: (string | null);
71400
+ /**
71401
+ * Branch the GitHub daemon reads, usually main; null on clickup and gdrive daemons
71402
+ */
71322
71403
  branch: (string | null);
71323
- config?: unknown;
71404
+ /**
71405
+ * This daemon's source settings, shaped by `type`: github carries markdown/issues/pulls toggles and glob filters, gdrive carries docs/pdf/text toggles and recurse. Meant for display, not for binding a later step to.
71406
+ */
71407
+ config?: {
71408
+ [k: string]: unknown;
71409
+ };
71410
+ /**
71411
+ * False while the daemon is paused — a paused daemon starts no runs and reingest requests against it clear paths but trigger nothing
71412
+ */
71324
71413
  enabled: boolean;
71414
+ /**
71415
+ * Which lane runs go to: 'hot' finishes in minutes, 'batch' queues the work with the model provider and can take hours
71416
+ */
71325
71417
  loadMode: string;
71418
+ /**
71419
+ * When this daemon last ran, as an ISO-8601 timestamp; null when it has never run
71420
+ */
71326
71421
  lastRunAt: (string | null);
71327
- lastResult?: unknown;
71422
+ /**
71423
+ * Summary the last run recorded, overwritten wholesale each run; null when the daemon has never run. Use brain_daemon_runs for the run history.
71424
+ */
71425
+ lastResult?: {
71426
+ [k: string]: unknown;
71427
+ };
71428
+ /**
71429
+ * Id of the connector holding the credentials this daemon runs with; null on github daemons, which use the repo connection
71430
+ */
71328
71431
  connectorId: (string | null);
71329
- clickupConfig?: unknown;
71432
+ /**
71433
+ * Workspace, space, list, content toggles and chat channels for a clickup daemon; null for every other type
71434
+ */
71435
+ clickupConfig?: {
71436
+ [k: string]: unknown;
71437
+ };
71438
+ /**
71439
+ * How many of this daemon's documents are known to have extracted incompletely, accumulated across all runs (the last run overwrites lastResult, this does not). 0 does NOT mean clean on its own — read it together with unmeasuredCount.
71440
+ */
71330
71441
  degradedCount: number;
71442
+ /**
71443
+ * The model this daemon ACTUALLY extracts with — `model` when it is pinned and still allowed, otherwise the platform default that Auto resolves to; null when nothing resolves. This is the one to report, not `model`.
71444
+ */
71331
71445
  effectiveModel: (string | null);
71446
+ /**
71447
+ * Authority tier stamped on the memories this daemon writes (highest→lowest: policy, official, team, informal); null means Auto — resolved per source category
71448
+ */
71332
71449
  sourceAuthority: (string | null);
71450
+ /**
71451
+ * How many of this daemon's documents nobody has measured: ingested before the check existed, or staged in a batch run that has not finished extracting. Unmeasured is NOT clean — while this is above 0, degradedCount is a floor, not a verdict, and the count drains itself as those documents are extracted.
71452
+ */
71333
71453
  unmeasuredCount: number;
71334
71454
  }
71335
71455
  export interface BrainDaemonReingestInput {
@@ -71735,23 +71855,83 @@ export interface BrainDaemonUpdateOutput {
71735
71855
  export interface BrainDaemonsListInput {
71736
71856
  }
71737
71857
  export type BrainDaemonsListOutput = {
71858
+ /**
71859
+ * Id of this ingestion daemon — the value every other daemon tool takes as `id`
71860
+ */
71738
71861
  id: string;
71862
+ /**
71863
+ * Operator-given label for this daemon; null when it was never named
71864
+ */
71739
71865
  name: (string | null);
71866
+ /**
71867
+ * GitHub repository this daemon reads from; null on clickup and gdrive daemons
71868
+ */
71740
71869
  repo: (string | null);
71870
+ /**
71871
+ * Which source this daemon ingests from: 'github', 'clickup' or 'gdrive'
71872
+ */
71741
71873
  type: string;
71874
+ /**
71875
+ * The model an operator PINNED on this daemon, not necessarily the one that runs; null means Auto. Read effectiveModel for what extraction actually uses.
71876
+ */
71742
71877
  model: (string | null);
71878
+ /**
71879
+ * GitHub owner (user or org) this daemon reads from; null on clickup and gdrive daemons
71880
+ */
71743
71881
  owner: (string | null);
71882
+ /**
71883
+ * Branch the GitHub daemon reads, usually main; null on clickup and gdrive daemons
71884
+ */
71744
71885
  branch: (string | null);
71745
- config?: unknown;
71886
+ /**
71887
+ * This daemon's source settings, shaped by `type`: github carries markdown/issues/pulls toggles and glob filters, gdrive carries docs/pdf/text toggles and recurse. Meant for display, not for binding a later step to.
71888
+ */
71889
+ config?: {
71890
+ [k: string]: unknown;
71891
+ };
71892
+ /**
71893
+ * False while the daemon is paused — a paused daemon starts no runs and reingest requests against it clear paths but trigger nothing
71894
+ */
71746
71895
  enabled: boolean;
71896
+ /**
71897
+ * Which lane runs go to: 'hot' finishes in minutes, 'batch' queues the work with the model provider and can take hours
71898
+ */
71747
71899
  loadMode: string;
71900
+ /**
71901
+ * When this daemon last ran, as an ISO-8601 timestamp; null when it has never run
71902
+ */
71748
71903
  lastRunAt: (string | null);
71749
- lastResult?: unknown;
71904
+ /**
71905
+ * Summary the last run recorded, overwritten wholesale each run; null when the daemon has never run. Use brain_daemon_runs for the run history.
71906
+ */
71907
+ lastResult?: {
71908
+ [k: string]: unknown;
71909
+ };
71910
+ /**
71911
+ * Id of the connector holding the credentials this daemon runs with; null on github daemons, which use the repo connection
71912
+ */
71750
71913
  connectorId: (string | null);
71751
- clickupConfig?: unknown;
71914
+ /**
71915
+ * Workspace, space, list, content toggles and chat channels for a clickup daemon; null for every other type
71916
+ */
71917
+ clickupConfig?: {
71918
+ [k: string]: unknown;
71919
+ };
71920
+ /**
71921
+ * How many of this daemon's documents are known to have extracted incompletely, accumulated across all runs (the last run overwrites lastResult, this does not). 0 does NOT mean clean on its own — read it together with unmeasuredCount.
71922
+ */
71752
71923
  degradedCount: number;
71924
+ /**
71925
+ * The model this daemon ACTUALLY extracts with — `model` when it is pinned and still allowed, otherwise the platform default that Auto resolves to; null when nothing resolves. This is the one to report, not `model`.
71926
+ */
71753
71927
  effectiveModel: (string | null);
71928
+ /**
71929
+ * Authority tier stamped on the memories this daemon writes (highest→lowest: policy, official, team, informal); null means Auto — resolved per source category
71930
+ */
71754
71931
  sourceAuthority: (string | null);
71932
+ /**
71933
+ * How many of this daemon's documents nobody has measured: ingested before the check existed, or staged in a batch run that has not finished extracting. Unmeasured is NOT clean — while this is above 0, degradedCount is a floor, not a verdict, and the count drains itself as those documents are extracted.
71934
+ */
71755
71935
  unmeasuredCount: number;
71756
71936
  }[];
71757
71937
  export interface BrainGdriveConnectionsListInput {
@@ -95336,6 +95516,30 @@ export interface SupportLabelCreateOutput {
95336
95516
  */
95337
95517
  createdAt: string;
95338
95518
  }
95519
+ export interface SupportLabelGetInput {
95520
+ /**
95521
+ * Label id
95522
+ */
95523
+ id: string;
95524
+ }
95525
+ export interface SupportLabelGetOutput {
95526
+ /**
95527
+ * Label id
95528
+ */
95529
+ id: string;
95530
+ /**
95531
+ * Label name, unique within the product
95532
+ */
95533
+ name: string;
95534
+ /**
95535
+ * Display colour as a hex string, or null if uncoloured
95536
+ */
95537
+ color: (string | null);
95538
+ /**
95539
+ * ISO-8601 creation timestamp
95540
+ */
95541
+ createdAt: string;
95542
+ }
95339
95543
  export interface SupportLabelListInput {
95340
95544
  }
95341
95545
  export interface SupportLabelListOutput {
@@ -95447,10 +95651,95 @@ export interface SupportMessageCreateOutput {
95447
95651
  */
95448
95652
  downloadUrl: string;
95449
95653
  }[];
95654
+ /**
95655
+ * The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
95656
+ */
95657
+ attachmentIds: string[];
95450
95658
  /**
95451
95659
  * The agent author, or null when the external end user wrote the message
95452
95660
  */
95453
95661
  authorAgentId: (string | null);
95662
+ /**
95663
+ * How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
95664
+ */
95665
+ attachmentCount: number;
95666
+ /**
95667
+ * The external author, or null when an agent wrote the message
95668
+ */
95669
+ authorExternalId: (string | null);
95670
+ }
95671
+ export interface SupportMessageGetInput {
95672
+ /**
95673
+ * Message id
95674
+ */
95675
+ id: string;
95676
+ }
95677
+ export interface SupportMessageGetOutput {
95678
+ /**
95679
+ * Message id
95680
+ */
95681
+ id: string;
95682
+ /**
95683
+ * The message text, byte-identical to what was stored
95684
+ */
95685
+ body: string;
95686
+ /**
95687
+ * Thread this message belongs to
95688
+ */
95689
+ threadId: string;
95690
+ /**
95691
+ * ISO-8601 creation timestamp
95692
+ */
95693
+ createdAt: string;
95694
+ /**
95695
+ * inbound: written by the external end user. outbound: written by support, going out to them
95696
+ */
95697
+ direction: ("inbound" | "outbound");
95698
+ /**
95699
+ * public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
95700
+ */
95701
+ visibility: ("public" | "internal");
95702
+ /**
95703
+ * Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
95704
+ */
95705
+ attachments: {
95706
+ /**
95707
+ * Attachment id
95708
+ */
95709
+ id: string;
95710
+ /**
95711
+ * Display name of the file
95712
+ */
95713
+ fileName: string;
95714
+ /**
95715
+ * ISO-8601 timestamp of when the attachment was created
95716
+ */
95717
+ createdAt: string;
95718
+ /**
95719
+ * Size in bytes as reported by storage
95720
+ */
95721
+ sizeBytes: number;
95722
+ /**
95723
+ * MIME type of the file
95724
+ */
95725
+ contentType: string;
95726
+ /**
95727
+ * Short-lived signed URL to read the file. Re-read the message to get a fresh one
95728
+ */
95729
+ downloadUrl: string;
95730
+ }[];
95731
+ /**
95732
+ * The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
95733
+ */
95734
+ attachmentIds: string[];
95735
+ /**
95736
+ * The agent author, or null when the external end user wrote the message
95737
+ */
95738
+ authorAgentId: (string | null);
95739
+ /**
95740
+ * How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
95741
+ */
95742
+ attachmentCount: number;
95454
95743
  /**
95455
95744
  * The external author, or null when an agent wrote the message
95456
95745
  */
@@ -95552,10 +95841,18 @@ export interface SupportMessageListOutput {
95552
95841
  */
95553
95842
  downloadUrl: string;
95554
95843
  }[];
95844
+ /**
95845
+ * The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
95846
+ */
95847
+ attachmentIds: string[];
95555
95848
  /**
95556
95849
  * The agent author, or null when the external end user wrote the message
95557
95850
  */
95558
95851
  authorAgentId: (string | null);
95852
+ /**
95853
+ * How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
95854
+ */
95855
+ attachmentCount: number;
95559
95856
  /**
95560
95857
  * The external author, or null when an agent wrote the message
95561
95858
  */
@@ -95643,6 +95940,10 @@ export interface SupportResponseEscalateOutput {
95643
95940
  */
95644
95941
  category: ("open" | "pending" | "resolved" | "closed");
95645
95942
  };
95943
+ /**
95944
+ * The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
95945
+ */
95946
+ labelIds: string[];
95646
95947
  /**
95647
95948
  * Free-form client-owned JSON
95648
95949
  */
@@ -95665,6 +95966,10 @@ export interface SupportResponseEscalateOutput {
95665
95966
  * ISO-8601 last-modification timestamp
95666
95967
  */
95667
95968
  updatedAt: string;
95969
+ /**
95970
+ * The same labels as a flat list of names, in the order labels[] has them
95971
+ */
95972
+ labelNames: string[];
95668
95973
  /**
95669
95974
  * ISO-8601 timestamp of the last reply, or null while there are none
95670
95975
  */
@@ -95890,14 +96195,23 @@ export interface SupportRuleCreateInput {
95890
96195
  * When to show the survey once the page matches
95891
96196
  */
95892
96197
  trigger: ({
96198
+ /**
96199
+ * An immediate trigger, with nothing else to set
96200
+ */
95893
96201
  kind: "immediate";
95894
96202
  } | {
96203
+ /**
96204
+ * A delayed trigger, which needs seconds
96205
+ */
95895
96206
  kind: "delay";
95896
96207
  /**
95897
96208
  * How long to wait after the page matched, in seconds (at most a day)
95898
96209
  */
95899
96210
  seconds: number;
95900
96211
  } | {
96212
+ /**
96213
+ * An event trigger, which needs the event name
96214
+ */
95901
96215
  kind: "event";
95902
96216
  /**
95903
96217
  * An event in the client’s own runtime. This toolkit never sees it
@@ -98901,6 +99215,9 @@ export interface SupportRuleCreateInput {
98901
99215
  }
98902
99216
  ];
98903
99217
  }
99218
+ /**
99219
+ * One delivery rule: which pages get which survey, when, how often, and to whom
99220
+ */
98904
99221
  export interface SupportRuleCreateOutput {
98905
99222
  /**
98906
99223
  * Rule id
@@ -98914,6 +99231,9 @@ export interface SupportRuleCreateOutput {
98914
99231
  * Whether the rule is live
98915
99232
  */
98916
99233
  enabled: boolean;
99234
+ /**
99235
+ * When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
99236
+ */
98917
99237
  trigger: {
98918
99238
  /**
98919
99239
  * Which kind of trigger this is
@@ -98940,13 +99260,22 @@ export interface SupportRuleCreateOutput {
98940
99260
  * exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
98941
99261
  */
98942
99262
  kind: ("exact" | "prefix" | "contains" | "regex");
99263
+ /**
99264
+ * What the URL is compared against, read according to kind
99265
+ */
98943
99266
  value: string;
98944
99267
  };
98945
99268
  /**
98946
99269
  * ISO-8601 creation timestamp
98947
99270
  */
98948
99271
  createdAt: string;
99272
+ /**
99273
+ * How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
99274
+ */
98949
99275
  frequency: {
99276
+ /**
99277
+ * once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
99278
+ */
98950
99279
  kind: ("once" | "until_answered" | "always");
98951
99280
  /**
98952
99281
  * Days between showings, when set
@@ -101946,6 +102275,9 @@ export interface SupportRuleGetInput {
101946
102275
  */
101947
102276
  id: string;
101948
102277
  }
102278
+ /**
102279
+ * One delivery rule: which pages get which survey, when, how often, and to whom
102280
+ */
101949
102281
  export interface SupportRuleGetOutput {
101950
102282
  /**
101951
102283
  * Rule id
@@ -101959,6 +102291,9 @@ export interface SupportRuleGetOutput {
101959
102291
  * Whether the rule is live
101960
102292
  */
101961
102293
  enabled: boolean;
102294
+ /**
102295
+ * When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
102296
+ */
101962
102297
  trigger: {
101963
102298
  /**
101964
102299
  * Which kind of trigger this is
@@ -101985,13 +102320,22 @@ export interface SupportRuleGetOutput {
101985
102320
  * exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
101986
102321
  */
101987
102322
  kind: ("exact" | "prefix" | "contains" | "regex");
102323
+ /**
102324
+ * What the URL is compared against, read according to kind
102325
+ */
101988
102326
  value: string;
101989
102327
  };
101990
102328
  /**
101991
102329
  * ISO-8601 creation timestamp
101992
102330
  */
101993
102331
  createdAt: string;
102332
+ /**
102333
+ * How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
102334
+ */
101994
102335
  frequency: {
102336
+ /**
102337
+ * once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
102338
+ */
101995
102339
  kind: ("once" | "until_answered" | "always");
101996
102340
  /**
101997
102341
  * Days between showings, when set
@@ -105016,6 +105360,9 @@ export interface SupportRuleListOutput {
105016
105360
  * Whether the rule is live
105017
105361
  */
105018
105362
  enabled: boolean;
105363
+ /**
105364
+ * When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
105365
+ */
105019
105366
  trigger: {
105020
105367
  /**
105021
105368
  * Which kind of trigger this is
@@ -105042,13 +105389,22 @@ export interface SupportRuleListOutput {
105042
105389
  * exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
105043
105390
  */
105044
105391
  kind: ("exact" | "prefix" | "contains" | "regex");
105392
+ /**
105393
+ * What the URL is compared against, read according to kind
105394
+ */
105045
105395
  value: string;
105046
105396
  };
105047
105397
  /**
105048
105398
  * ISO-8601 creation timestamp
105049
105399
  */
105050
105400
  createdAt: string;
105401
+ /**
105402
+ * How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
105403
+ */
105051
105404
  frequency: {
105405
+ /**
105406
+ * once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
105407
+ */
105052
105408
  kind: ("once" | "until_answered" | "always");
105053
105409
  /**
105054
105410
  * Days between showings, when set
@@ -108048,14 +108404,23 @@ export interface SupportRuleUpdateInput {
108048
108404
  * The new trigger, replacing the old one
108049
108405
  */
108050
108406
  trigger?: ({
108407
+ /**
108408
+ * An immediate trigger, with nothing else to set
108409
+ */
108051
108410
  kind: "immediate";
108052
108411
  } | {
108412
+ /**
108413
+ * A delayed trigger, which needs seconds
108414
+ */
108053
108415
  kind: "delay";
108054
108416
  /**
108055
108417
  * How long to wait after the page matched, in seconds (at most a day)
108056
108418
  */
108057
108419
  seconds: number;
108058
108420
  } | {
108421
+ /**
108422
+ * An event trigger, which needs the event name
108423
+ */
108059
108424
  kind: "event";
108060
108425
  /**
108061
108426
  * An event in the client’s own runtime. This toolkit never sees it
@@ -111055,6 +111420,9 @@ export interface SupportRuleUpdateInput {
111055
111420
  }
111056
111421
  ];
111057
111422
  }
111423
+ /**
111424
+ * One delivery rule: which pages get which survey, when, how often, and to whom
111425
+ */
111058
111426
  export interface SupportRuleUpdateOutput {
111059
111427
  /**
111060
111428
  * Rule id
@@ -111068,6 +111436,9 @@ export interface SupportRuleUpdateOutput {
111068
111436
  * Whether the rule is live
111069
111437
  */
111070
111438
  enabled: boolean;
111439
+ /**
111440
+ * When the client’s runtime shows the survey once the page matches: immediately, after a delay, or on an event of its own
111441
+ */
111071
111442
  trigger: {
111072
111443
  /**
111073
111444
  * Which kind of trigger this is
@@ -111094,13 +111465,22 @@ export interface SupportRuleUpdateOutput {
111094
111465
  * exact: the whole URL, character for character. prefix: the URL starts with the value. contains: the value appears anywhere in the URL. regex: a JavaScript regular expression, applied unanchored — write ^ yourself if you mean the start
111095
111466
  */
111096
111467
  kind: ("exact" | "prefix" | "contains" | "regex");
111468
+ /**
111469
+ * What the URL is compared against, read according to kind
111470
+ */
111097
111471
  value: string;
111098
111472
  };
111099
111473
  /**
111100
111474
  * ISO-8601 creation timestamp
111101
111475
  */
111102
111476
  createdAt: string;
111477
+ /**
111478
+ * How often the same person may see this survey. The client’s runtime enforces it — this toolkit never sees the end user
111479
+ */
111103
111480
  frequency: {
111481
+ /**
111482
+ * once: show it a single time, ever. until_answered: keep showing it until they respond. always: show it every time the rule matches
111483
+ */
111104
111484
  kind: ("once" | "until_answered" | "always");
111105
111485
  /**
111106
111486
  * Days between showings, when set
@@ -114158,6 +114538,38 @@ export interface SupportStatusCreateOutput {
114158
114538
  */
114159
114539
  category: ("open" | "pending" | "resolved" | "closed");
114160
114540
  }
114541
+ export interface SupportStatusGetInput {
114542
+ /**
114543
+ * Status id
114544
+ */
114545
+ id: string;
114546
+ }
114547
+ export interface SupportStatusGetOutput {
114548
+ /**
114549
+ * Status id
114550
+ */
114551
+ id: string;
114552
+ /**
114553
+ * Status name, unique within the product
114554
+ */
114555
+ name: string;
114556
+ /**
114557
+ * Display colour as a hex string
114558
+ */
114559
+ color: string;
114560
+ /**
114561
+ * Sort order within the status dictionary
114562
+ */
114563
+ order: number;
114564
+ /**
114565
+ * Archived statuses stay readable but are not offered as targets
114566
+ */
114567
+ archived: boolean;
114568
+ /**
114569
+ * Lifecycle bucket the status belongs to
114570
+ */
114571
+ category: ("open" | "pending" | "resolved" | "closed");
114572
+ }
114161
114573
  export interface SupportStatusListInput {
114162
114574
  /**
114163
114575
  * Also return archived statuses (default false)
@@ -114338,6 +114750,14 @@ export interface SupportSurveyArchiveOutput {
114338
114750
  * ISO-8601 last-modification timestamp
114339
114751
  */
114340
114752
  updatedAt: string;
114753
+ /**
114754
+ * The same questions as a flat list of ids, in the order they are asked
114755
+ */
114756
+ questionIds: string[];
114757
+ /**
114758
+ * How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
114759
+ */
114760
+ questionCount: number;
114341
114761
  }
114342
114762
  export interface SupportSurveyCreateInput {
114343
114763
  /**
@@ -114504,6 +114924,14 @@ export interface SupportSurveyCreateOutput {
114504
114924
  * ISO-8601 last-modification timestamp
114505
114925
  */
114506
114926
  updatedAt: string;
114927
+ /**
114928
+ * The same questions as a flat list of ids, in the order they are asked
114929
+ */
114930
+ questionIds: string[];
114931
+ /**
114932
+ * How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
114933
+ */
114934
+ questionCount: number;
114507
114935
  }
114508
114936
  export interface SupportSurveyGetInput {
114509
114937
  /**
@@ -114600,6 +115028,14 @@ export interface SupportSurveyGetOutput {
114600
115028
  * ISO-8601 last-modification timestamp
114601
115029
  */
114602
115030
  updatedAt: string;
115031
+ /**
115032
+ * The same questions as a flat list of ids, in the order they are asked
115033
+ */
115034
+ questionIds: string[];
115035
+ /**
115036
+ * How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
115037
+ */
115038
+ questionCount: number;
114603
115039
  }
114604
115040
  export interface SupportSurveyListInput {
114605
115041
  /**
@@ -114716,6 +115152,14 @@ export interface SupportSurveyListOutput {
114716
115152
  * ISO-8601 last-modification timestamp
114717
115153
  */
114718
115154
  updatedAt: string;
115155
+ /**
115156
+ * The same questions as a flat list of ids, in the order they are asked
115157
+ */
115158
+ questionIds: string[];
115159
+ /**
115160
+ * How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
115161
+ */
115162
+ questionCount: number;
114719
115163
  }[];
114720
115164
  }
114721
115165
  export interface SupportSurveyPublishInput {
@@ -114813,6 +115257,14 @@ export interface SupportSurveyPublishOutput {
114813
115257
  * ISO-8601 last-modification timestamp
114814
115258
  */
114815
115259
  updatedAt: string;
115260
+ /**
115261
+ * The same questions as a flat list of ids, in the order they are asked
115262
+ */
115263
+ questionIds: string[];
115264
+ /**
115265
+ * How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
115266
+ */
115267
+ questionCount: number;
114816
115268
  }
114817
115269
  export interface SupportSurveyStatsInput {
114818
115270
  /**
@@ -115034,6 +115486,14 @@ export interface SupportSurveyUnpublishOutput {
115034
115486
  * ISO-8601 last-modification timestamp
115035
115487
  */
115036
115488
  updatedAt: string;
115489
+ /**
115490
+ * The same questions as a flat list of ids, in the order they are asked
115491
+ */
115492
+ questionIds: string[];
115493
+ /**
115494
+ * How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
115495
+ */
115496
+ questionCount: number;
115037
115497
  }
115038
115498
  export interface SupportSurveyUpdateInput {
115039
115499
  /**
@@ -115204,6 +115664,14 @@ export interface SupportSurveyUpdateOutput {
115204
115664
  * ISO-8601 last-modification timestamp
115205
115665
  */
115206
115666
  updatedAt: string;
115667
+ /**
115668
+ * The same questions as a flat list of ids, in the order they are asked
115669
+ */
115670
+ questionIds: string[];
115671
+ /**
115672
+ * How many questions this survey asks — the same field support/survey.published carries, so a workflow built from the trigger and one built from a get-step bind one shape
115673
+ */
115674
+ questionCount: number;
115207
115675
  }
115208
115676
  export interface SupportThreadAssignInput {
115209
115677
  /**
@@ -115282,6 +115750,10 @@ export interface SupportThreadAssignOutput {
115282
115750
  */
115283
115751
  category: ("open" | "pending" | "resolved" | "closed");
115284
115752
  };
115753
+ /**
115754
+ * The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
115755
+ */
115756
+ labelIds: string[];
115285
115757
  /**
115286
115758
  * Free-form client-owned JSON
115287
115759
  */
@@ -115304,6 +115776,10 @@ export interface SupportThreadAssignOutput {
115304
115776
  * ISO-8601 last-modification timestamp
115305
115777
  */
115306
115778
  updatedAt: string;
115779
+ /**
115780
+ * The same labels as a flat list of names, in the order labels[] has them
115781
+ */
115782
+ labelNames: string[];
115307
115783
  /**
115308
115784
  * ISO-8601 timestamp of the last reply, or null while there are none
115309
115785
  */
@@ -115422,6 +115898,10 @@ export interface SupportThreadCreateOutput {
115422
115898
  */
115423
115899
  category: ("open" | "pending" | "resolved" | "closed");
115424
115900
  };
115901
+ /**
115902
+ * The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
115903
+ */
115904
+ labelIds: string[];
115425
115905
  /**
115426
115906
  * Free-form client-owned JSON
115427
115907
  */
@@ -115444,6 +115924,10 @@ export interface SupportThreadCreateOutput {
115444
115924
  * ISO-8601 last-modification timestamp
115445
115925
  */
115446
115926
  updatedAt: string;
115927
+ /**
115928
+ * The same labels as a flat list of names, in the order labels[] has them
115929
+ */
115930
+ labelNames: string[];
115447
115931
  /**
115448
115932
  * ISO-8601 timestamp of the last reply, or null while there are none
115449
115933
  */
@@ -115534,6 +116018,10 @@ export interface SupportThreadGetOutput {
115534
116018
  */
115535
116019
  category: ("open" | "pending" | "resolved" | "closed");
115536
116020
  };
116021
+ /**
116022
+ * The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
116023
+ */
116024
+ labelIds: string[];
115537
116025
  /**
115538
116026
  * Free-form client-owned JSON
115539
116027
  */
@@ -115556,6 +116044,10 @@ export interface SupportThreadGetOutput {
115556
116044
  * ISO-8601 last-modification timestamp
115557
116045
  */
115558
116046
  updatedAt: string;
116047
+ /**
116048
+ * The same labels as a flat list of names, in the order labels[] has them
116049
+ */
116050
+ labelNames: string[];
115559
116051
  /**
115560
116052
  * ISO-8601 timestamp of the last reply, or null while there are none
115561
116053
  */
@@ -115706,6 +116198,10 @@ export interface SupportThreadListOutput {
115706
116198
  */
115707
116199
  category: ("open" | "pending" | "resolved" | "closed");
115708
116200
  };
116201
+ /**
116202
+ * The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
116203
+ */
116204
+ labelIds: string[];
115709
116205
  /**
115710
116206
  * Free-form client-owned JSON
115711
116207
  */
@@ -115728,6 +116224,10 @@ export interface SupportThreadListOutput {
115728
116224
  * ISO-8601 last-modification timestamp
115729
116225
  */
115730
116226
  updatedAt: string;
116227
+ /**
116228
+ * The same labels as a flat list of names, in the order labels[] has them
116229
+ */
116230
+ labelNames: string[];
115731
116231
  /**
115732
116232
  * ISO-8601 timestamp of the last reply, or null while there are none
115733
116233
  */
@@ -115823,6 +116323,10 @@ export interface SupportThreadStatusSetOutput {
115823
116323
  */
115824
116324
  category: ("open" | "pending" | "resolved" | "closed");
115825
116325
  };
116326
+ /**
116327
+ * The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
116328
+ */
116329
+ labelIds: string[];
115826
116330
  /**
115827
116331
  * Free-form client-owned JSON
115828
116332
  */
@@ -115845,6 +116349,10 @@ export interface SupportThreadStatusSetOutput {
115845
116349
  * ISO-8601 last-modification timestamp
115846
116350
  */
115847
116351
  updatedAt: string;
116352
+ /**
116353
+ * The same labels as a flat list of names, in the order labels[] has them
116354
+ */
116355
+ labelNames: string[];
115848
116356
  /**
115849
116357
  * ISO-8601 timestamp of the last reply, or null while there are none
115850
116358
  */
@@ -115955,6 +116463,10 @@ export interface SupportThreadUpdateOutput {
115955
116463
  */
115956
116464
  category: ("open" | "pending" | "resolved" | "closed");
115957
116465
  };
116466
+ /**
116467
+ * The same labels as a flat list of ids, in the order labels[] has them. This is the value support_thread_update takes back: a dot-path can name this whole set, while labels.0.id names only the first element
116468
+ */
116469
+ labelIds: string[];
115958
116470
  /**
115959
116471
  * Free-form client-owned JSON
115960
116472
  */
@@ -115977,6 +116489,10 @@ export interface SupportThreadUpdateOutput {
115977
116489
  * ISO-8601 last-modification timestamp
115978
116490
  */
115979
116491
  updatedAt: string;
116492
+ /**
116493
+ * The same labels as a flat list of names, in the order labels[] has them
116494
+ */
116495
+ labelNames: string[];
115980
116496
  /**
115981
116497
  * ISO-8601 timestamp of the last reply, or null while there are none
115982
116498
  */