@noodleseed/one 0.190.2 → 0.191.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.
Files changed (25) hide show
  1. package/dist/commands/assistant-ops.d.ts.map +1 -1
  2. package/dist/commands/assistant-ops.js +19 -2
  3. package/dist/commands/assistant-ops.js.map +1 -1
  4. package/dist/commands/whatsapp-ops.d.ts.map +1 -1
  5. package/dist/commands/whatsapp-ops.js +28 -3
  6. package/dist/commands/whatsapp-ops.js.map +1 -1
  7. package/dist/commands/whatsapp-output.d.ts.map +1 -1
  8. package/dist/commands/whatsapp-output.js +13 -0
  9. package/dist/commands/whatsapp-output.js.map +1 -1
  10. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-guide.d.ts +42 -1
  11. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-guide.js +93 -8
  12. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.d.ts +7 -0
  13. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.js +58 -3
  14. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-store.d.ts +1 -1
  15. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-types.d.ts +4 -1
  16. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-channels.js +39 -23
  17. package/node_modules/@noodle-borg/service/dist/channels/runtime.js +8 -0
  18. package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js +10 -3
  19. package/node_modules/@noodle-borg/service/dist/routes/assistant-doctor.js +4 -1
  20. package/node_modules/@noodle-borg/service/dist/routes/whatsapp.js +21 -0
  21. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.d.ts +36 -0
  22. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.js +1 -0
  23. package/node_modules/@noodle-borg/wire-contracts/dist/sms.d.ts +33 -0
  24. package/node_modules/@noodle-borg/wire-contracts/dist/sms.js +18 -0
  25. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-ops.d.ts","sourceRoot":"","sources":["../../src/commands/assistant-ops.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6BnD,wBAAsB,YAAY,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,cAA0B,GAC/B,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
