@noodleseed/one 0.169.0 → 0.171.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/capabilities.d.ts +19 -0
- package/dist/commands/capabilities.d.ts.map +1 -0
- package/dist/commands/capabilities.js +128 -0
- package/dist/commands/capabilities.js.map +1 -0
- package/dist/commands/catalog.d.ts.map +1 -1
- package/dist/commands/catalog.js +2 -1
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/whatsapp-ops.d.ts +13 -0
- package/dist/commands/whatsapp-ops.d.ts.map +1 -0
- package/dist/commands/whatsapp-ops.js +244 -0
- package/dist/commands/whatsapp-ops.js.map +1 -0
- package/dist/commands/whatsapp-output.d.ts +3 -0
- package/dist/commands/whatsapp-output.d.ts.map +1 -0
- package/dist/commands/whatsapp-output.js +70 -0
- package/dist/commands/whatsapp-output.js.map +1 -0
- package/dist/dev.js +2 -0
- package/dist/dev.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin-mode/plugin-operation-contract.d.ts +3 -3
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +8 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +2 -2
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +5 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +3 -2
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +6 -0
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/app-audit/dist/audit-embedded-assistant.js +2 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-configuration.js +2 -1
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-interactive.d.ts +1 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-interactive.js +4 -1
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-model-context.js +9 -4
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-turn-context.d.ts +16 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-turn-context.js +19 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.d.ts +145 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.js +378 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-inbox.js +160 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-provider-blocks.d.ts +18 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-provider-blocks.js +69 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-spend.js +82 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-store.d.ts +42 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-store.js +76 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-types.d.ts +134 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-types.js +72 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-work.d.ts +20 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/channel-work.js +221 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/messaging-tool-dispatch.d.ts +15 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/messaging-tool-dispatch.js +34 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/model-request.d.ts +19 -1
- package/node_modules/@noodle-borg/assistant-gateway/dist/model-request.js +22 -6
- package/node_modules/@noodle-borg/assistant-gateway/dist/portable.d.ts +7 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/portable.js +7 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-appearance-store.js +83 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-elevation.js +151 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-interaction-writes.js +45 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-interactions.js +340 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant.js +439 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-channel-store.js +102 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-continuity-store.js +159 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-elevation-store.js +110 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-embed-store.js +134 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/postgres.js +11 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/public-surface.d.ts +8 -0
- package/node_modules/@noodle-borg/assistant-gateway/dist/public-surface.js +23 -0
- package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts +19 -4
- package/node_modules/@noodle-borg/authoring/dist/assistant.js +51 -20
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -1
- package/node_modules/@noodle-borg/authoring/dist/index.js +2 -1
- package/node_modules/@noodle-borg/authoring/dist/load-authored.js +1 -1
- package/node_modules/@noodle-borg/authoring/dist/recording.d.ts +2 -1
- package/node_modules/@noodle-borg/authoring/dist/recording.js +29 -1
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts +3 -0
- package/node_modules/@noodle-borg/authoring/dist/server.js +5 -1
- package/node_modules/@noodle-borg/authoring/dist/web-capabilities.d.ts +17 -0
- package/node_modules/@noodle-borg/authoring/dist/web-capabilities.js +15 -0
- package/node_modules/@noodle-borg/authoring/package.json +1 -0
- package/node_modules/@noodle-borg/capabilities/dist/index.js +7 -0
- package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-channels.js +121 -0
- package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-hosted-observability.js +102 -0
- package/node_modules/@noodle-borg/cli-catalog/dist/index.js +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.js +3 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/config.js +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +2 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.d.ts +2 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.js +2 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.js +2 -0
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js +18 -3
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +106 -12
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +60 -29
- package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.d.ts +1 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.js +19 -0
- package/node_modules/@noodle-borg/compiler/dist/web-capabilities.js +55 -0
- package/node_modules/@noodle-borg/compiler/package.json +1 -0
- package/node_modules/@noodle-borg/connector-http/dist/ssrf.js +5 -0
- package/node_modules/@noodle-borg/knowledge-crawl/dist/bounded-body.js +38 -0
- package/node_modules/@noodle-borg/knowledge-crawl/dist/first-party.js +2 -3
- package/node_modules/@noodle-borg/knowledge-crawl/dist/html-text.js +10 -2
- package/node_modules/@noodle-borg/knowledge-crawl/dist/index.d.ts +1 -0
- package/node_modules/@noodle-borg/knowledge-crawl/dist/index.js +1 -0
- package/node_modules/@noodle-borg/knowledge-crawl/dist/page-reader.d.ts +26 -0
- package/node_modules/@noodle-borg/knowledge-crawl/dist/page-reader.js +127 -0
- package/node_modules/@noodle-borg/knowledge-crawl/dist/robots.js +48 -23
- package/node_modules/@noodle-borg/knowledge-crawl/package.json +1 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/budget.d.ts +29 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/budget.js +124 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/contracts.d.ts +212 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/contracts.js +113 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/errors.d.ts +8 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/errors.js +21 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/executor.d.ts +26 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/executor.js +156 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/limits.d.ts +15 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/limits.js +15 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/operator-contracts.d.ts +159 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/operator-contracts.js +69 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/operator-route.d.ts +5 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/operator-route.js +160 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/policy-store.d.ts +34 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/policy-store.js +61 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/portable.d.ts +10 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/portable.js +10 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/service.d.ts +83 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/service.js +139 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/urls.d.ts +3 -0
- package/node_modules/@noodle-borg/managed-capabilities/dist/urls.js +30 -0
- package/node_modules/@noodle-borg/managed-capabilities/package.json +49 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +11 -0
- package/node_modules/@noodle-borg/module-audit/dist/index.js +37 -0
- package/node_modules/@noodle-borg/module-audit/dist/postgres-audit.js +126 -0
- package/node_modules/@noodle-borg/module-audit/dist/route.js +66 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js +29 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +2 -0
- package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +3 -0
- package/node_modules/@noodle-borg/runtime/dist/execute.js +6 -1
- package/node_modules/@noodle-borg/runtime/dist/index.d.ts +2 -1
- package/node_modules/@noodle-borg/runtime/dist/index.js +2 -1
- package/node_modules/@noodle-borg/runtime/dist/interactive.js +10 -1
- package/node_modules/@noodle-borg/runtime/dist/managed-origins.js +8 -4
- package/node_modules/@noodle-borg/runtime/dist/operation-execution.js +3 -0
- package/node_modules/@noodle-borg/runtime/dist/postgres-state-handles.js +311 -0
- package/node_modules/@noodle-borg/runtime/dist/postgres.js +4 -0
- package/node_modules/@noodle-borg/runtime/dist/result-meta.d.ts +2 -0
- package/node_modules/@noodle-borg/runtime/dist/result-meta.js +6 -0
- package/node_modules/@noodle-borg/runtime/dist/result.d.ts +4 -0
- package/node_modules/@noodle-borg/runtime/dist/web-capabilities.d.ts +71 -0
- package/node_modules/@noodle-borg/runtime/dist/web-capabilities.js +41 -0
- package/node_modules/@noodle-borg/runtime/package.json +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-composition.js +18 -0
- package/node_modules/@noodle-borg/service/dist/build-info.js +5 -2
- package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-coordinator.js +7 -0
- package/node_modules/@noodle-borg/service/dist/channels/360dialog.js +233 -0
- package/node_modules/@noodle-borg/service/dist/channels/cipher.js +37 -0
- package/node_modules/@noodle-borg/service/dist/channels/composition.js +37 -0
- package/node_modules/@noodle-borg/service/dist/channels/inference-guard.js +53 -0
- package/node_modules/@noodle-borg/service/dist/channels/runtime.js +337 -0
- package/node_modules/@noodle-borg/service/dist/channels/worker-loop.js +50 -0
- package/node_modules/@noodle-borg/service/dist/local-options.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/local-web-capabilities.js +13 -0
- package/node_modules/@noodle-borg/service/dist/mcp-protocol-runtime.js +21 -0
- package/node_modules/@noodle-borg/service/dist/modules/route-dispatch.js +13 -0
- package/node_modules/@noodle-borg/service/dist/registry-compile.js +3 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/registry.js +3 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js +66 -35
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js +7 -4
- package/node_modules/@noodle-borg/service/dist/routes/assistant-model-binding.js +6 -2
- package/node_modules/@noodle-borg/service/dist/routes/business-information-channels.js +14 -1
- package/node_modules/@noodle-borg/service/dist/routes/whatsapp.js +238 -0
- package/node_modules/@noodle-borg/service/dist/serve-local.js +14 -0
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js +10 -0
- package/node_modules/@noodle-borg/service/dist/service.js +37 -33
- package/node_modules/@noodle-borg/service/dist/web-capabilities.js +39 -0
- package/node_modules/@noodle-borg/service/package.json +3 -1
- package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.d.ts +33 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.js +9 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +2 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/index.js +2 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/service-info.d.ts +2 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/service-info.js +10 -2
- package/node_modules/@noodle-borg/wire-contracts/dist/whatsapp.d.ts +426 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/whatsapp.js +213 -0
- package/node_modules/@noodle-borg/wire-contracts/package.json +1 -0
- package/package.json +3 -2
|
@@ -2,6 +2,7 @@ import { InMemoryDailyCounterStore } from '@noodle-borg/admission-limits/portabl
|
|
|
2
2
|
import { InMemoryAssistantAppearanceSettingsStore, InMemoryAssistantStore, } from '@noodle-borg/assistant-gateway/portable';
|
|
3
3
|
import { allowAllGate, InMemoryControlPlaneStore } from '@noodle-borg/control-plane/portable';
|
|
4
4
|
import { dispatchKnowledgeRequest } from '@noodle-borg/knowledge-operations/portable';
|
|
5
|
+
import { capabilityOperatorRoute } from '@noodle-borg/managed-capabilities';
|
|
5
6
|
import { OPENAI_APPS_CHALLENGE_PATH } from '@noodle-borg/module';
|
|
6
7
|
import { applySecurityHeaders, createMcpRouter, enforceHttps, noopLogger, sendJson, } from '@noodle-borg/transport-http';
|
|
7
8
|
import { AnonymousConsumerLimiter, createAdmissionGate } from './admission.js';
|
|
@@ -10,9 +11,11 @@ import { createApplicationServingRuntime } from './application-runtime-target.js
|
|
|
10
11
|
import { createArchivePreflight } from './archive-preflight.js';
|
|
11
12
|
import { ArchiveSweeper, resolveArchiveRetentionDays } from './archive-sweeper.js';
|
|
12
13
|
import { serveLocalAsset } from './assets.js';
|
|
14
|
+
import { assistantRouteDependencies } from './assistant-composition.js';
|
|
13
15
|
import { resolveBuildInfo, serviceInfoPayload } from './build-info.js';
|
|
14
16
|
import { createBusinessInformationRuntime, resolvePrivateInstallationDefinition, } from './business-information-runtime.js';
|
|
15
17
|
import { serviceCapabilityReport } from './capabilities.js';
|
|
18
|
+
import { createWhatsAppRuntime } from './channels/composition.js';
|
|
16
19
|
import { rejectIncompatibleCli } from './client-compatibility.js';
|
|
17
20
|
import { createDataPlaneMembershipAuthorizer } from './data-plane-membership.js';
|
|
18
21
|
import { DEVELOPER_MCP_PATH, handleDeveloperMcpRequest } from './developer-mcp/mount.js';
|
|
@@ -49,6 +52,7 @@ import { dispatchProtectedResourceMetadata } from './routes/protected-resource-m
|
|
|
49
52
|
import { dispatchResourceReads } from './routes/resource-read-dispatch.js';
|
|
50
53
|
import { handleRollback } from './routes/rollback.js';
|
|
51
54
|
import { createServicePrincipalDispatcher } from './routes/service-principals-dispatch.js';
|
|
55
|
+
import { dispatchWhatsAppRoutes } from './routes/whatsapp.js';
|
|
52
56
|
import { servicePrincipalDataPlaneHooks } from './service-principal-data-plane.js';
|
|
53
57
|
import { InMemoryAlertRuleStore } from './store/alert-rules.js';
|
|
54
58
|
import { StdoutAuditSink } from './store/audit.js';
|
|
@@ -163,7 +167,12 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
163
167
|
});
|
|
164
168
|
archiveSweeper.maybeSweep();
|
|
165
169
|
const moduleRouteDeps = {
|
|
166
|
-
routes:
|
|
170
|
+
routes: [
|
|
171
|
+
...moduleHost.routes,
|
|
172
|
+
...(options.capabilities === undefined
|
|
173
|
+
? []
|
|
174
|
+
: [capabilityOperatorRoute(options.capabilities)]),
|
|
175
|
+
],
|
|
167
176
|
logger,
|
|
168
177
|
gate,
|
|
169
178
|
controlPlane,
|
|
@@ -175,6 +184,23 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
175
184
|
? {}
|
|
176
185
|
: { developerGrants: options.developerGrantStore }),
|
|
177
186
|
};
|
|
187
|
+
const assistantDeps = assistantRouteDependencies(options, {
|
|
188
|
+
registry,
|
|
189
|
+
resolveRuntimeTarget,
|
|
190
|
+
store: assistantStore,
|
|
191
|
+
appearance: assistantAppearance,
|
|
192
|
+
gate,
|
|
193
|
+
controlPlane,
|
|
194
|
+
audit: activeAudit,
|
|
195
|
+
maxBody,
|
|
196
|
+
serviceBase: (request) => options.publicBaseUrl ?? baseFromRequest(request, tls),
|
|
197
|
+
logger,
|
|
198
|
+
});
|
|
199
|
+
const whatsapp = createWhatsAppRuntime(options.whatsapp, assistantDeps, {
|
|
200
|
+
allowance: moduleHost.resolveActivityHistoryAllowance,
|
|
201
|
+
installations: businessInformationStore,
|
|
202
|
+
activity,
|
|
203
|
+
});
|
|
178
204
|
return (req, res) => {
|
|
179
205
|
const url = new URL(req.url ?? '/', 'http://localhost');
|
|
180
206
|
// Liveness/readiness probes: un-gated and **not** HTTPS-enforced — Cloud Run's internal probe is plain
|
|
@@ -206,7 +232,7 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
206
232
|
// post-deploy smoke can confirm exactly which commit is live. Non-sensitive fields only.
|
|
207
233
|
if (req.method === 'GET' && url.pathname === '/v1/service/info') {
|
|
208
234
|
applySecurityHeaders(res, tls);
|
|
209
|
-
return sendJson(res, 200, serviceInfoPayload(buildInfo, options.developerMcp === true));
|
|
235
|
+
return sendJson(res, 200, serviceInfoPayload(buildInfo, options.developerMcp === true, whatsapp !== undefined));
|
|
210
236
|
}
|
|
211
237
|
if (url.pathname.startsWith('/v1/') && rejectIncompatibleCli(req, res, buildInfo, tls))
|
|
212
238
|
return;
|
|
@@ -279,6 +305,7 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
279
305
|
if (businessInformationStore !== undefined &&
|
|
280
306
|
options.businessInformationEnabled !== false &&
|
|
281
307
|
dispatchBusinessInformationRoutes(req, res, url, {
|
|
308
|
+
...(whatsapp ? { readWhatsApp: whatsapp.projection.bind(whatsapp) } : {}),
|
|
282
309
|
store: businessInformationStore,
|
|
283
310
|
...(businessOnboarding ? { businessOnboarding } : {}),
|
|
284
311
|
activateInstallation,
|
|
@@ -324,38 +351,15 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
324
351
|
})) {
|
|
325
352
|
return;
|
|
326
353
|
}
|
|
354
|
+
if (url.pathname.includes('/channels/whatsapp')) {
|
|
355
|
+
applySecurityHeaders(res, tls);
|
|
356
|
+
if (enforceHttps(req, res, tls))
|
|
357
|
+
return;
|
|
358
|
+
if (dispatchWhatsAppRoutes(req, res, url, whatsapp, options.developerGrantStore))
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
327
361
|
if (dispatchAssistantRoutes(req, res, url, {
|
|
328
|
-
|
|
329
|
-
resolveRuntimeTarget,
|
|
330
|
-
store: assistantStore,
|
|
331
|
-
appearance: assistantAppearance,
|
|
332
|
-
...(options.publicEmbeds !== undefined ? { publicEmbeds: options.publicEmbeds } : {}),
|
|
333
|
-
...(options.elevations !== undefined ? { elevations: options.elevations } : {}),
|
|
334
|
-
...(options.elevationCoordinator !== undefined
|
|
335
|
-
? { elevationCoordinator: options.elevationCoordinator }
|
|
336
|
-
: {}),
|
|
337
|
-
...(options.admissionCounters !== undefined
|
|
338
|
-
? { admissionCounters: options.admissionCounters }
|
|
339
|
-
: {}),
|
|
340
|
-
...(options.admissionEnvelope !== undefined
|
|
341
|
-
? { admissionEnvelope: options.admissionEnvelope }
|
|
342
|
-
: {}),
|
|
343
|
-
gate,
|
|
344
|
-
controlPlane,
|
|
345
|
-
audit: activeAudit,
|
|
346
|
-
maxBody,
|
|
347
|
-
serviceBase: (request) => options.publicBaseUrl ?? baseFromRequest(request, tls),
|
|
348
|
-
...(options.assistantModelFetch !== undefined
|
|
349
|
-
? { modelFetch: options.assistantModelFetch }
|
|
350
|
-
: {}),
|
|
351
|
-
...(options.managedAssistantModelResolver !== undefined
|
|
352
|
-
? { managedModelResolver: options.managedAssistantModelResolver }
|
|
353
|
-
: {}),
|
|
354
|
-
...(options.captureRequestEvent !== undefined
|
|
355
|
-
? { captureRequestEvent: options.captureRequestEvent }
|
|
356
|
-
: {}),
|
|
357
|
-
...(options.clock !== undefined ? { clock: options.clock } : {}),
|
|
358
|
-
logger,
|
|
362
|
+
...assistantDeps,
|
|
359
363
|
applySecurityHeaders,
|
|
360
364
|
enforceHttps,
|
|
361
365
|
sendJson,
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CapabilityError } from '@noodle-borg/managed-capabilities';
|
|
2
|
+
import { evaluateToolAuthorization } from '@noodle-borg/protocol';
|
|
3
|
+
import { WebCapabilityConnector } from '@noodle-borg/runtime';
|
|
4
|
+
export function deploymentWebConnector(artifact, tenant, deploymentId, service) {
|
|
5
|
+
if (!artifact.server.capabilities?.length)
|
|
6
|
+
return undefined;
|
|
7
|
+
return new WebCapabilityConnector(artifact.server.capabilities, async (declaration, request, call) => {
|
|
8
|
+
if (service === undefined ||
|
|
9
|
+
deploymentId === undefined ||
|
|
10
|
+
call.execution === undefined ||
|
|
11
|
+
call.capabilityBudget === undefined) {
|
|
12
|
+
throw new CapabilityError('capability_unavailable');
|
|
13
|
+
}
|
|
14
|
+
return service.execute(declaration, request, {
|
|
15
|
+
tenant,
|
|
16
|
+
deploymentId,
|
|
17
|
+
executionId: call.execution.id,
|
|
18
|
+
authorized: evaluateToolAuthorization(declaration.authorization === undefined
|
|
19
|
+
? undefined
|
|
20
|
+
: {
|
|
21
|
+
...(declaration.authorization.discovery === 'public'
|
|
22
|
+
? { discovery: 'public' }
|
|
23
|
+
: {}),
|
|
24
|
+
...(declaration.authorization.requiredScopes === undefined
|
|
25
|
+
? {}
|
|
26
|
+
: { requiredScopes: declaration.authorization.requiredScopes }),
|
|
27
|
+
...(declaration.authorization.allowedRoles === undefined
|
|
28
|
+
? {}
|
|
29
|
+
: { allowedRoles: declaration.authorization.allowedRoles }),
|
|
30
|
+
}, call.caller).allow,
|
|
31
|
+
anonymous: call.caller === undefined || call.caller.identityKind === 'anonymous',
|
|
32
|
+
...(call.caller === undefined ? {} : { subject: call.caller.subject }),
|
|
33
|
+
...(call.publicAdmission === undefined ? {} : { network: call.publicAdmission.network }),
|
|
34
|
+
budget: call.capabilityBudget,
|
|
35
|
+
...(call.signal === undefined ? {} : { signal: call.signal }),
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=web-capabilities.js.map
|
|
@@ -37,9 +37,10 @@
|
|
|
37
37
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
+
"@noodle-borg/managed-capabilities": "0.0.0",
|
|
40
41
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
41
42
|
"@noodle-borg/admission-limits": "0.0.0",
|
|
42
|
-
"@noodle-borg/agent-kit": "0.
|
|
43
|
+
"@noodle-borg/agent-kit": "0.106.0",
|
|
43
44
|
"@noodle-borg/app-package": "0.0.0",
|
|
44
45
|
"@noodle-borg/assistant-gateway": "0.0.0",
|
|
45
46
|
"@noodle-borg/auth": "0.0.0",
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
"@noodle-borg/developer-mcp": "0.0.0",
|
|
52
53
|
"@noodle-borg/external-credential-provider": "0.0.0",
|
|
53
54
|
"@noodle-borg/knowledge": "0.0.0",
|
|
55
|
+
"@noodle-borg/knowledge-crawl": "0.0.0",
|
|
54
56
|
"@noodle-borg/knowledge-operations": "0.0.0",
|
|
55
57
|
"@noodle-borg/module": "0.0.0",
|
|
56
58
|
"@noodle-borg/module-audit": "0.0.0",
|
|
@@ -37,6 +37,17 @@ export declare const ApplicationChannelsProjectionSchema: z.ZodObject<{
|
|
|
37
37
|
}, z.core.$strict>>;
|
|
38
38
|
}, z.core.$strict>>;
|
|
39
39
|
}, z.core.$strict>;
|
|
40
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
status: z.ZodEnum<{
|
|
42
|
+
unavailable: "unavailable";
|
|
43
|
+
ready: "ready";
|
|
44
|
+
paused: "paused";
|
|
45
|
+
}>;
|
|
46
|
+
bindingId: z.ZodOptional<z.ZodString>;
|
|
47
|
+
revision: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
capabilities: z.ZodArray<z.ZodString>;
|
|
49
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, z.core.$strict>>;
|
|
40
51
|
}, z.core.$strict>;
|
|
41
52
|
export type ApplicationChannelsProjection = z.infer<typeof ApplicationChannelsProjectionSchema>;
|
|
42
53
|
export declare const ApplicationChannelsResponseSchema: z.ZodObject<{
|
|
@@ -79,6 +90,17 @@ export declare const ApplicationChannelsResponseSchema: z.ZodObject<{
|
|
|
79
90
|
}, z.core.$strict>>;
|
|
80
91
|
}, z.core.$strict>>;
|
|
81
92
|
}, z.core.$strict>;
|
|
93
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
94
|
+
status: z.ZodEnum<{
|
|
95
|
+
unavailable: "unavailable";
|
|
96
|
+
ready: "ready";
|
|
97
|
+
paused: "paused";
|
|
98
|
+
}>;
|
|
99
|
+
bindingId: z.ZodOptional<z.ZodString>;
|
|
100
|
+
revision: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
capabilities: z.ZodArray<z.ZodString>;
|
|
102
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
103
|
+
}, z.core.$strict>>;
|
|
82
104
|
}, z.core.$strict>;
|
|
83
105
|
}, z.core.$strict>;
|
|
84
106
|
export declare const ApplicationChannelsClientResponseSchema: z.ZodObject<{
|
|
@@ -97,6 +119,17 @@ export declare const ApplicationChannelsClientResponseSchema: z.ZodObject<{
|
|
|
97
119
|
url: z.ZodOptional<z.ZodURL>;
|
|
98
120
|
accessMode: z.ZodOptional<z.ZodString>;
|
|
99
121
|
}, z.core.$strip>;
|
|
122
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
123
|
+
status: z.ZodEnum<{
|
|
124
|
+
unavailable: "unavailable";
|
|
125
|
+
ready: "ready";
|
|
126
|
+
paused: "paused";
|
|
127
|
+
}>;
|
|
128
|
+
bindingId: z.ZodOptional<z.ZodString>;
|
|
129
|
+
revision: z.ZodOptional<z.ZodNumber>;
|
|
130
|
+
capabilities: z.ZodArray<z.ZodString>;
|
|
131
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
132
|
+
}, z.core.$strip>>;
|
|
100
133
|
assistant: z.ZodObject<{
|
|
101
134
|
status: z.ZodEnum<{
|
|
102
135
|
unavailable: "unavailable";
|
|
@@ -39,6 +39,13 @@ const assistant = z
|
|
|
39
39
|
usage: usage.optional(),
|
|
40
40
|
})
|
|
41
41
|
.strict();
|
|
42
|
+
const whatsapp = z.strictObject({
|
|
43
|
+
status,
|
|
44
|
+
bindingId: z.string().max(256).optional(),
|
|
45
|
+
revision: z.number().int().positive().optional(),
|
|
46
|
+
capabilities: z.array(z.string().max(256)).max(64),
|
|
47
|
+
reason: z.string().max(200).optional(),
|
|
48
|
+
});
|
|
42
49
|
export const ApplicationChannelsProjectionSchema = z
|
|
43
50
|
.object({
|
|
44
51
|
revision: z.number().int().positive(),
|
|
@@ -47,6 +54,7 @@ export const ApplicationChannelsProjectionSchema = z
|
|
|
47
54
|
deploymentId: z.string().min(1).max(256).optional(),
|
|
48
55
|
mcp,
|
|
49
56
|
assistant,
|
|
57
|
+
whatsapp: whatsapp.optional(),
|
|
50
58
|
})
|
|
51
59
|
.strict();
|
|
52
60
|
export const ApplicationChannelsResponseSchema = z
|
|
@@ -57,6 +65,7 @@ export const ApplicationChannelsClientResponseSchema = z
|
|
|
57
65
|
ok: z.literal(true),
|
|
58
66
|
data: ApplicationChannelsProjectionSchema.extend({
|
|
59
67
|
mcp: mcp.strip(),
|
|
68
|
+
whatsapp: whatsapp.strip().optional(),
|
|
60
69
|
assistant: assistant
|
|
61
70
|
.extend({
|
|
62
71
|
usage: usage
|
|
@@ -385,6 +385,7 @@ export declare const configValuesListResponseSchema: z.ZodObject<{
|
|
|
385
385
|
}, z.core.$strip>;
|
|
386
386
|
/** Render a wire-schema failure as one actionable line (first issue, dotted path first). */
|
|
387
387
|
export declare function formatWireError(error: z.ZodError): string;
|
|
388
|
+
export * from '@noodle-borg/managed-capabilities/contracts';
|
|
388
389
|
export * from './application-activity.js';
|
|
389
390
|
export * from './application-connections.js';
|
|
390
391
|
export * from './application-onboarding.js';
|
|
@@ -392,4 +393,5 @@ export * from './billing-catalog.js';
|
|
|
392
393
|
export * from './deployment-deletion.js';
|
|
393
394
|
export * from './operation-coordination.js';
|
|
394
395
|
export { MIXED_CUSTOMER_AUTH_FEATURE_VERSION, type ServiceInfoClientResponse, type ServiceInfoResponse, serviceInfoClientResponseSchema, serviceInfoResponseSchema, } from './service-info.js';
|
|
396
|
+
export * from './whatsapp.js';
|
|
395
397
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -224,6 +224,7 @@ export function formatWireError(error) {
|
|
|
224
224
|
const path = issue.path.map(String).join('.');
|
|
225
225
|
return path === '' ? issue.message : `"${path}": ${issue.message}`;
|
|
226
226
|
}
|
|
227
|
+
export * from '@noodle-borg/managed-capabilities/contracts';
|
|
227
228
|
export * from './application-activity.js';
|
|
228
229
|
export * from './application-connections.js';
|
|
229
230
|
export * from './application-onboarding.js';
|
|
@@ -231,4 +232,5 @@ export * from './billing-catalog.js';
|
|
|
231
232
|
export * from './deployment-deletion.js';
|
|
232
233
|
export * from './operation-coordination.js';
|
|
233
234
|
export { MIXED_CUSTOMER_AUTH_FEATURE_VERSION, serviceInfoClientResponseSchema, serviceInfoResponseSchema, } from './service-info.js';
|
|
235
|
+
export * from './whatsapp.js';
|
|
234
236
|
//# sourceMappingURL=index.js.map
|
|
@@ -7,6 +7,7 @@ export declare const serviceInfoResponseSchema: z.ZodObject<{
|
|
|
7
7
|
}, z.core.$strict>>;
|
|
8
8
|
features: z.ZodObject<{
|
|
9
9
|
mixedCustomerAuth: z.ZodLiteral<1>;
|
|
10
|
+
whatsapp: z.ZodOptional<z.ZodLiteral<1>>;
|
|
10
11
|
}, z.core.$strict>;
|
|
11
12
|
ok: z.ZodLiteral<true>;
|
|
12
13
|
status: z.ZodLiteral<"ok">;
|
|
@@ -25,6 +26,7 @@ export declare const serviceInfoClientResponseSchema: z.ZodObject<{
|
|
|
25
26
|
}, z.core.$strip>>;
|
|
26
27
|
features: z.ZodOptional<z.ZodObject<{
|
|
27
28
|
mixedCustomerAuth: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
whatsapp: z.ZodOptional<z.ZodNumber>;
|
|
28
30
|
}, z.core.$strip>>;
|
|
29
31
|
ok: z.ZodLiteral<true>;
|
|
30
32
|
status: z.ZodLiteral<"ok">;
|
|
@@ -15,12 +15,20 @@ const buildInfoShape = {
|
|
|
15
15
|
export const serviceInfoResponseSchema = z.strictObject({
|
|
16
16
|
...buildInfoShape,
|
|
17
17
|
developerPlugin: z.strictObject({ mcpCapabilityVersion: z.string().min(1) }).optional(),
|
|
18
|
-
features: z.strictObject({
|
|
18
|
+
features: z.strictObject({
|
|
19
|
+
mixedCustomerAuth: z.literal(MIXED_CUSTOMER_AUTH_FEATURE_VERSION),
|
|
20
|
+
whatsapp: z.literal(1).optional(),
|
|
21
|
+
}),
|
|
19
22
|
});
|
|
20
23
|
/** Older services may omit features; future fields are stripped at each structured metadata layer. */
|
|
21
24
|
export const serviceInfoClientResponseSchema = z.object({
|
|
22
25
|
...buildInfoShape,
|
|
23
26
|
developerPlugin: z.object({ mcpCapabilityVersion: z.string().min(1) }).optional(),
|
|
24
|
-
features: z
|
|
27
|
+
features: z
|
|
28
|
+
.object({
|
|
29
|
+
mixedCustomerAuth: z.number().int().positive().optional(),
|
|
30
|
+
whatsapp: z.number().int().positive().optional(),
|
|
31
|
+
})
|
|
32
|
+
.optional(),
|
|
25
33
|
});
|
|
26
34
|
//# sourceMappingURL=service-info.js.map
|