@noodleseed/one 0.180.0 → 0.182.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/commands/solutions-history.js +1 -3
- package/dist/commands/solutions-history.js.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/application-activity.js +2 -9
- package/node_modules/@noodle-borg/service/dist/application-history-settings.js +25 -21
- package/node_modules/@noodle-borg/service/dist/conversation-history/contracts.js +1 -1
- package/node_modules/@noodle-borg/service/dist/conversation-history/customer.js +1 -1
- package/node_modules/@noodle-borg/service/dist/conversation-history/operator.js +1 -1
- package/node_modules/@noodle-borg/service/dist/conversation-history/preview.js +2 -2
- package/node_modules/@noodle-borg/service/dist/routes/business-information.js +0 -4
- package/node_modules/@noodle-borg/service/dist/service-history-projections.js +3 -3
- package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.js +2 -1
- package/node_modules/@noodle-borg/service/dist/service.js +2 -1
- package/node_modules/@noodle-borg/wire-contracts/dist/application-history-settings.d.ts +0 -5
- package/node_modules/@noodle-borg/wire-contracts/dist/application-history-settings.js +5 -2
- package/package.json +1 -1
|
@@ -148,9 +148,7 @@ function describe(data) {
|
|
|
148
148
|
`Activity: ${activity.retentionDays} day(s); plan maximum ${activity.maximumDays}, default ${activity.defaultDays}.`,
|
|
149
149
|
conversations.state === 'on'
|
|
150
150
|
? `Conversations: ${conversations.retentionDays} day(s).`
|
|
151
|
-
:
|
|
152
|
-
? 'Conversations: off.'
|
|
153
|
-
: 'Conversations: not enabled; set --conversation-days to start recording.',
|
|
151
|
+
: 'Conversations: off.',
|
|
154
152
|
`Recording: website visitors ${channel(conversations.sources.websiteVisitors)}, signed-in customers ${channel(conversations.sources.signedInCustomers)}, WhatsApp ${channel(conversations.sources.whatsapp)}.`,
|
|
155
153
|
...(conversations.disabledByApplication
|
|
156
154
|
? [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solutions-history.js","sourceRoot":"","sources":["../../src/commands/solutions-history.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"solutions-history.js","sourceRoot":"","sources":["../../src/commands/solutions-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -141,9 +141,16 @@ export interface DeploymentPackageBinding {
|
|
|
141
141
|
}
|
|
142
142
|
export type ReadinessProbe = () => boolean | Promise<boolean>;
|
|
143
143
|
export type ModuleDispose = () => void | Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* `serve-only` is a revision staged in production before approval (ADR 0144): it serves read-only
|
|
146
|
+
* probes and must start no worker, timer, queue consumer or projector and write nothing at boot.
|
|
147
|
+
*/
|
|
148
|
+
export type ServiceRunMode = 'full' | 'serve-only';
|
|
144
149
|
export interface ModuleHostContext {
|
|
145
150
|
readonly logger: ModuleLogger;
|
|
146
151
|
readonly clock: () => Date;
|
|
152
|
+
/** Absent means `full`. A module that starts background work or writes at boot must honor `serve-only`. */
|
|
153
|
+
readonly runMode?: ServiceRunMode;
|
|
147
154
|
readonly options?: Readonly<Record<string, unknown>>;
|
|
148
155
|
readonly stores?: ModuleStores;
|
|
149
156
|
readonly tenants?: TenantRegistryView;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHmac } from 'node:crypto';
|
|
2
2
|
import { canonicalJson, sha256Canonical } from '@noodle-borg/compiler';
|
|
3
3
|
import { ApplicationActivityListResponseSchema, ApplicationActivityPreviewResponseSchema, ApplicationHistorySettingsResponseSchema, ApplicationHistorySettingsSaveRequestSchema, ApplicationHistorySettingsSaveResponseSchema, OperationCoordinationListRequestSchema, OperationCoordinationListResponseSchema, OperationCoordinationResolveRequestSchema, OperationCoordinationResolveResponseSchema, } from '@noodle-borg/wire-contracts';
|
|
4
|
-
import { conversationPolicyFromSetting, historySettingsProjection, lazyHistorySetting,
|
|
4
|
+
import { conversationPolicyFromSetting, historySettingsProjection, lazyHistorySetting, planHistorySettingsChange, } from './application-history-settings.js';
|
|
5
5
|
import { resolveApplicationRuntimeTarget } from './application-runtime-target.js';
|
|
6
6
|
import { createOperationCoordinationPort, } from './operation-coordination.js';
|
|
7
7
|
import { createOperationEvidencePort, } from './operation-evidence.js';
|
|
@@ -204,7 +204,7 @@ export class ApplicationActivity {
|
|
|
204
204
|
const current = await this.settings(scope, true, local);
|
|
205
205
|
if (current.projection.revision !== input.expectedRevision)
|
|
206
206
|
throw new ActivityPolicyError('activity_conflict');
|
|
207
|
-
const plan = planHistorySettingsChange(current.setting, input, current.allowance
|
|
207
|
+
const plan = planHistorySettingsChange(current.setting, input, current.allowance);
|
|
208
208
|
if (!plan)
|
|
209
209
|
throw new ActivityPolicyError('activity_invalid');
|
|
210
210
|
const store = this.options.conversationHistory;
|
|
@@ -231,13 +231,6 @@ export class ApplicationActivity {
|
|
|
231
231
|
audit: plan.audit,
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
|
-
/**
|
|
235
|
-
* Writes a new installation's first setting so it records conversations from day one. Runs only for a
|
|
236
|
-
* created installation, before anything reads (and lazily creates) a not-enabled setting.
|
|
237
|
-
*/
|
|
238
|
-
async initializeHistory(scope) {
|
|
239
|
-
return this.options.store.setRetention(scope, newInstallationHistorySetting(await this.allowance(scope)), undefined);
|
|
240
|
-
}
|
|
241
234
|
/** The capture policy: side-effect free, so the capture path never creates a setting. */
|
|
242
235
|
async conversationPolicy(scope) {
|
|
243
236
|
const allowance = await this.allowance(scope);
|
|
@@ -18,7 +18,10 @@ export function historyDisabledSurfaces(assistant) {
|
|
|
18
18
|
...(messagingSurfaceOf(assistant)?.history === false ? ['publicMessaging'] : []),
|
|
19
19
|
];
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* A setting created lazily on first read keeps no conversation duration of its own, so it records at
|
|
23
|
+
* the live plan default like every installation without a chosen duration (ADR 0241 decision 8).
|
|
24
|
+
*/
|
|
22
25
|
export function lazyHistorySetting(allowance) {
|
|
23
26
|
return {
|
|
24
27
|
days: allowance.defaultDays,
|
|
@@ -26,12 +29,16 @@ export function lazyHistorySetting(allowance) {
|
|
|
26
29
|
sources: ALL_CONVERSATION_SOURCES,
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
|
-
/**
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
/**
|
|
33
|
+
* The one rule for a stored conversation duration: none chosen (no setting, or a NULL duration) is the
|
|
34
|
+
* live plan default; 0 is Off. Applications without an installation have no setting and record nothing
|
|
35
|
+
* upstream of this.
|
|
36
|
+
*/
|
|
37
|
+
function chosenConversationDays(setting, allowance) {
|
|
38
|
+
return setting?.conversationDays ?? allowance.defaultDays;
|
|
32
39
|
}
|
|
33
40
|
export function historySettingsProjection(setting, allowance, revision, canEdit) {
|
|
34
|
-
const days = setting
|
|
41
|
+
const days = chosenConversationDays(setting, allowance);
|
|
35
42
|
return {
|
|
36
43
|
revision,
|
|
37
44
|
canEdit,
|
|
@@ -41,7 +48,7 @@ export function historySettingsProjection(setting, allowance, revision, canEdit)
|
|
|
41
48
|
defaultDays: allowance.defaultDays,
|
|
42
49
|
},
|
|
43
50
|
conversations: {
|
|
44
|
-
state: days ===
|
|
51
|
+
state: days === 0 ? 'off' : 'on',
|
|
45
52
|
...(days ? { retentionDays: Math.min(days, allowance.maximumDays) } : {}),
|
|
46
53
|
sources: {
|
|
47
54
|
websiteVisitors: setting.sources.website_visitors,
|
|
@@ -51,20 +58,21 @@ export function historySettingsProjection(setting, allowance, revision, canEdit)
|
|
|
51
58
|
},
|
|
52
59
|
};
|
|
53
60
|
}
|
|
54
|
-
/** Days currently recorded
|
|
55
|
-
function recordedDays(setting,
|
|
56
|
-
return Math.min(setting
|
|
61
|
+
/** Days currently recorded under the plan maximum; Off keeps nothing new. */
|
|
62
|
+
function recordedDays(setting, allowance) {
|
|
63
|
+
return Math.min(chosenConversationDays(setting, allowance), allowance.maximumDays);
|
|
57
64
|
}
|
|
58
65
|
/**
|
|
59
66
|
* Applies a change, or returns undefined when a requested duration exceeds the plan maximum. `shortened` is the
|
|
60
67
|
* new conversation duration when the change shortens or turns off recorded conversation history.
|
|
61
68
|
*/
|
|
62
|
-
export function planHistorySettingsChange(current, change,
|
|
69
|
+
export function planHistorySettingsChange(current, change, allowance) {
|
|
63
70
|
const conversationDays = change.conversations === undefined
|
|
64
71
|
? current.conversationDays
|
|
65
72
|
: change.conversations === 'off'
|
|
66
73
|
? 0
|
|
67
74
|
: change.conversations.retentionDays;
|
|
75
|
+
const { maximumDays } = allowance;
|
|
68
76
|
// Only requested durations meet the cap: a value stored before a downgrade stays, read as clamped.
|
|
69
77
|
if ((change.activityDays ?? 0) > maximumDays ||
|
|
70
78
|
(typeof change.conversations === 'object' && change.conversations.retentionDays > maximumDays))
|
|
@@ -80,29 +88,25 @@ export function planHistorySettingsChange(current, change, maximumDays) {
|
|
|
80
88
|
changed.push(wire);
|
|
81
89
|
}
|
|
82
90
|
const next = { days, conversationDays, sources };
|
|
83
|
-
const before = recordedDays(current,
|
|
84
|
-
const after = recordedDays(next,
|
|
91
|
+
const before = recordedDays(current, allowance);
|
|
92
|
+
const after = recordedDays(next, allowance);
|
|
93
|
+
const chosen = chosenConversationDays(next, allowance);
|
|
85
94
|
return {
|
|
86
95
|
next,
|
|
87
96
|
...(before > 0 && after < before ? { shortened: after } : {}),
|
|
88
97
|
audit: {
|
|
89
98
|
activityDays: days,
|
|
90
|
-
conversationDays:
|
|
91
|
-
? 'not_enabled'
|
|
92
|
-
: conversationDays === 0
|
|
93
|
-
? 'off'
|
|
94
|
-
: conversationDays,
|
|
99
|
+
conversationDays: chosen === 0 ? 'off' : chosen,
|
|
95
100
|
sourcesChanged: changed.length === 0 ? 'none' : changed.join(','),
|
|
96
101
|
},
|
|
97
102
|
};
|
|
98
103
|
}
|
|
99
|
-
/** The capture policy for
|
|
104
|
+
/** The capture policy for an installation's setting; one not yet created records at the plan default. */
|
|
100
105
|
export function conversationPolicyFromSetting(setting, allowance) {
|
|
101
106
|
return {
|
|
102
107
|
maximumDays: allowance.maximumDays,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
: { conversationDays: setting.conversationDays, sources: { ...setting.sources } }),
|
|
108
|
+
conversationDays: chosenConversationDays(setting, allowance),
|
|
109
|
+
sources: { ...(setting?.sources ?? ALL_CONVERSATION_SOURCES) },
|
|
106
110
|
};
|
|
107
111
|
}
|
|
108
112
|
//# sourceMappingURL=application-history-settings.js.map
|
|
@@ -20,7 +20,7 @@ export function conversationExpiryBound(at, input) {
|
|
|
20
20
|
export const CONVERSATION_NOTE_LIMIT = 100;
|
|
21
21
|
/** Days to keep a new item from this source; 0 means capture nothing. */
|
|
22
22
|
export function effectiveConversationDays(policy, source) {
|
|
23
|
-
if (policy
|
|
23
|
+
if (policy === undefined || policy.sources?.[source] === false)
|
|
24
24
|
return 0;
|
|
25
25
|
return Math.max(0, Math.min(policy.conversationDays, policy.maximumDays));
|
|
26
26
|
}
|
|
@@ -32,7 +32,7 @@ export class CustomerConversations {
|
|
|
32
32
|
const policy = await this.options.policy(client.tenant).catch(() => {
|
|
33
33
|
throw new ConversationHistoryError('conversation_unavailable');
|
|
34
34
|
});
|
|
35
|
-
//
|
|
35
|
+
// An application without an installation records nothing, so it has nothing to list.
|
|
36
36
|
if (policy !== undefined && !Number.isInteger(policy.maximumDays))
|
|
37
37
|
throw new ConversationHistoryError('conversation_unavailable');
|
|
38
38
|
const notBefore = policy === undefined ? now + 1 : conversationReadBound(policy, now);
|
|
@@ -282,7 +282,7 @@ export function conversationReadBound(policy, now) {
|
|
|
282
282
|
}
|
|
283
283
|
/** The live window in days: the chosen duration under the plan maximum; 0 hides everything. */
|
|
284
284
|
function conversationWindowDays(policy) {
|
|
285
|
-
return Math.max(0, Math.min(policy.conversationDays
|
|
285
|
+
return Math.max(0, Math.min(policy.conversationDays, policy.maximumDays));
|
|
286
286
|
}
|
|
287
287
|
/** An opaque keyset position bound to the purpose, scope and page shape that `binding` hashes. */
|
|
288
288
|
export function encodeConversationCursor(binding, last) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ALL_CONVERSATION_SOURCES, } from './contracts.js';
|
|
2
2
|
/**
|
|
3
3
|
* ADR 0241 decision 18: a Preview environment's conversations are kept this long, whatever the stored
|
|
4
|
-
*
|
|
4
|
+
* duration or recording switches, and never longer than the plan maximum.
|
|
5
5
|
*/
|
|
6
6
|
export const PREVIEW_CONVERSATION_DAYS = 3;
|
|
7
7
|
/**
|
|
8
8
|
* A Preview environment is a deployed environment of an app whose production environment is another,
|
|
9
9
|
* designated one. An unknown environment, an app with no resolved production designation, or an
|
|
10
|
-
* unreadable registry keeps production semantics, so a live chat never loses its
|
|
10
|
+
* unreadable registry keeps production semantics, so a live chat never loses its setting or reaches a
|
|
11
11
|
* Builder by default.
|
|
12
12
|
*/
|
|
13
13
|
export function previewEnvironments(registry) {
|
|
@@ -68,10 +68,6 @@ export async function handleSolutionInstallations(req, res, ref, deps) {
|
|
|
68
68
|
code: 'installation_conflict',
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
-
// Only a created installation opts in (ADR 0241 decision 8), before activation can read the setting.
|
|
72
|
-
// Without a verified allowance it stays not enabled: recording nothing is the safe failure.
|
|
73
|
-
if (result.disposition === 'created')
|
|
74
|
-
await deps.activity?.initializeHistory(result.installation.scope).catch(() => false);
|
|
75
71
|
const grant = await resolveBusinessStaffGrant(deps, result.installation.scope, identity.subject);
|
|
76
72
|
if (grant === undefined || grant.revokedAt !== undefined) {
|
|
77
73
|
return sendForbidden(res, 'business grant required');
|
|
@@ -30,9 +30,9 @@ export function createHistoryProjections(options, moduleHost, installations, reg
|
|
|
30
30
|
return { activity, conversations, conversationPolicy };
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* Capture follows the installation history setting under the live plan allowance (ADR 0241)
|
|
34
|
-
*
|
|
35
|
-
* creates a setting.
|
|
33
|
+
* Capture follows the installation history setting under the live plan allowance (ADR 0241): every
|
|
34
|
+
* installation records at the plan default unless an Owner/Admin changed it. A tenant with no single
|
|
35
|
+
* installation or verified allowance records nothing, and the read never creates a setting.
|
|
36
36
|
*/
|
|
37
37
|
function settingsConversationPolicy(installations, activity) {
|
|
38
38
|
return async (tenant) => {
|
|
@@ -10,7 +10,8 @@ export async function closeServiceResources(input) {
|
|
|
10
10
|
if (input.businessInformationSourceTimer !== undefined) {
|
|
11
11
|
clearInterval(input.businessInformationSourceTimer);
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
if (input.alertTimer !== undefined)
|
|
14
|
+
clearInterval(input.alertTimer);
|
|
14
15
|
const errors = [];
|
|
15
16
|
const moduleHost = input.moduleHost;
|
|
16
17
|
if (moduleHost !== undefined) {
|
|
@@ -162,7 +162,8 @@ export function createServiceHandler(registry, options = {}) {
|
|
|
162
162
|
logger,
|
|
163
163
|
...(options.clock !== undefined ? { clock: options.clock } : {}),
|
|
164
164
|
});
|
|
165
|
-
|
|
165
|
+
if (options.runMode !== 'serve-only')
|
|
166
|
+
archiveSweeper.maybeSweep();
|
|
166
167
|
const moduleRouteDeps = {
|
|
167
168
|
routes: [
|
|
168
169
|
...moduleHost.routes,
|
|
@@ -20,7 +20,6 @@ export declare const ApplicationHistorySettingsSchema: z.ZodObject<{
|
|
|
20
20
|
}, z.core.$strict>;
|
|
21
21
|
conversations: z.ZodObject<{
|
|
22
22
|
state: z.ZodEnum<{
|
|
23
|
-
not_enabled: "not_enabled";
|
|
24
23
|
off: "off";
|
|
25
24
|
on: "on";
|
|
26
25
|
}>;
|
|
@@ -49,7 +48,6 @@ export declare const ApplicationHistorySettingsResponseSchema: z.ZodObject<{
|
|
|
49
48
|
}, z.core.$strict>;
|
|
50
49
|
conversations: z.ZodObject<{
|
|
51
50
|
state: z.ZodEnum<{
|
|
52
|
-
not_enabled: "not_enabled";
|
|
53
51
|
off: "off";
|
|
54
52
|
on: "on";
|
|
55
53
|
}>;
|
|
@@ -100,7 +98,6 @@ export declare const ApplicationHistorySettingsSaveResponseSchema: z.ZodObject<{
|
|
|
100
98
|
}, z.core.$strict>;
|
|
101
99
|
conversations: z.ZodObject<{
|
|
102
100
|
state: z.ZodEnum<{
|
|
103
|
-
not_enabled: "not_enabled";
|
|
104
101
|
off: "off";
|
|
105
102
|
on: "on";
|
|
106
103
|
}>;
|
|
@@ -134,7 +131,6 @@ export declare const ApplicationHistorySettingsClientResponseSchema: z.ZodObject
|
|
|
134
131
|
whatsapp: z.ZodBoolean;
|
|
135
132
|
}, z.core.$strip>;
|
|
136
133
|
state: z.ZodEnum<{
|
|
137
|
-
not_enabled: "not_enabled";
|
|
138
134
|
off: "off";
|
|
139
135
|
on: "on";
|
|
140
136
|
}>;
|
|
@@ -169,7 +165,6 @@ export declare const ApplicationHistorySettingsSaveClientResponseSchema: z.ZodOb
|
|
|
169
165
|
whatsapp: z.ZodBoolean;
|
|
170
166
|
}, z.core.$strip>;
|
|
171
167
|
state: z.ZodEnum<{
|
|
172
|
-
not_enabled: "not_enabled";
|
|
173
168
|
off: "off";
|
|
174
169
|
on: "on";
|
|
175
170
|
}>;
|
|
@@ -26,9 +26,12 @@ export const ApplicationHistorySettingsSchema = z.strictObject({
|
|
|
26
26
|
maximumDays: DaysSchema,
|
|
27
27
|
defaultDays: DaysSchema,
|
|
28
28
|
}),
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* `on` records for `retentionDays` (the plan default until an Owner/Admin changes it, ADR 0241
|
|
31
|
+
* decision 8); `off`: an Owner/Admin turned it off.
|
|
32
|
+
*/
|
|
30
33
|
conversations: z.strictObject({
|
|
31
|
-
state: z.enum(['
|
|
34
|
+
state: z.enum(['off', 'on']),
|
|
32
35
|
retentionDays: DaysSchema.optional(),
|
|
33
36
|
sources: HistorySourcesSchema,
|
|
34
37
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noodleseed/one",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.182.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",
|