1
+ {"version":3,"file":"assistant-ops.d.ts","sourceRoot":"","sources":["../../src/commands/assistant-ops.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6BnD,wBAAsB,YAAY,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,cAA0B,GAC/B,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- import { managedSpendDrift } from '@noodle-borg/assistant-gateway/portable';
4
+ import { managedSpendDrift, } from '@noodle-borg/assistant-gateway/portable';
5
5
  import { configDir } from '../config.js';
6
6
  import { ServiceRequestError, serviceJson } from '../control-plane.js';
7
7
  import { resolveAnalyticsTarget } from './analytics-ops.js';
@@ -134,7 +134,24 @@ async function doctor(rest, env, home) {
134
134
  ? []
135
135
  : [check.retryable ? 'retryable' : 'not retryable']),
136
136
  ].join(', ')}`;
137
- console.log(` ${check.ok ? 'PASS' : check.skipped ? 'SKIP' : 'FAIL'} ${name}${detail}`);
137
+ // A passing check that still carries a code is a warning, never a failure.
138
+ const state = !check.ok
139
+ ? check.skipped
140
+ ? 'SKIP'
141
+ : 'FAIL'
142
+ : check.code === undefined
143
+ ? 'PASS'
144
+ : 'WARN';
145
+ console.log(` ${state} ${name}${detail}`);
146
+ }
147
+ const guide = body.checks.guide;
148
+ if (guide !== undefined && 'workflowCount' in guide && guide.code !== undefined) {
149
+ const omitted = guide.detailOmittedFor ?? [];
150
+ console.log(`Product guide detail was omitted for ${omitted.length} of ${guide.workflowCount} workflows` +
151
+ `${guide.examplesOmitted ? ' (examples omitted)' : ''}: ${omitted.join(', ')}.`);
152
+ console.log(guide.code === 'assistant_guide_over_budget'
153
+ ? `Purpose, use cases, and boundaries alone exceed ${guide.maxBytes} bytes; they are still sent. Shorten them.`
154
+ : 'Purpose, use cases, boundaries, and every workflow index line are still sent; shorten step guidance to restore detail.');
138
155
  }
139
156
  if (!body.ok) {
140
157
  console.log('Fix failed checks, then rerun noodle assistant doctor.');
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-ops.js","sourceRoot":"","sources":["../../src/commands/assistant-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assistant-ops.js","sourceRoot":"","sources":["../../src/commands/assistant-ops.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-ops.d.ts","sourceRoot":"","sources":["../../src/commands/whatsapp-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAanD,KAAK,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;AAqDhD,UAAU,SAAS;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,CAAC;CACvD;AACD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,SAAS,CAgMX;AACD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,cAA0B,EAChC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,MAAM,CAAC,CAkGjB"}
1
+ {"version":3,"file":"whatsapp-ops.d.ts","sourceRoot":"","sources":["../../src/commands/whatsapp-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAanD,KAAK,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;AAsDhD,UAAU,SAAS;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,CAAC;CACvD;AACD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,SAAS,CAuNX;AACD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,cAA0B,EAChC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,MAAM,CAAC,CAqGjB"}
@@ -11,7 +11,7 @@ const CHANNELS = ['whatsapp', 'instagram', 'sms'];
11
11
  const CHANNEL_FLAGS = {
12
12
  whatsapp: ['provider', 'phoneNumberId', 'wabaId', 'webhookSecret'],
13
13
  instagram: ['instagramAccountId', 'pageId'],
14
- sms: ['accountSid', 'phoneNumberSid', 'phoneNumber'],
14
+ sms: ['accountSid', 'phoneNumberSid', 'phoneNumber', 'participantAccess'],
15
15
  };
16
16
  const LIMIT_FLAGS = {
17
17
  '--per-minute': 'perMinute',
@@ -40,6 +40,7 @@ const VALUES = {
40
40
  '--account-sid': 'accountSid',
41
41
  '--phone-number-sid': 'phoneNumberSid',
42
42
  '--phone-number': 'phoneNumber',
43
+ '--participant-access': 'participantAccess',
43
44
  '--api-key-secret': 'apiKeySecret',
44
45
  '--webhook-secret': 'webhookSecret',
45
46
  '--capabilities': 'capabilities',
@@ -104,6 +105,7 @@ export function channelOperation(channel, rest, protectedPhone) {
104
105
  accountSid: flags.accountSid,
105
106
  phoneNumberSid: flags.phoneNumberSid,
106
107
  phoneNumber: flags.phoneNumber,
108
+ participantAccess: flags.participantAccess,
107
109
  apiKeySecret: flags.apiKeySecret,
108
110
  supportEmail: flags.supportEmail,
109
111
  capabilities: capabilities(),
@@ -178,6 +180,28 @@ export function channelOperation(channel, rest, protectedPhone) {
178
180
  }
179
181
  if (noun === 'usage' && !action)
180
182
  return get('/usage', wire.WhatsAppUsageClientResponseSchema);
183
+ if (channel === 'sms' && noun === 'participants' && action === 'list')
184
+ return get('/participants', wire.SmsParticipantsResponseSchema);
185
+ if (channel === 'sms' && noun === 'participants' && action === 'allow') {
186
+ if (!flags.phoneStdin || !protectedPhone || flags.participantId)
187
+ throw new Error('participants allow requires --phone-stdin with a piped E.164 number');
188
+ return {
189
+ path: '/participants',
190
+ method: 'POST',
191
+ body: wire.SmsParticipantRequestSchema.parse({
192
+ expectedRevision: revision(),
193
+ phone: protectedPhone,
194
+ }),
195
+ response: wire.SmsParticipantResponseSchema,
196
+ };
197
+ }
198
+ if (channel === 'sms' && noun === 'participants' && action === 'remove')
199
+ return {
200
+ path: `/participants/${participant()}`,
201
+ method: 'DELETE',
202
+ body: wire.SmsParticipantRemoveRequestSchema.parse({ expectedRevision: revision() }),
203
+ response: wire.SmsParticipantResponseSchema,
204
+ };
181
205
  if (noun === 'webhook' && action === 'inspect')
182
206
  return get('/webhook', wire.WhatsAppWebhookClientResponseSchema);
183
207
  if (noun === 'webhook' && action === 'configure')
@@ -247,10 +271,11 @@ export async function runChannels(rest, env = process.env, home = homedir(), fet
247
271
  try {
248
272
  let protectedPhone;
249
273
  if (rest.includes('--phone-stdin')) {
250
- if (!['block', 'unblock'].includes(rest[1] ?? '') ||
274
+ if (!(['block', 'unblock'].includes(rest[1] ?? '') ||
275
+ (channel === 'sms' && rest[1] === 'participants' && rest[2] === 'allow')) ||
251
276
  (rest[1] === 'block' && rest.includes('--participant-id')) ||
252
277
  process.stdin.isTTY)
253
- throw new Error('--phone-stdin requires piped E.164 input for block, or unblock with its participant ID');
278
+ throw new Error('--phone-stdin requires piped E.164 input for block, unblock, or SMS participants allow');
254
279
  let value = '';
255
280
  for await (const chunk of process.stdin) {
256
281
  value += String(chunk);
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-ops.js","sourceRoot":"","sources":["../../src/commands/whatsapp-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp-ops.js","sourceRoot":"","sources":["../../src/commands/whatsapp-ops.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-output.d.ts","sourceRoot":"","sources":["../../src/commands/whatsapp-output.ts"],"names":[],"mappings":"AAuBA,sGAAsG;AACtG,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,EACzC,MAAM,EAAE,OAAO,GACd,MAAM,CA6FR"}
1
+ {"version":3,"file":"whatsapp-output.d.ts","sourceRoot":"","sources":["../../src/commands/whatsapp-output.ts"],"names":[],"mappings":"AAuBA,sGAAsG;AACtG,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,EACzC,MAAM,EAAE,OAAO,GACd,MAAM,CAyGR"}
@@ -45,6 +45,9 @@ export function formatChannelResult(channel, result) {
45
45
  ? `Account: ${value.instagramAccountId} via Page ${value.pageId}`
46
46
  : `Provider: ${value.provider}${'wabaId' in value && value.wabaId ? ` (WABA ${value.wabaId})` : ''}`,
47
47
  `Deployment: ${value.deploymentId}`,
48
+ ...('participantAccess' in value
49
+ ? [`Participant access: ${value.participantAccess ?? 'open'}`]
50
+ : []),
48
51
  `Capabilities: ${value.capabilities.map((cap) => `${cap.kind}:${cap.name}`).join(', ') || 'none'}`,
49
52
  `Limits: ${value.limits.perMinute}/minute, ${value.limits.perHour}/hour, ${value.limits.perDay}/day per sender; ${value.limits.channelPerDay}/day per channel.`,
50
53
  `Daily inference ceiling: $${(value.limits.dailyMicroUsd / 1_000_000).toFixed(2)} USD.`,
@@ -75,6 +78,16 @@ export function formatChannelResult(channel, result) {
75
78
  { header: 'Code', get: (row) => row.code ?? '' },
76
79
  ], events.data.data, stdoutTableOptions()) + (events.data.next ? `\nNext: --after ${events.data.next}` : ''));
77
80
  const blocks = wire.WhatsAppBlocksClientResponseSchema.safeParse(result);
81
+ if (channel === 'sms') {
82
+ const allowed = wire.SmsParticipantsResponseSchema.safeParse(result);
83
+ if (allowed.success)
84
+ return allowed.data.data.length
85
+ ? `Allowed participant IDs:\n${allowed.data.data.join('\n')}`
86
+ : 'No SMS participants allowed.';
87
+ const changed = wire.SmsParticipantResponseSchema.safeParse(result);
88
+ if (changed.success)
89
+ return `Participant ${changed.data.data.participantId} updated.`;
90
+ }
78
91
  if (blocks.success)
79
92
  return ((blocks.data.data
80
93
  .map((item) => `${item.participantId}: Borg ${item.local ? 'blocked' : 'unblocked'}${item.optedOut === undefined ? '' : `; recipient ${item.optedOut ? 'opted out (send START to resume)' : 'opted in'}`}; provider ${item.provider ? `${item.provider.desired}/${item.provider.state}` : 'not requested'}; ${item.until ? `until ${new Date(item.until).toISOString()}` : 'no local expiry'}`)
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-output.js","sourceRoot":"","sources":["../../src/commands/whatsapp-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp-output.js","sourceRoot":"","sources":["../../src/commands/whatsapp-output.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,55 @@ import { type ToolAuthorizationCaller } from '@noodle-borg/protocol';
3
3
  import { type SurfaceCapabilityRef } from './artifact-projection.js';
4
4
  /** Model-context budget for the embedded assistant's compact product workflow projection. */
5
5
  export declare const ASSISTANT_GUIDE_MAX_BYTES: number;
6
- export type AssistantGuideUnavailableReason = 'package_unavailable' | 'no_complete_workflow' | 'context_too_large';
6
+ export type AssistantGuideUnavailableReason = 'package_unavailable' | 'no_complete_workflow';
7
+ /**
8
+ * What a guide over {@link ASSISTANT_GUIDE_MAX_BYTES} gave up to fit. Size never removes the guide:
9
+ * purpose, use cases, boundaries, and one index line per workflow always survive, so a business with
10
+ * many capabilities keeps its safety guidance. `withinBudget` is false only when that mandatory core
11
+ * alone exceeds the budget; it is still sent, because dropping boundaries is the worse failure.
12
+ */
13
+ export interface AssistantGuideCompaction {
14
+ readonly examplesOmitted: boolean;
15
+ /** Workflows reduced to their index line, in authored order: always a suffix of `workflowIds`. */
16
+ readonly detailOmittedFor: readonly string[];
17
+ readonly withinBudget: boolean;
18
+ }
7
19
  export type AssistantGuideProjection = {
8
20
  readonly status: 'ready';
9
21
  readonly guide: {
10
22
  readonly content: string;
11
23
  readonly workflowIds: readonly string[];
12
24
  readonly byteLength: number;
25
+ /** Present only when the full guide exceeded the budget. */
26
+ readonly compaction?: AssistantGuideCompaction;
13
27
  };
14
28
  } | {
15
29
  readonly status: 'unavailable';
16
30
  readonly reason: AssistantGuideUnavailableReason;
17
31
  };
32
+ /**
33
+ * The assistant doctor's `guide` check. Compaction is a warning, never a failure, so `ok` stays true;
34
+ * `code` is present only when detail was shed, and `over_budget` means boundaries alone exceed it.
35
+ */
36
+ export type AssistantGuideDiagnostic = {
37
+ readonly ok: true;
38
+ readonly skipped: true;
39
+ readonly reason: AssistantGuideUnavailableReason;
40
+ } | {
41
+ readonly ok: true;
42
+ readonly byteLength: number;
43
+ readonly maxBytes: number;
44
+ readonly workflowCount: number;
45
+ readonly code?: 'assistant_guide_compacted' | 'assistant_guide_over_budget';
46
+ readonly examplesOmitted?: boolean;
47
+ readonly detailOmittedFor?: readonly string[];
48
+ };
49
+ /**
50
+ * Diagnose the guide for the widest model tool set a deployment can offer, ignoring caller
51
+ * authorization and per-turn visibility. A narrower caller's guide holds a subset of these workflows,
52
+ * so if this one fits, every caller's does.
53
+ */
54
+ export declare function assistantGuideDiagnostic(appPackage: unknown, artifact: RuntimeArtifact): AssistantGuideDiagnostic;
18
55
  /** Render a ready authorization-filtered guide as subordinate model context. */
19
56
  export declare function assistantGuideModelContext(projection: AssistantGuideProjection): string;
20
57
  /**
@@ -51,6 +88,10 @@ export declare function assistantModelToolOncePerSession(tool: ArtifactTool): bo
51
88
  /**
52
89
  * Build bounded product guidance from structured App Package data, never from rendered host files.
53
90
  * Workflows are atomic: if one step is unavailable to this model, the entire workflow is omitted.
91
+ *
92
+ * Over budget, detail is shed in one fixed order until the guide fits: first every example, then each
93
+ * workflow's intent and steps, last authored workflow first, leaving its index line (id, title, when to
94
+ * use, tool names, write/confirmation facts). Purpose, use cases, and boundaries are never shed.
54
95
  */
55
96
  export declare function projectAssistantGuide(input: {
56
97
  readonly appPackage: unknown;
@@ -8,6 +8,35 @@ const ONCE_PER_SESSION = 'x-noodleseed-model-once-per-session';
8
8
  const REQUIRED_WHEN_VISIBLE = 'x-noodleseed-model-required-when-visible';
9
9
  const MAX_VISIBILITY_PHRASES = 32;
10
10
  const MAX_VISIBILITY_PHRASE_CHARS = 128;
11
+ /**
12
+ * Diagnose the guide for the widest model tool set a deployment can offer, ignoring caller
13
+ * authorization and per-turn visibility. A narrower caller's guide holds a subset of these workflows,
14
+ * so if this one fits, every caller's does.
15
+ */
16
+ export function assistantGuideDiagnostic(appPackage, artifact) {
17
+ const projection = projectAssistantGuide({
18
+ appPackage,
19
+ modelTools: artifact.tools.filter((tool) => tool._meta?.ui?.visibility?.includes('model') !== false),
20
+ });
21
+ if (projection.status === 'unavailable') {
22
+ return { ok: true, skipped: true, reason: projection.reason };
23
+ }
24
+ const { byteLength: size, workflowIds, compaction } = projection.guide;
25
+ const base = {
26
+ ok: true,
27
+ byteLength: size,
28
+ maxBytes: ASSISTANT_GUIDE_MAX_BYTES,
29
+ workflowCount: workflowIds.length,
30
+ };
31
+ if (compaction === undefined)
32
+ return base;
33
+ return {
34
+ ...base,
35
+ code: compaction.withinBudget ? 'assistant_guide_compacted' : 'assistant_guide_over_budget',
36
+ examplesOmitted: compaction.examplesOmitted,
37
+ detailOmittedFor: compaction.detailOmittedFor,
38
+ };
39
+ }
11
40
  /** Render a ready authorization-filtered guide as subordinate model context. */
12
41
  export function assistantGuideModelContext(projection) {
13
42
  return projection.status === 'ready'
@@ -96,6 +125,10 @@ function normalizeVisibilityText(value) {
96
125
  /**
97
126
  * Build bounded product guidance from structured App Package data, never from rendered host files.
98
127
  * Workflows are atomic: if one step is unavailable to this model, the entire workflow is omitted.
128
+ *
129
+ * Over budget, detail is shed in one fixed order until the guide fits: first every example, then each
130
+ * workflow's intent and steps, last authored workflow first, leaving its index line (id, title, when to
131
+ * use, tool names, write/confirmation facts). Purpose, use cases, and boundaries are never shed.
99
132
  */
100
133
  export function projectAssistantGuide(input) {
101
134
  const parsed = appPackageArtifactV1Schema.safeParse(input.appPackage);
@@ -109,18 +142,38 @@ export function projectAssistantGuide(input) {
109
142
  if (projected === undefined)
110
143
  return unavailable('no_complete_workflow');
111
144
  const workflows = projected.skill.workflows;
112
- const retainedIds = new Set(workflows.map((workflow) => workflow.id));
113
- const content = renderGuide(projected, workflows, retainedIds);
114
- const byteLength = Buffer.byteLength(content, 'utf8');
115
- if (byteLength > ASSISTANT_GUIDE_MAX_BYTES)
116
- return unavailable('context_too_large');
145
+ const workflowIds = workflows.map((workflow) => workflow.id);
146
+ let content = renderGuide(projected, { examples: true, indexOnly: [] });
147
+ if (byteLength(content) <= ASSISTANT_GUIDE_MAX_BYTES) {
148
+ return { status: 'ready', guide: { content, workflowIds, byteLength: byteLength(content) } };
149
+ }
150
+ const indexOnly = [];
151
+ content = renderGuide(projected, { examples: false, indexOnly });
152
+ for (let index = workflowIds.length - 1; index >= 0; index -= 1) {
153
+ if (byteLength(content) <= ASSISTANT_GUIDE_MAX_BYTES)
154
+ break;
155
+ indexOnly.unshift(workflowIds[index]);
156
+ content = renderGuide(projected, { examples: false, indexOnly });
157
+ }
158
+ const size = byteLength(content);
117
159
  return {
118
160
  status: 'ready',
119
- guide: { content, workflowIds: workflows.map((workflow) => workflow.id), byteLength },
161
+ guide: {
162
+ content,
163
+ workflowIds,
164
+ byteLength: size,
165
+ compaction: {
166
+ examplesOmitted: projected.skill.examples.length > 0,
167
+ detailOmittedFor: indexOnly,
168
+ withinBudget: size <= ASSISTANT_GUIDE_MAX_BYTES,
169
+ },
170
+ },
120
171
  };
121
172
  }
122
- function renderGuide(appPackage, workflows, retainedIds) {
173
+ function renderGuide(appPackage, shed) {
123
174
  const { skill } = appPackage;
175
+ const workflows = skill.workflows;
176
+ const indexOnly = new Set(shed.indexOnly);
124
177
  const surfaceTools = new Map(appPackage.surface.tools.map((tool) => [tool.name, tool]));
125
178
  const lines = [
126
179
  `Product purpose: ${oneLine(skill.description)}`,
@@ -129,6 +182,10 @@ function renderGuide(appPackage, workflows, retainedIds) {
129
182
  'Workflows:',
130
183
  ];
131
184
  for (const workflow of workflows) {
185
+ if (indexOnly.has(workflow.id)) {
186
+ lines.push(indexLine(workflow, surfaceTools));
187
+ continue;
188
+ }
132
189
  lines.push(`- ${oneLine(workflow.title)} (${workflow.id})`);
133
190
  if (workflow.intent)
134
191
  lines.push(` Intent: ${oneLine(workflow.intent)}`);
@@ -140,16 +197,44 @@ function renderGuide(appPackage, workflows, retainedIds) {
140
197
  lines.push(` ${index + 1}. Call tool ${JSON.stringify(step.capability.name)}${guidance}${behavior}`);
141
198
  });
142
199
  }
200
+ if (shed.indexOnly.length > 0) {
201
+ lines.push(`Detail omitted to fit the context budget for: ${shed.indexOnly.join(', ')}.`);
202
+ }
143
203
  if (skill.boundaries.length > 0) {
144
204
  lines.push('Boundaries:', ...skill.boundaries.map((value) => `- ${oneLine(value)}`));
145
205
  }
146
- const examples = skill.examples.filter((example) => retainedIds.has(example.workflow));
206
+ const examples = shed.examples ? skill.examples : [];
147
207
  if (examples.length > 0) {
148
208
  const titles = new Map(workflows.map((workflow) => [workflow.id, workflow.title]));
149
209
  lines.push('Examples:', ...examples.map((example) => `- “${oneLine(example.prompt)}” → ${oneLine(titles.get(example.workflow) ?? example.workflow)}`));
150
210
  }
151
211
  return lines.join('\n');
152
212
  }
213
+ /** One line that still tells the model when to use a workflow, which tools, and whether it writes. */
214
+ function indexLine(workflow, surfaceTools) {
215
+ const behaviors = workflow.steps.flatMap((step) => {
216
+ const behavior = step.behavior ?? surfaceTools.get(step.capability.name)?.behavior;
217
+ return behavior === undefined ? [] : [behavior];
218
+ });
219
+ const facts = [];
220
+ if (behaviors.length > 0) {
221
+ facts.push(behaviors.every((behavior) => behavior.readOnly) ? 'read only' : 'write');
222
+ if (behaviors.some((behavior) => behavior.confirmationRequired))
223
+ facts.push('confirmation required');
224
+ if (behaviors.some((behavior) => behavior.destructive))
225
+ facts.push('destructive');
226
+ }
227
+ const tools = [...new Set(workflow.steps.map((step) => JSON.stringify(step.capability.name)))];
228
+ return [
229
+ `- ${oneLine(workflow.title)} (${workflow.id})`,
230
+ ...(workflow.intent ? [` — ${oneLine(workflow.intent)}`] : []),
231
+ ` — tools ${tools.join(', ')}`,
232
+ ...(facts.length > 0 ? [` [${facts.join('; ')}]`] : []),
233
+ ].join('');
234
+ }
235
+ function byteLength(value) {
236
+ return Buffer.byteLength(value, 'utf8');
237
+ }
153
238
  function behaviorFacts(behavior) {
154
239
  if (!behavior)
155
240
  return [];
@@ -42,6 +42,7 @@ export declare class ChannelCoordinator {
42
42
  accountSid: string;
43
43
  phoneNumberSid: string;
44
44
  phoneNumber: string;
45
+ participantAccess?: "open" | "allowlist" | undefined;
45
46
  id: string;
46
47
  tenant: TenantRef;
47
48
  apiKeySecret: string;
@@ -111,6 +112,7 @@ export declare class ChannelCoordinator {
111
112
  accountSid: string;
112
113
  phoneNumberSid: string;
113
114
  phoneNumber: string;
115
+ participantAccess?: "open" | "allowlist" | undefined;
114
116
  id: string;
115
117
  tenant: TenantRef;
116
118
  apiKeySecret: string;
@@ -175,6 +177,7 @@ export declare class ChannelCoordinator {
175
177
  accountSid: string;
176
178
  phoneNumberSid: string;
177
179
  phoneNumber: string;
180
+ participantAccess?: "open" | "allowlist" | undefined;
178
181
  id: string;
179
182
  tenant: TenantRef;
180
183
  apiKeySecret: string;
@@ -211,6 +214,9 @@ export declare class ChannelCoordinator {
211
214
  readyRevision?: number | undefined;
212
215
  readyAt?: number | undefined;
213
216
  }>;
217
+ /** The phone is resolved to this binding's opaque participant id by the authenticated route. */
218
+ allowSmsParticipant(id: string, participantId: string, allowed: boolean, actor: string, key: string, revision: number): Promise<void>;
219
+ allowedSmsParticipants(id: string): Promise<string[]>;
214
220
  block(id: string, participantId: string, actor: string, key: string, until: number | null): Promise<void>;
215
221
  unblock(id: string, participantId: string, actor: string, key: string): Promise<void>;
216
222
  blocks(id: string, after?: string): Promise<ChannelBlock[]>;
@@ -247,6 +253,7 @@ export declare class ChannelCoordinator {
247
253
  accountSid: string;
248
254
  phoneNumberSid: string;
249
255
  phoneNumber: string;
256
+ participantAccess?: "open" | "allowlist" | undefined;
250
257
  id: string;
251
258
  tenant: TenantRef;
252
259
  apiKeySecret: string;
@@ -10,6 +10,11 @@ export async function requireChannel(tx, id) {
10
10
  return readChannelBinding(binding);
11
11
  }
12
12
  export async function channelBlocked(tx, id, participant, now) {
13
+ const binding = await requireChannel(tx, id);
14
+ if (binding.channel === 'sms' &&
15
+ binding.participantAccess === 'allowlist' &&
16
+ !(await channelValue(tx, id, `allow:${participant}`)))
17
+ return true;
13
18
  const block = await channelValue(tx, id, `block:${participant}`);
14
19
  const optout = await channelValue(tx, id, `optout:${participant}`);
15
20
  return optout?.blocked === true || (!!block && (block.until === null || block.until > now));
@@ -49,9 +54,17 @@ function configuredAsset(input) {
49
54
  throw new ChannelError('provider_configuration_invalid');
50
55
  return channelAssetKey('whatsapp', input.phoneNumberId);
51
56
  }
52
- function configuredBinding(input, id, state) {
57
+ function configuredBinding(input, id, prior, state) {
53
58
  if (input.channel === 'sms')
54
- return { ...input, id, provider: 'twilio', ...state };
59
+ return {
60
+ ...input,
61
+ id,
62
+ provider: 'twilio',
63
+ participantAccess: input.participantAccess ??
64
+ (prior?.channel === 'sms' ? prior.participantAccess : undefined) ??
65
+ 'open',
66
+ ...state,
67
+ };
55
68
  if (input.channel === 'instagram')
56
69
  return { ...input, id, provider: 'meta', ...state };
57
70
  const { provider, channel: _whatsapp, ...configured } = input;
@@ -115,7 +128,7 @@ export class ChannelCoordinator {
115
128
  if (owner && owner !== id)
116
129
  throw new ChannelError('asset_in_use');
117
130
  const now = this.now();
118
- const binding = configuredBinding(input, id, {
131
+ const binding = configuredBinding(input, id, existing, {
119
132
  revision: revision + 1,
120
133
  generation: (existing?.generation ?? 0) + 1,
121
134
  state: 'paused',
@@ -193,6 +206,48 @@ export class ChannelCoordinator {
193
206
  return publicChannelBinding(updated);
194
207
  }));
195
208
  }
209
+ /** The phone is resolved to this binding's opaque participant id by the authenticated route. */
210
+ async allowSmsParticipant(id, participantId, allowed, actor, key, revision) {
211
+ if (!/^p_[a-f0-9]{64}$/.test(participantId))
212
+ throw new ChannelError('participant_invalid');
213
+ await this.store.transaction([id], (tx) => mutation(tx, id, key, { participantId, allowed, actor, revision }, this.now(), async () => {
214
+ const binding = await requireChannel(tx, id);
215
+ if (binding.channel !== 'sms')
216
+ throw new ChannelError('channel_invalid');
217
+ if (binding.state !== 'paused')
218
+ throw new ChannelError('pause_before_participant_change');
219
+ if (binding.revision !== revision)
220
+ throw new ChannelError('revision_conflict');
221
+ if (binding.participantAccess !== 'allowlist')
222
+ throw new ChannelError('allowlist_not_enabled');
223
+ if (allowed &&
224
+ !(await tx.get(id, `allow:${participantId}`)) &&
225
+ (await tx.list(id, { kind: 'allow', limit: 100 })).length >= 100)
226
+ throw new ChannelError('participant_limit');
227
+ if (allowed)
228
+ await tx.put(id, channelRow(`allow:${participantId}`, 'allow', true, this.now()));
229
+ else
230
+ await tx.remove(id, `allow:${participantId}`);
231
+ await tx.put(id, channelBindingRow({
232
+ ...binding,
233
+ revision: revision + 1,
234
+ generation: binding.generation + 1,
235
+ readyAt: undefined,
236
+ readyRevision: undefined,
237
+ actor,
238
+ updatedAt: this.now(),
239
+ }, this.now()));
240
+ return null;
241
+ }));
242
+ }
243
+ async allowedSmsParticipants(id) {
244
+ return this.store.transaction([id], async (tx) => {
245
+ const binding = await requireChannel(tx, id);
246
+ if (binding.channel !== 'sms')
247
+ throw new ChannelError('channel_invalid');
248
+ return (await tx.list(id, { kind: 'allow', limit: 100 })).map((row) => row.id.slice(6));
249
+ });
250
+ }
196
251
  async block(id, participantId, actor, key, until) {
197
252
  if (!/^p_[a-f0-9]{64}$/.test(participantId) ||
198
253
  (until !== null && (!Number.isSafeInteger(until) || until <= this.now())))
@@ -1,7 +1,7 @@
1
1
  /** Private channel journal. Each binding is a transaction/lease authority, not a browser session. */
2
2
  export interface ChannelRow {
3
3
  readonly id: string;
4
- readonly kind: 'binding' | 'asset' | 'participant' | 'event' | 'counter' | 'spend' | 'block' | 'optout' | 'mutation' | 'interaction';
4
+ readonly kind: 'binding' | 'asset' | 'participant' | 'event' | 'counter' | 'spend' | 'block' | 'allow' | 'optout' | 'mutation' | 'interaction';
5
5
  readonly state?: string;
6
6
  readonly updatedAt: number;
7
7
  readonly expiresAt?: number;
@@ -74,6 +74,8 @@ export interface SmsBinding extends ChannelBindingBase {
74
74
  readonly accountSid: string;
75
75
  readonly phoneNumberSid: string;
76
76
  readonly phoneNumber: string;
77
+ /** Absent on pre-alpha rows and treated as open for compatibility. */
78
+ readonly participantAccess?: 'open' | 'allowlist' | undefined;
77
79
  }
78
80
  export type ChannelBinding = WhatsAppBinding | InstagramBinding | SmsBinding;
79
81
  type ChannelConfigureBase = Pick<ChannelBindingBase, 'tenant' | 'apiKeySecret' | 'deploymentId' | 'capabilities' | 'supportEmail'> & {
@@ -86,7 +88,7 @@ export type WhatsAppConfigure = ChannelConfigureBase & Pick<WhatsAppBinding, 'ph
86
88
  readonly provider?: ChannelProvider | undefined;
87
89
  };
88
90
  export type InstagramConfigure = ChannelConfigureBase & Pick<InstagramBinding, 'channel' | 'instagramAccountId' | 'pageId'>;
89
- export type SmsConfigure = ChannelConfigureBase & Pick<SmsBinding, 'channel' | 'accountSid' | 'phoneNumberSid' | 'phoneNumber'>;
91
+ export type SmsConfigure = ChannelConfigureBase & Pick<SmsBinding, 'channel' | 'accountSid' | 'phoneNumberSid' | 'phoneNumber' | 'participantAccess'>;
90
92
  export type ChannelConfigure = WhatsAppConfigure | InstagramConfigure | SmsConfigure;
91
93
  export interface ChannelAddress {
92
94
  readonly kind: 'phone' | 'opaque';
@@ -195,6 +197,7 @@ export declare function publicChannelBinding(binding: ChannelBinding): {
195
197
  accountSid: string;
196
198
  phoneNumberSid: string;
197
199
  phoneNumber: string;
200
+ participantAccess?: "open" | "allowlist" | undefined;
198
201
  id: string;
199
202
  tenant: TenantRef;
200
203
  apiKeySecret: string;
@@ -86,32 +86,48 @@ export const CHANNELS_COMMAND = {
86
86
  arguments: [],
87
87
  flags: [],
88
88
  subcommands: [
89
- group('sms', 'Configure a Twilio SMS number and control two-way text messaging.', operations(leaf('configure', 'Save a paused SMS binding using a managed Twilio Auth Token reference.', [
90
- revision,
91
- ...mutation,
92
- flag('account-sid', 'Twilio Account SID (AC...).'),
93
- flag('phone-number-sid', 'Twilio IncomingPhoneNumber SID (PN...).'),
94
- flag('phone-number', 'Business sending number in E.164 format.'),
95
- flag('api-key-secret', 'Managed secret name for the Twilio account Auth Token.'),
96
- flag('capabilities', 'Comma-separated knowledge:name or tool:name selections.'),
97
- flag('support-email', 'Contact shown when an answer cannot be completed.'),
98
- ...limits,
99
- ]), [
100
- leaf('block', 'Block locally; Twilio opt-outs remain separately enforced.', [
101
- participant,
102
- blockScope,
103
- flag('phone-stdin', 'Read a phone number securely from standard input.', 'boolean'),
104
- flag('until', 'Expiry as an ISO timestamp.'),
105
- flag('indefinite', 'Retain this block until removed.', 'boolean'),
89
+ group('sms', 'Configure a Twilio SMS number and control two-way text messaging.', [
90
+ ...operations(leaf('configure', 'Save a paused SMS binding using a managed Twilio Auth Token reference.', [
91
+ revision,
106
92
  ...mutation,
93
+ flag('account-sid', 'Twilio Account SID (AC...).'),
94
+ flag('phone-number-sid', 'Twilio IncomingPhoneNumber SID (PN...).'),
95
+ flag('phone-number', 'Business sending number in E.164 format.'),
96
+ flag('participant-access', 'open (default) or allowlist for a private test.'),
97
+ flag('api-key-secret', 'Managed secret name for the Twilio account Auth Token.'),
98
+ flag('capabilities', 'Comma-separated knowledge:name or tool:name selections.'),
99
+ flag('support-email', 'Contact shown when an answer cannot be completed.'),
100
+ ...limits,
101
+ ]), [
102
+ leaf('block', 'Block locally; Twilio opt-outs remain separately enforced.', [
103
+ participant,
104
+ blockScope,
105
+ flag('phone-stdin', 'Read a phone number securely from standard input.', 'boolean'),
106
+ flag('until', 'Expiry as an ISO timestamp.'),
107
+ flag('indefinite', 'Retain this block until removed.', 'boolean'),
108
+ ...mutation,
109
+ ]),
110
+ leaf('unblock', 'Remove a local block; does not override a recipient opt-out.', [
111
+ participant,
112
+ blockScope,
113
+ flag('phone-stdin', 'Supply the number if retained context expired.', 'boolean'),
114
+ ...mutation,
115
+ ]),
107
116
  ]),
108
- leaf('unblock', 'Remove a local block; does not override a recipient opt-out.', [
109
- participant,
110
- blockScope,
111
- flag('phone-stdin', 'Supply the number if retained context expired.', 'boolean'),
112
- ...mutation,
117
+ group('participants', 'Manage binding-scoped SMS test participants while paused.', [
118
+ leaf('list', 'List opaque allowed participant identifiers.'),
119
+ leaf('allow', 'Allow one E.164 number read from standard input.', [
120
+ flag('phone-stdin', 'Read the test number securely from standard input.', 'boolean'),
121
+ revision,
122
+ ...mutation,
123
+ ]),
124
+ leaf('remove', 'Remove an allowed participant by opaque identifier.', [
125
+ participant,
126
+ revision,
127
+ ...mutation,
128
+ ]),
113
129
  ]),
114
- ])),
130
+ ]),
115
131
  group('whatsapp', 'Configure a 360dialog or Meta Cloud API number, test readiness, and control public messaging.', operations(leaf('configure', 'Save a paused binding using managed secret references.', [
116
132
  revision,
117
133
  ...mutation,
@@ -123,6 +123,11 @@ export class WhatsAppRuntime {
123
123
  if (!this.options.worker.ready())
124
124
  throw new ChannelError('worker_unavailable');
125
125
  });
126
+ if (binding.channel === 'sms' && binding.participantAccess === 'allowlist')
127
+ await check('private_participants', async () => {
128
+ if (!(await this.channels.allowedSmsParticipants(id)).length)
129
+ throw new ChannelError('no_allowed_participants');
130
+ });
126
131
  let target;
127
132
  await check('deployment', async () => {
128
133
  target = await this.target(binding);
@@ -203,6 +208,9 @@ export class WhatsAppRuntime {
203
208
  bindingId: binding.id,
204
209
  revision: binding.revision,
205
210
  capabilities: binding.capabilities.map((cap) => `${cap.kind}:${cap.name}`),
211
+ ...(binding.provider === 'twilio'
212
+ ? { participantAccess: binding.participantAccess ?? 'open' }
213
+ : {}),
206
214
  };
207
215
  if (binding.state !== 'enabled')
208
216
  return { ...view, status: 'paused' };
@@ -71,11 +71,18 @@ export async function runAgentTurn(target, session, message, context, deps, emit
71
71
  modelTools,
72
72
  });
73
73
  if (guideProjection.status === 'unavailable' &&
74
- (guideProjection.reason === 'context_too_large' ||
75
- (guideProjection.reason === 'package_unavailable' &&
76
- target.served.appPackageSnapshot !== undefined))) {
74
+ guideProjection.reason === 'package_unavailable' &&
75
+ target.served.appPackageSnapshot !== undefined) {
77
76
  deps.logger?.warn('assistant.guide.unavailable', { reason: guideProjection.reason });
78
77
  }
78
+ // Operators see this through `noodle assistant doctor`; the log keeps a per-turn trace.
79
+ if (guideProjection.status === 'ready' && guideProjection.guide.compaction !== undefined) {
80
+ deps.logger?.warn('assistant.guide.compacted', {
81
+ byteLength: guideProjection.guide.byteLength,
82
+ detailOmitted: guideProjection.guide.compaction.detailOmittedFor.length,
83
+ withinBudget: guideProjection.guide.compaction.withinBudget,
84
+ });
85
+ }
79
86
  const guideContext = assistantGuideModelContext(guideProjection);
80
87
  const contextProvider = await resolveAssistantContextProviderModelResult({
81
88
  artifact: target.served.artifact,
@@ -1,6 +1,6 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { probeAssistantModelBoundary } from '@noodle-borg/assistant-gateway/model-runtime';
3
- import { assistantCustomerIssuer, completeElevation, publicSurfaceOf, } from '@noodle-borg/assistant-gateway/portable';
3
+ import { assistantCustomerIssuer, assistantGuideDiagnostic, completeElevation, publicSurfaceOf, } from '@noodle-borg/assistant-gateway/portable';
4
4
  import { guardedFetch } from '@noodle-borg/connector-http';
5
5
  import { tenantMcpUrl } from '@noodle-borg/module';
6
6
  import { readJsonBody, sendJson } from '@noodle-borg/transport-http';
@@ -170,6 +170,9 @@ export async function handleAssistantDoctor(req, res, tenant, deps) {
170
170
  model,
171
171
  elevation,
172
172
  delegatedCredentials,
173
+ guide: target
174
+ ? assistantGuideDiagnostic(target.served.appPackageSnapshot?.artifact, target.served.artifact)
175
+ : { ok: true, skipped: true, reason: 'package_unavailable' },
173
176
  };
174
177
  return sendJson(res, 200, {
175
178
  ok: Object.values(checks).every((check) => check.ok),
@@ -183,6 +183,27 @@ async function operate(req, res, url, tenant, channel, path, runtime, grants) {
183
183
  await audit('limits_changed');
184
184
  return respond(res, bindingSchema, updated);
185
185
  }
186
+ if (channel === 'sms' && path === 'participants' && read)
187
+ return respond(res, wire.SmsParticipantsResponseSchema, await channels.allowedSmsParticipants(id));
188
+ if (channel === 'sms' && path === 'participants' && req.method === 'POST') {
189
+ const parsed = await body(req, wire.SmsParticipantRequestSchema);
190
+ const participantId = channelParticipantId(await channels.internal(id), {
191
+ kind: 'phone',
192
+ value: parsed.phone,
193
+ });
194
+ await channels.allowSmsParticipant(id, participantId, true, identity.subject, idempotency, parsed.expectedRevision);
195
+ await audit('participant_allowed');
196
+ return respond(res, wire.SmsParticipantResponseSchema, { participantId });
197
+ }
198
+ if (channel === 'sms' && path.startsWith('participants/') && req.method === 'DELETE') {
199
+ const participantId = path.slice('participants/'.length);
200
+ if (!participant.test(participantId))
201
+ throw new ChannelError('request_invalid');
202
+ const parsed = await body(req, wire.SmsParticipantRemoveRequestSchema);
203
+ await channels.allowSmsParticipant(id, participantId, false, identity.subject, idempotency, parsed.expectedRevision);
204
+ await audit('participant_removed');
205
+ return respond(res, wire.SmsParticipantResponseSchema, { participantId });
206
+ }
186
207
  if (path === 'usage' && read)
187
208
  return respond(res, wire.WhatsAppUsageResponseSchema, await channels.usage(id));
188
209
  if (path === 'webhook' && (read || req.method === 'POST')) {
@@ -44,6 +44,10 @@ export declare const ApplicationChannelsProjectionSchema: z.ZodObject<{
44
44
  ready: "ready";
45
45
  paused: "paused";
46
46
  }>;
47
+ participantAccess: z.ZodOptional<z.ZodEnum<{
48
+ open: "open";
49
+ allowlist: "allowlist";
50
+ }>>;
47
51
  bindingId: z.ZodOptional<z.ZodString>;
48
52
  revision: z.ZodOptional<z.ZodNumber>;
49
53
  capabilities: z.ZodArray<z.ZodString>;
@@ -55,6 +59,10 @@ export declare const ApplicationChannelsProjectionSchema: z.ZodObject<{
55
59
  ready: "ready";
56
60
  paused: "paused";
57
61
  }>;
62
+ participantAccess: z.ZodOptional<z.ZodEnum<{
63
+ open: "open";
64
+ allowlist: "allowlist";
65
+ }>>;
58
66
  bindingId: z.ZodOptional<z.ZodString>;
59
67
  revision: z.ZodOptional<z.ZodNumber>;
60
68
  capabilities: z.ZodArray<z.ZodString>;
@@ -66,6 +74,10 @@ export declare const ApplicationChannelsProjectionSchema: z.ZodObject<{
66
74
  ready: "ready";
67
75
  paused: "paused";
68
76
  }>;
77
+ participantAccess: z.ZodOptional<z.ZodEnum<{
78
+ open: "open";
79
+ allowlist: "allowlist";
80
+ }>>;
69
81
  bindingId: z.ZodOptional<z.ZodString>;
70
82
  revision: z.ZodOptional<z.ZodNumber>;
71
83
  capabilities: z.ZodArray<z.ZodString>;
@@ -120,6 +132,10 @@ export declare const ApplicationChannelsResponseSchema: z.ZodObject<{
120
132
  ready: "ready";
121
133
  paused: "paused";
122
134
  }>;
135
+ participantAccess: z.ZodOptional<z.ZodEnum<{
136
+ open: "open";
137
+ allowlist: "allowlist";
138
+ }>>;
123
139
  bindingId: z.ZodOptional<z.ZodString>;
124
140
  revision: z.ZodOptional<z.ZodNumber>;
125
141
  capabilities: z.ZodArray<z.ZodString>;
@@ -131,6 +147,10 @@ export declare const ApplicationChannelsResponseSchema: z.ZodObject<{
131
147
  ready: "ready";
132
148
  paused: "paused";
133
149
  }>;
150
+ participantAccess: z.ZodOptional<z.ZodEnum<{
151
+ open: "open";
152
+ allowlist: "allowlist";
153
+ }>>;
134
154
  bindingId: z.ZodOptional<z.ZodString>;
135
155
  revision: z.ZodOptional<z.ZodNumber>;
136
156
  capabilities: z.ZodArray<z.ZodString>;
@@ -142,6 +162,10 @@ export declare const ApplicationChannelsResponseSchema: z.ZodObject<{
142
162
  ready: "ready";
143
163
  paused: "paused";
144
164
  }>;
165
+ participantAccess: z.ZodOptional<z.ZodEnum<{
166
+ open: "open";
167
+ allowlist: "allowlist";
168
+ }>>;
145
169
  bindingId: z.ZodOptional<z.ZodString>;
146
170
  revision: z.ZodOptional<z.ZodNumber>;
147
171
  capabilities: z.ZodArray<z.ZodString>;
@@ -172,6 +196,10 @@ export declare const ApplicationChannelsClientResponseSchema: z.ZodObject<{
172
196
  ready: "ready";
173
197
  paused: "paused";
174
198
  }>;
199
+ participantAccess: z.ZodOptional<z.ZodEnum<{
200
+ open: "open";
201
+ allowlist: "allowlist";
202
+ }>>;
175
203
  bindingId: z.ZodOptional<z.ZodString>;
176
204
  revision: z.ZodOptional<z.ZodNumber>;
177
205
  capabilities: z.ZodArray<z.ZodString>;
@@ -183,6 +211,10 @@ export declare const ApplicationChannelsClientResponseSchema: z.ZodObject<{
183
211
  ready: "ready";
184
212
  paused: "paused";
185
213
  }>;
214
+ participantAccess: z.ZodOptional<z.ZodEnum<{
215
+ open: "open";
216
+ allowlist: "allowlist";
217
+ }>>;
186
218
  bindingId: z.ZodOptional<z.ZodString>;
187
219
  revision: z.ZodOptional<z.ZodNumber>;
188
220
  capabilities: z.ZodArray<z.ZodString>;
@@ -194,6 +226,10 @@ export declare const ApplicationChannelsClientResponseSchema: z.ZodObject<{
194
226
  ready: "ready";
195
227
  paused: "paused";
196
228
  }>;
229
+ participantAccess: z.ZodOptional<z.ZodEnum<{
230
+ open: "open";
231
+ allowlist: "allowlist";
232
+ }>>;
197
233
  bindingId: z.ZodOptional<z.ZodString>;
198
234
  revision: z.ZodOptional<z.ZodNumber>;
199
235
  capabilities: z.ZodArray<z.ZodString>;
@@ -42,6 +42,7 @@ const assistant = z
42
42
  /** One messaging channel (WhatsApp, Instagram, SMS) of the application, without provider identifiers. */
43
43
  const messaging = z.strictObject({
44
44
  status,
45
+ participantAccess: z.enum(['open', 'allowlist']).optional(),
45
46
  bindingId: z.string().max(256).optional(),
46
47
  revision: z.number().int().positive().optional(),
47
48
  capabilities: z.array(z.string().max(256)).max(64),
@@ -9,6 +9,10 @@ export declare const SmsConfigureRequestSchema: z.ZodObject<{
9
9
  name: z.ZodString;
10
10
  }, z.core.$strict>>;
11
11
  supportEmail: z.ZodEmail;
12
+ participantAccess: z.ZodOptional<z.ZodEnum<{
13
+ open: "open";
14
+ allowlist: "allowlist";
15
+ }>>;
12
16
  limits: z.ZodOptional<z.ZodObject<{
13
17
  perMinute: z.ZodOptional<z.ZodNumber>;
14
18
  perHour: z.ZodOptional<z.ZodNumber>;
@@ -72,6 +76,27 @@ export declare const SmsBindingSchema: z.ZodObject<{
72
76
  phoneNumber: z.ZodString;
73
77
  channel: z.ZodLiteral<"sms">;
74
78
  provider: z.ZodLiteral<"twilio">;
79
+ participantAccess: z.ZodOptional<z.ZodEnum<{
80
+ open: "open";
81
+ allowlist: "allowlist";
82
+ }>>;
83
+ }, z.core.$strict>;
84
+ export declare const SmsParticipantRequestSchema: z.ZodObject<{
85
+ expectedRevision: z.ZodNumber;
86
+ phone: z.ZodString;
87
+ }, z.core.$strict>;
88
+ export declare const SmsParticipantRemoveRequestSchema: z.ZodObject<{
89
+ expectedRevision: z.ZodNumber;
90
+ }, z.core.$strict>;
91
+ export declare const SmsParticipantsResponseSchema: z.ZodObject<{
92
+ ok: z.ZodLiteral<true>;
93
+ data: z.ZodArray<z.ZodString>;
94
+ }, z.core.$strict>;
95
+ export declare const SmsParticipantResponseSchema: z.ZodObject<{
96
+ ok: z.ZodLiteral<true>;
97
+ data: z.ZodObject<{
98
+ participantId: z.ZodString;
99
+ }, z.core.$strict>;
75
100
  }, z.core.$strict>;
76
101
  export declare const SmsBindingResponseSchema: z.ZodObject<{
77
102
  ok: z.ZodLiteral<true>;
@@ -121,6 +146,10 @@ export declare const SmsBindingResponseSchema: z.ZodObject<{
121
146
  phoneNumber: z.ZodString;
122
147
  channel: z.ZodLiteral<"sms">;
123
148
  provider: z.ZodLiteral<"twilio">;
149
+ participantAccess: z.ZodOptional<z.ZodEnum<{
150
+ open: "open";
151
+ allowlist: "allowlist";
152
+ }>>;
124
153
  }, z.core.$strict>>;
125
154
  }, z.core.$strict>;
126
155
  export declare const SmsBindingClientResponseSchema: z.ZodObject<{
@@ -147,6 +176,10 @@ export declare const SmsBindingClientResponseSchema: z.ZodObject<{
147
176
  phoneNumber: z.ZodString;
148
177
  channel: z.ZodLiteral<"sms">;
149
178
  provider: z.ZodLiteral<"twilio">;
179
+ participantAccess: z.ZodOptional<z.ZodEnum<{
180
+ open: "open";
181
+ allowlist: "allowlist";
182
+ }>>;
150
183
  tenant: z.ZodObject<{
151
184
  org: z.ZodString;
152
185
  app: z.ZodString;
@@ -12,6 +12,7 @@ export const SmsConfigureRequestSchema = z.strictObject({
12
12
  apiKeySecret: shape.apiKeySecret,
13
13
  capabilities: shape.capabilities.max(64),
14
14
  supportEmail: z.email().max(254),
15
+ participantAccess: z.enum(['open', 'allowlist']).optional(),
15
16
  limits: WhatsAppLimitsSchema.partial().optional(),
16
17
  });
17
18
  export const SmsBindingSchema = WhatsAppBindingSchema.omit({
@@ -22,8 +23,25 @@ export const SmsBindingSchema = WhatsAppBindingSchema.omit({
22
23
  }).extend({
23
24
  channel: z.literal('sms'),
24
25
  provider: z.literal('twilio'),
26
+ participantAccess: z.enum(['open', 'allowlist']).optional(),
25
27
  ...asset,
26
28
  });
29
+ const participantId = z.string().regex(/^p_[a-f0-9]{64}$/);
30
+ export const SmsParticipantRequestSchema = z.strictObject({
31
+ expectedRevision: shape.revision,
32
+ phone: z.string().regex(/^\+[1-9]\d{5,14}$/),
33
+ });
34
+ export const SmsParticipantRemoveRequestSchema = z.strictObject({
35
+ expectedRevision: shape.revision,
36
+ });
37
+ export const SmsParticipantsResponseSchema = z.strictObject({
38
+ ok: z.literal(true),
39
+ data: z.array(participantId).max(100),
40
+ });
41
+ export const SmsParticipantResponseSchema = z.strictObject({
42
+ ok: z.literal(true),
43
+ data: z.strictObject({ participantId }),
44
+ });
27
45
  export const SmsBindingResponseSchema = z.strictObject({
28
46
  ok: z.literal(true),
29
47
  data: SmsBindingSchema.nullable(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodleseed/one",
3
- "version": "0.190.2",
3
+ "version": "0.191.0",
4
4
  "private": false,
5
5
  "description": "Noodle CLI by Noodle Seed — author, run, and deploy declarative MCP servers. Embedding the assistant in your own web app is @noodleseed/assistant.",
6
6
  "license": "Apache-2.0",