@naturali/sdk 0.135.0 → 0.136.1

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.cts CHANGED
@@ -438,7 +438,7 @@ type Address = {
438
438
  /**
439
439
  * This address's own decision, when it has one — beats every route.
440
440
  */
441
- action: 'agent' | 'message' | 'silence' | null;
441
+ action: 'agent' | 'oneshot' | 'message' | 'silence' | null;
442
442
  agent_id: string | null;
443
443
  text: string | null;
444
444
  /**
@@ -448,6 +448,14 @@ type Address = {
448
448
  after_seconds: number;
449
449
  };
450
450
  language: string | null;
451
+ /**
452
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
453
+ *
454
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
455
+ *
456
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
457
+ *
458
+ */
451
459
  config: {
452
460
  [key: string]: unknown;
453
461
  } | null;
@@ -459,13 +467,29 @@ type Address = {
459
467
  *
460
468
  */
461
469
  type AddressActionSet = {
462
- action: 'agent' | 'message' | 'silence' | null;
470
+ /**
471
+ * What an inbound message becomes.
472
+ *
473
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
474
+ *
475
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
476
+ *
477
+ */
478
+ action: 'agent' | 'oneshot' | 'message' | 'silence' | null;
463
479
  agent_id?: string;
464
480
  text?: string;
465
481
  repeat?: 'every' | 'once' | {
466
482
  after_seconds: number;
467
483
  };
468
484
  language?: string;
485
+ /**
486
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
487
+ *
488
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
489
+ *
490
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
491
+ *
492
+ */
469
493
  config?: {
470
494
  [key: string]: unknown;
471
495
  };
@@ -2088,7 +2112,15 @@ type ChannelRoute = {
2088
2112
  * Tiebreak only, after specificity and `surface`.
2089
2113
  */
2090
2114
  priority: number;
2091
- action: 'agent' | 'message' | 'silence';
2115
+ /**
2116
+ * What an inbound message becomes.
2117
+ *
2118
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2119
+ *
2120
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2121
+ *
2122
+ */
2123
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2092
2124
  agent_id: string | null;
2093
2125
  text: string | null;
2094
2126
  /**
@@ -2098,6 +2130,14 @@ type ChannelRoute = {
2098
2130
  after_seconds: number;
2099
2131
  };
2100
2132
  language: string | null;
2133
+ /**
2134
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
2135
+ *
2136
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
2137
+ *
2138
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
2139
+ *
2140
+ */
2101
2141
  config: {
2102
2142
  [key: string]: unknown;
2103
2143
  } | null;
@@ -2111,13 +2151,29 @@ type ChannelRouteWrite = {
2111
2151
  [key: string]: unknown;
2112
2152
  };
2113
2153
  priority?: number;
2114
- action: 'agent' | 'message' | 'silence';
2154
+ /**
2155
+ * What an inbound message becomes.
2156
+ *
2157
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2158
+ *
2159
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2160
+ *
2161
+ */
2162
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2115
2163
  agent_id?: string;
2116
2164
  text?: string;
2117
2165
  repeat?: 'every' | 'once' | {
2118
2166
  after_seconds: number;
2119
2167
  };
2120
2168
  language?: string;
2169
+ /**
2170
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
2171
+ *
2172
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
2173
+ *
2174
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
2175
+ *
2176
+ */
2121
2177
  config?: {
2122
2178
  [key: string]: unknown;
2123
2179
  };
@@ -2268,9 +2324,17 @@ type ChannelList = {
2268
2324
  *
2269
2325
  */
2270
2326
  type ChannelDefaultAction = {
2271
- action: 'agent' | 'message' | 'silence';
2272
2327
  /**
2273
- * The agent that answers, when `action` is `agent`.
2328
+ * What an inbound message becomes.
2329
+ *
2330
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2331
+ *
2332
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2333
+ *
2334
+ */
2335
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2336
+ /**
2337
+ * The agent that answers, when `action` is `agent` or `oneshot`.
2274
2338
  */
2275
2339
  agent_id: string | null;
2276
2340
  /**
@@ -2289,7 +2353,12 @@ type ChannelDefaultAction = {
2289
2353
  */
2290
2354
  language: string | null;
2291
2355
  /**
2292
- * Conversation config bag — media handling, persona overrides, the Discord allowlist.
2356
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
2357
+ *
2358
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
2359
+ *
2360
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
2361
+ *
2293
2362
  */
2294
2363
  config: {
2295
2364
  [key: string]: unknown;
@@ -2300,7 +2369,15 @@ type ChannelDefaultAction = {
2300
2369
  *
2301
2370
  */
2302
2371
  type ChannelDefaultActionInput = {
2303
- action: 'agent' | 'message' | 'silence';
2372
+ /**
2373
+ * What an inbound message becomes.
2374
+ *
2375
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2376
+ *
2377
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2378
+ *
2379
+ */
2380
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2304
2381
  agent_id?: string;
2305
2382
  text?: string;
2306
2383
  repeat?: 'every' | 'once' | {
package/dist/index.d.mts CHANGED
@@ -438,7 +438,7 @@ type Address = {
438
438
  /**
439
439
  * This address's own decision, when it has one — beats every route.
440
440
  */
441
- action: 'agent' | 'message' | 'silence' | null;
441
+ action: 'agent' | 'oneshot' | 'message' | 'silence' | null;
442
442
  agent_id: string | null;
443
443
  text: string | null;
444
444
  /**
@@ -448,6 +448,14 @@ type Address = {
448
448
  after_seconds: number;
449
449
  };
450
450
  language: string | null;
451
+ /**
452
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
453
+ *
454
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
455
+ *
456
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
457
+ *
458
+ */
451
459
  config: {
452
460
  [key: string]: unknown;
453
461
  } | null;
@@ -459,13 +467,29 @@ type Address = {
459
467
  *
460
468
  */
461
469
  type AddressActionSet = {
462
- action: 'agent' | 'message' | 'silence' | null;
470
+ /**
471
+ * What an inbound message becomes.
472
+ *
473
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
474
+ *
475
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
476
+ *
477
+ */
478
+ action: 'agent' | 'oneshot' | 'message' | 'silence' | null;
463
479
  agent_id?: string;
464
480
  text?: string;
465
481
  repeat?: 'every' | 'once' | {
466
482
  after_seconds: number;
467
483
  };
468
484
  language?: string;
485
+ /**
486
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
487
+ *
488
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
489
+ *
490
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
491
+ *
492
+ */
469
493
  config?: {
470
494
  [key: string]: unknown;
471
495
  };
@@ -2088,7 +2112,15 @@ type ChannelRoute = {
2088
2112
  * Tiebreak only, after specificity and `surface`.
2089
2113
  */
2090
2114
  priority: number;
2091
- action: 'agent' | 'message' | 'silence';
2115
+ /**
2116
+ * What an inbound message becomes.
2117
+ *
2118
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2119
+ *
2120
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2121
+ *
2122
+ */
2123
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2092
2124
  agent_id: string | null;
2093
2125
  text: string | null;
2094
2126
  /**
@@ -2098,6 +2130,14 @@ type ChannelRoute = {
2098
2130
  after_seconds: number;
2099
2131
  };
2100
2132
  language: string | null;
2133
+ /**
2134
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
2135
+ *
2136
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
2137
+ *
2138
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
2139
+ *
2140
+ */
2101
2141
  config: {
2102
2142
  [key: string]: unknown;
2103
2143
  } | null;
@@ -2111,13 +2151,29 @@ type ChannelRouteWrite = {
2111
2151
  [key: string]: unknown;
2112
2152
  };
2113
2153
  priority?: number;
2114
- action: 'agent' | 'message' | 'silence';
2154
+ /**
2155
+ * What an inbound message becomes.
2156
+ *
2157
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2158
+ *
2159
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2160
+ *
2161
+ */
2162
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2115
2163
  agent_id?: string;
2116
2164
  text?: string;
2117
2165
  repeat?: 'every' | 'once' | {
2118
2166
  after_seconds: number;
2119
2167
  };
2120
2168
  language?: string;
2169
+ /**
2170
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
2171
+ *
2172
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
2173
+ *
2174
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
2175
+ *
2176
+ */
2121
2177
  config?: {
2122
2178
  [key: string]: unknown;
2123
2179
  };
@@ -2268,9 +2324,17 @@ type ChannelList = {
2268
2324
  *
2269
2325
  */
2270
2326
  type ChannelDefaultAction = {
2271
- action: 'agent' | 'message' | 'silence';
2272
2327
  /**
2273
- * The agent that answers, when `action` is `agent`.
2328
+ * What an inbound message becomes.
2329
+ *
2330
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2331
+ *
2332
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2333
+ *
2334
+ */
2335
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2336
+ /**
2337
+ * The agent that answers, when `action` is `agent` or `oneshot`.
2274
2338
  */
2275
2339
  agent_id: string | null;
2276
2340
  /**
@@ -2289,7 +2353,12 @@ type ChannelDefaultAction = {
2289
2353
  */
2290
2354
  language: string | null;
2291
2355
  /**
2292
- * Conversation config bag — media handling, persona overrides, the Discord allowlist.
2356
+ * Conversation config bag — media handling, persona overrides, the Discord allowlist, and how a `oneshot` answers.
2357
+ *
2358
+ * `discord.reply` picks the delivery: `react` (the default) adds `discord.reaction` — `✅` unless named — to the message that triggered the run, `mention` answers beside it addressing whoever asked, `thread` opens a thread and answers inside it, and `none` delivers nothing at all. A run that fails delivers nothing in every mode, so a reaction always means the work was done; there is no failure marker.
2359
+ *
2360
+ * Read only for `oneshot`. A conversational `agent` in a guild *is* its thread — that is what its session is keyed on — so it always opens one.
2361
+ *
2293
2362
  */
2294
2363
  config: {
2295
2364
  [key: string]: unknown;
@@ -2300,7 +2369,15 @@ type ChannelDefaultAction = {
2300
2369
  *
2301
2370
  */
2302
2371
  type ChannelDefaultActionInput = {
2303
- action: 'agent' | 'message' | 'silence';
2372
+ /**
2373
+ * What an inbound message becomes.
2374
+ *
2375
+ * `agent` is a dialogue: the identity behind the message gets a session, and every later message on it continues the same one. `oneshot` runs the agent once and keeps nothing — no address, no actor, no session, no conversation — so each message is answered on its own. Choose it for work that is filed rather than discussed; choose `agent` when the answer depends on what came before.
2376
+ *
2377
+ * `message` delivers fixed text without running an agent, and `silence` answers nothing.
2378
+ *
2379
+ */
2380
+ action: 'agent' | 'oneshot' | 'message' | 'silence';
2304
2381
  agent_id?: string;
2305
2382
  text?: string;
2306
2383
  repeat?: 'every' | 'once' | {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturali/sdk",
3
- "version": "0.135.0",
3
+ "version": "0.136.1",
4
4
  "description": "TypeScript SDK for the naturali.ai API, generated from its OpenAPI specs",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "devDependencies": {
33
33
  "@hey-api/openapi-ts": "^0.99.0",
34
- "@naturali/api": "0.135.0",
34
+ "@naturali/api": "0.136.1",
35
35
  "@ttoss/openapi-codegen": "^0.3.1",
36
36
  "@types/node": "^26.5.1",
37
37
  "tsdown": "^0.23.0",