@xemahq/platform-common 0.29.0 → 0.31.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/database/biome-database.d.ts +2 -11
- package/dist/database/biome-database.d.ts.map +1 -1
- package/dist/database/biome-database.js +4 -24
- package/dist/database/biome-database.js.map +1 -1
- package/dist/database/idempotency-record-schema.d.ts +6 -0
- package/dist/database/idempotency-record-schema.d.ts.map +1 -0
- package/dist/database/idempotency-record-schema.js +102 -0
- package/dist/database/idempotency-record-schema.js.map +1 -0
- package/dist/database/release-intent-schema.d.ts +6 -0
- package/dist/database/release-intent-schema.d.ts.map +1 -0
- package/dist/database/release-intent-schema.js +129 -0
- package/dist/database/release-intent-schema.js.map +1 -0
- package/dist/database/schema-source-reader.d.ts +7 -0
- package/dist/database/schema-source-reader.d.ts.map +1 -0
- package/dist/database/schema-source-reader.js +49 -0
- package/dist/database/schema-source-reader.js.map +1 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -29
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-session.types.d.ts +0 -9
- package/dist/lib/agent-session.types.d.ts.map +1 -1
- package/dist/lib/agent-session.types.js +1 -11
- package/dist/lib/agent-session.types.js.map +1 -1
- package/dist/lib/auth/org-authority-observations.d.ts +2 -0
- package/dist/lib/auth/org-authority-observations.d.ts.map +1 -1
- package/dist/lib/auth/org-authority-observations.js +31 -12
- package/dist/lib/auth/org-authority-observations.js.map +1 -1
- package/dist/lib/auth/org-authority.d.ts +8 -11
- package/dist/lib/auth/org-authority.d.ts.map +1 -1
- package/dist/lib/auth/org-authority.js +12 -31
- package/dist/lib/auth/org-authority.js.map +1 -1
- package/dist/lib/auth/org-claim.d.ts.map +1 -1
- package/dist/lib/auth/org-claim.js.map +1 -1
- package/dist/lib/auth/org-role.d.ts +2 -6
- package/dist/lib/auth/org-role.d.ts.map +1 -1
- package/dist/lib/auth/org-role.js +10 -19
- package/dist/lib/auth/org-role.js.map +1 -1
- package/dist/lib/derive-required-workspace-slots.d.ts +1 -1
- package/dist/lib/derive-required-workspace-slots.d.ts.map +1 -1
- package/dist/lib/derive-required-workspace-slots.js +1 -1
- package/dist/lib/derive-required-workspace-slots.js.map +1 -1
- package/dist/lib/edge-stream/index.d.ts.map +1 -1
- package/dist/lib/edge-stream/index.js.map +1 -1
- package/dist/lib/errors/artifact-store-errors.d.ts +14 -0
- package/dist/lib/errors/artifact-store-errors.d.ts.map +1 -0
- package/dist/lib/errors/artifact-store-errors.js +41 -0
- package/dist/lib/errors/artifact-store-errors.js.map +1 -0
- package/dist/lib/errors/index.d.ts +3 -0
- package/dist/lib/errors/index.d.ts.map +1 -0
- package/dist/lib/{interaction-widgets → errors}/index.js +2 -3
- package/dist/lib/errors/index.js.map +1 -0
- package/dist/lib/errors/knowledge-graph-errors.d.ts +5 -0
- package/dist/lib/errors/knowledge-graph-errors.d.ts.map +1 -0
- package/dist/lib/errors/knowledge-graph-errors.js +17 -0
- package/dist/lib/errors/knowledge-graph-errors.js.map +1 -0
- package/dist/lib/interactive-workspace-layout.js +1 -1
- package/dist/lib/interactive-workspace-layout.js.map +1 -1
- package/dist/lib/llm-stream/consume-stream.js +1 -1
- package/dist/lib/llm-stream/consume-stream.js.map +1 -1
- package/dist/lib/manifest/manifest.enums.d.ts +1 -1
- package/dist/lib/manifest/manifest.enums.d.ts.map +1 -1
- package/dist/lib/manifest/manifest.enums.js +1 -1
- package/dist/lib/manifest/manifest.enums.js.map +1 -1
- package/dist/lib/mcp-bridge-token.d.ts +3 -5
- package/dist/lib/mcp-bridge-token.d.ts.map +1 -1
- package/dist/lib/mcp-bridge-token.js +3 -11
- package/dist/lib/mcp-bridge-token.js.map +1 -1
- package/dist/lib/request-context.d.ts +2 -2
- package/dist/lib/request-context.d.ts.map +1 -1
- package/dist/lib/request-context.js +1 -1
- package/dist/lib/request-context.js.map +1 -1
- package/dist/lib/resolve-acting-user.d.ts +1 -1
- package/dist/lib/resolve-acting-user.d.ts.map +1 -1
- package/dist/lib/resolve-acting-user.js +1 -1
- package/dist/lib/resolve-acting-user.js.map +1 -1
- package/dist/lib/session-event-payloads/assistant-message-metadata.d.ts +1 -1
- package/dist/lib/session-event-payloads/assistant-message-metadata.d.ts.map +1 -1
- package/dist/lib/session-event-payloads/validation.js +1 -1
- package/dist/lib/session-event-payloads/validation.js.map +1 -1
- package/dist/lib/to-json-column-value.d.ts +6 -0
- package/dist/lib/to-json-column-value.d.ts.map +1 -1
- package/dist/lib/to-json-column-value.js +19 -2
- package/dist/lib/to-json-column-value.js.map +1 -1
- package/dist/nestjs/auth/actor-classification.d.ts +5 -5
- package/dist/nestjs/auth/actor-classification.d.ts.map +1 -1
- package/dist/nestjs/auth/actor-classification.js +20 -12
- package/dist/nestjs/auth/actor-classification.js.map +1 -1
- package/dist/nestjs/auth/delegation-chain.d.ts +1 -1
- package/dist/nestjs/auth/delegation-chain.d.ts.map +1 -1
- package/dist/nestjs/auth/holds-org-authority.d.ts +12 -0
- package/dist/nestjs/auth/holds-org-authority.d.ts.map +1 -0
- package/dist/nestjs/auth/holds-org-authority.js +20 -0
- package/dist/nestjs/auth/holds-org-authority.js.map +1 -0
- package/dist/nestjs/auth/index.d.ts +4 -3
- package/dist/nestjs/auth/index.d.ts.map +1 -1
- package/dist/nestjs/auth/index.js +8 -6
- package/dist/nestjs/auth/index.js.map +1 -1
- package/dist/nestjs/auth/internal-caller.guard.js +1 -1
- package/dist/nestjs/auth/internal-caller.guard.js.map +1 -1
- package/dist/nestjs/auth/org-role.guard.d.ts.map +1 -1
- package/dist/nestjs/auth/org-role.guard.js +2 -2
- package/dist/nestjs/auth/org-role.guard.js.map +1 -1
- package/dist/nestjs/auth/service-actor.guard.js +1 -1
- package/dist/nestjs/auth/service-actor.guard.js.map +1 -1
- package/dist/nestjs/auth/service-or-org-role.guard.d.ts.map +1 -1
- package/dist/nestjs/auth/service-or-org-role.guard.js +2 -2
- package/dist/nestjs/auth/service-or-org-role.guard.js.map +1 -1
- package/dist/nestjs/auth/service-token.guard.js +1 -1
- package/dist/nestjs/auth/service-token.guard.js.map +1 -1
- package/dist/nestjs/auth/token-class.guard.d.ts +1 -1
- package/dist/nestjs/auth/token-class.guard.d.ts.map +1 -1
- package/dist/nestjs/caller-org-scope.d.ts +1 -1
- package/dist/nestjs/caller-org-scope.d.ts.map +1 -1
- package/dist/nestjs/caller-org-scope.js +1 -1
- package/dist/nestjs/caller-org-scope.js.map +1 -1
- package/dist/nestjs/capability-edge-tenancy.d.ts +16 -0
- package/dist/nestjs/capability-edge-tenancy.d.ts.map +1 -0
- package/dist/nestjs/capability-edge-tenancy.js +44 -0
- package/dist/nestjs/capability-edge-tenancy.js.map +1 -0
- package/dist/nestjs/cors.config.js +1 -1
- package/dist/nestjs/cors.config.js.map +1 -1
- package/dist/nestjs/global-exception.filter.d.ts +1 -4
- package/dist/nestjs/global-exception.filter.d.ts.map +1 -1
- package/dist/nestjs/global-exception.filter.js +53 -179
- package/dist/nestjs/global-exception.filter.js.map +1 -1
- package/dist/nestjs/idempotency/idempotency.service.d.ts.map +1 -1
- package/dist/nestjs/idempotency/idempotency.service.js +2 -1
- package/dist/nestjs/idempotency/idempotency.service.js.map +1 -1
- package/dist/nestjs/index.d.ts +11 -7
- package/dist/nestjs/index.d.ts.map +1 -1
- package/dist/nestjs/index.js +31 -10
- package/dist/nestjs/index.js.map +1 -1
- package/dist/nestjs/jwt-verification.guard.d.ts +4 -1
- package/dist/nestjs/jwt-verification.guard.d.ts.map +1 -1
- package/dist/nestjs/jwt-verification.guard.js +18 -5
- package/dist/nestjs/jwt-verification.guard.js.map +1 -1
- package/dist/nestjs/org-scope.d.ts +9 -0
- package/dist/nestjs/org-scope.d.ts.map +1 -0
- package/dist/nestjs/org-scope.js +26 -0
- package/dist/nestjs/org-scope.js.map +1 -0
- package/dist/nestjs/pagination.d.ts +20 -3
- package/dist/nestjs/pagination.d.ts.map +1 -1
- package/dist/nestjs/pagination.js +90 -13
- package/dist/nestjs/pagination.js.map +1 -1
- package/dist/nestjs/problem-details.dto.d.ts +15 -0
- package/dist/nestjs/problem-details.dto.d.ts.map +1 -0
- package/dist/nestjs/problem-details.dto.js +103 -0
- package/dist/nestjs/problem-details.dto.js.map +1 -0
- package/dist/nestjs/refusal.d.ts +27 -0
- package/dist/nestjs/refusal.d.ts.map +1 -0
- package/dist/nestjs/refusal.js +231 -0
- package/dist/nestjs/refusal.js.map +1 -0
- package/dist/nestjs/request-context.middleware.d.ts +1 -0
- package/dist/nestjs/request-context.middleware.d.ts.map +1 -1
- package/dist/nestjs/request-context.middleware.js +49 -20
- package/dist/nestjs/request-context.middleware.js.map +1 -1
- package/dist/nestjs/swagger.decorators.d.ts +1 -0
- package/dist/nestjs/swagger.decorators.d.ts.map +1 -1
- package/dist/nestjs/swagger.decorators.js +22 -2
- package/dist/nestjs/swagger.decorators.js.map +1 -1
- package/package.json +10 -4
- package/prisma-url.d.ts +38 -0
- package/prisma-url.js +84 -0
- package/dist/lib/briefcase/index.d.ts +0 -18
- package/dist/lib/briefcase/index.d.ts.map +0 -1
- package/dist/lib/briefcase/index.js +0 -72
- package/dist/lib/briefcase/index.js.map +0 -1
- package/dist/lib/errors/pipeline-errors.d.ts +0 -178
- package/dist/lib/errors/pipeline-errors.d.ts.map +0 -1
- package/dist/lib/errors/pipeline-errors.js +0 -316
- package/dist/lib/errors/pipeline-errors.js.map +0 -1
- package/dist/lib/interaction-widgets/factories.d.ts +0 -83
- package/dist/lib/interaction-widgets/factories.d.ts.map +0 -1
- package/dist/lib/interaction-widgets/factories.js +0 -173
- package/dist/lib/interaction-widgets/factories.js.map +0 -1
- package/dist/lib/interaction-widgets/index.d.ts +0 -4
- package/dist/lib/interaction-widgets/index.d.ts.map +0 -1
- package/dist/lib/interaction-widgets/index.js.map +0 -1
- package/dist/lib/interaction-widgets/validation.d.ts +0 -10
- package/dist/lib/interaction-widgets/validation.d.ts.map +0 -1
- package/dist/lib/interaction-widgets/validation.js +0 -214
- package/dist/lib/interaction-widgets/validation.js.map +0 -1
- package/dist/lib/interaction-widgets/widget-types.d.ts +0 -163
- package/dist/lib/interaction-widgets/widget-types.d.ts.map +0 -1
- package/dist/lib/interaction-widgets/widget-types.js +0 -22
- package/dist/lib/interaction-widgets/widget-types.js.map +0 -1
- package/dist/lib/run-events/action-types.d.ts +0 -40
- package/dist/lib/run-events/action-types.d.ts.map +0 -1
- package/dist/lib/run-events/action-types.js +0 -40
- package/dist/lib/run-events/action-types.js.map +0 -1
- package/dist/lib/run-events/event-families.d.ts +0 -95
- package/dist/lib/run-events/event-families.d.ts.map +0 -1
- package/dist/lib/run-events/event-families.js +0 -282
- package/dist/lib/run-events/event-families.js.map +0 -1
- package/dist/lib/run-events/index.d.ts +0 -7
- package/dist/lib/run-events/index.d.ts.map +0 -1
- package/dist/lib/run-events/index.js +0 -23
- package/dist/lib/run-events/index.js.map +0 -1
- package/dist/lib/run-events/run-event.types.d.ts +0 -60
- package/dist/lib/run-events/run-event.types.d.ts.map +0 -1
- package/dist/lib/run-events/run-event.types.js +0 -57
- package/dist/lib/run-events/run-event.types.js.map +0 -1
- package/dist/lib/run-events/run-live-snapshot.types.d.ts +0 -69
- package/dist/lib/run-events/run-live-snapshot.types.d.ts.map +0 -1
- package/dist/lib/run-events/run-live-snapshot.types.js +0 -17
- package/dist/lib/run-events/run-live-snapshot.types.js.map +0 -1
- package/dist/lib/run-events/snapshot-reducer.d.ts +0 -4
- package/dist/lib/run-events/snapshot-reducer.d.ts.map +0 -1
- package/dist/lib/run-events/snapshot-reducer.js +0 -313
- package/dist/lib/run-events/snapshot-reducer.js.map +0 -1
- package/dist/lib/run-events/stream-contracts.d.ts +0 -79
- package/dist/lib/run-events/stream-contracts.d.ts.map +0 -1
- package/dist/lib/run-events/stream-contracts.js +0 -27
- package/dist/lib/run-events/stream-contracts.js.map +0 -1
- package/dist/lib/tag-taxonomy/concern-tags.d.ts +0 -3
- package/dist/lib/tag-taxonomy/concern-tags.d.ts.map +0 -1
- package/dist/lib/tag-taxonomy/concern-tags.js +0 -26
- package/dist/lib/tag-taxonomy/concern-tags.js.map +0 -1
- package/dist/lib/tag-taxonomy/index.d.ts +0 -14
- package/dist/lib/tag-taxonomy/index.d.ts.map +0 -1
- package/dist/lib/tag-taxonomy/index.js +0 -59
- package/dist/lib/tag-taxonomy/index.js.map +0 -1
- package/dist/lib/tag-taxonomy/lifecycle-tags.d.ts +0 -3
- package/dist/lib/tag-taxonomy/lifecycle-tags.d.ts.map +0 -1
- package/dist/lib/tag-taxonomy/lifecycle-tags.js +0 -57
- package/dist/lib/tag-taxonomy/lifecycle-tags.js.map +0 -1
- package/dist/lib/tag-taxonomy/stack-tags.d.ts +0 -3
- package/dist/lib/tag-taxonomy/stack-tags.d.ts.map +0 -1
- package/dist/lib/tag-taxonomy/stack-tags.js +0 -26
- package/dist/lib/tag-taxonomy/stack-tags.js.map +0 -1
- package/dist/lib/tag-taxonomy/team-tags.d.ts +0 -3
- package/dist/lib/tag-taxonomy/team-tags.d.ts.map +0 -1
- package/dist/lib/tag-taxonomy/team-tags.js +0 -84
- package/dist/lib/tag-taxonomy/team-tags.js.map +0 -1
- package/dist/lib/tag-taxonomy/types.d.ts +0 -14
- package/dist/lib/tag-taxonomy/types.d.ts.map +0 -1
- package/dist/lib/tag-taxonomy/types.js +0 -3
- package/dist/lib/tag-taxonomy/types.js.map +0 -1
- package/dist/nestjs/error-response.dto.d.ts +0 -10
- package/dist/nestjs/error-response.dto.d.ts.map +0 -1
- package/dist/nestjs/error-response.dto.js +0 -46
- package/dist/nestjs/error-response.dto.js.map +0 -1
- package/dist/schemas/xema/analysis.json +0 -51
- package/dist/schemas/xema/clarification-contract.json +0 -49
- package/dist/schemas/xema/context.json +0 -79
- package/dist/schemas/xema/index.d.ts +0 -8
- package/dist/schemas/xema/index.d.ts.map +0 -1
- package/dist/schemas/xema/index.js +0 -28
- package/dist/schemas/xema/index.js.map +0 -1
- package/dist/schemas/xema/review-history.json +0 -42
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateWidget = validateWidget;
|
|
4
|
-
exports.validateInteractionPayload = validateInteractionPayload;
|
|
5
|
-
exports.validateWidgetAnswer = validateWidgetAnswer;
|
|
6
|
-
exports.validateWidgetResponsePayload = validateWidgetResponsePayload;
|
|
7
|
-
const widget_types_1 = require("./widget-types");
|
|
8
|
-
function validateWidget(widget, index) {
|
|
9
|
-
const errors = [];
|
|
10
|
-
const prefix = `widgets[${index}]`;
|
|
11
|
-
if (!widget || typeof widget !== 'object') {
|
|
12
|
-
errors.push({ path: prefix, message: 'Widget must be an object' });
|
|
13
|
-
return errors;
|
|
14
|
-
}
|
|
15
|
-
const w = widget;
|
|
16
|
-
if (!w.id || typeof w.id !== 'string') {
|
|
17
|
-
errors.push({
|
|
18
|
-
path: `${prefix}.id`,
|
|
19
|
-
message: 'Widget id is required and must be a string',
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
if (!w.type || !widget_types_1.WIDGET_TYPES.includes(w.type)) {
|
|
23
|
-
errors.push({
|
|
24
|
-
path: `${prefix}.type`,
|
|
25
|
-
message: `Widget type must be one of: ${widget_types_1.WIDGET_TYPES.join(', ')}`,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
if (!w.title || typeof w.title !== 'string') {
|
|
29
|
-
errors.push({
|
|
30
|
-
path: `${prefix}.title`,
|
|
31
|
-
message: 'Widget title is required and must be a string',
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
if (typeof w.required !== 'boolean') {
|
|
35
|
-
errors.push({
|
|
36
|
-
path: `${prefix}.required`,
|
|
37
|
-
message: 'Widget required must be a boolean',
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
if (typeof w.allowAuto !== 'boolean') {
|
|
41
|
-
errors.push({
|
|
42
|
-
path: `${prefix}.allowAuto`,
|
|
43
|
-
message: 'Widget allowAuto must be a boolean',
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
if (typeof w.allowFreeText !== 'boolean') {
|
|
47
|
-
errors.push({
|
|
48
|
-
path: `${prefix}.allowFreeText`,
|
|
49
|
-
message: 'Widget allowFreeText must be a boolean',
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
const type = w.type;
|
|
53
|
-
if (type === widget_types_1.WidgetType.SINGLE_SELECT || type === widget_types_1.WidgetType.MULTI_SELECT) {
|
|
54
|
-
if (!Array.isArray(w.options) || w.options.length === 0) {
|
|
55
|
-
errors.push({
|
|
56
|
-
path: `${prefix}.options`,
|
|
57
|
-
message: 'Select widgets require a non-empty options array',
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (type === widget_types_1.WidgetType.RATING) {
|
|
62
|
-
if (typeof w.min !== 'number' || typeof w.max !== 'number') {
|
|
63
|
-
errors.push({
|
|
64
|
-
path: `${prefix}.min/max`,
|
|
65
|
-
message: 'Rating widget requires numeric min and max',
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (type === widget_types_1.WidgetType.SLIDER) {
|
|
70
|
-
if (typeof w.min !== 'number' || typeof w.max !== 'number') {
|
|
71
|
-
errors.push({
|
|
72
|
-
path: `${prefix}.min/max`,
|
|
73
|
-
message: 'Slider widget requires numeric min and max',
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (type === widget_types_1.WidgetType.RANKED_LIST) {
|
|
78
|
-
if (!Array.isArray(w.items) || w.items.length === 0) {
|
|
79
|
-
errors.push({
|
|
80
|
-
path: `${prefix}.items`,
|
|
81
|
-
message: 'Ranked list widget requires a non-empty items array',
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
if (type === widget_types_1.WidgetType.PROS_CONS) {
|
|
86
|
-
if (!w.subject || typeof w.subject !== 'string') {
|
|
87
|
-
errors.push({
|
|
88
|
-
path: `${prefix}.subject`,
|
|
89
|
-
message: 'Pros/cons widget requires a subject string',
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (type === widget_types_1.WidgetType.CHECKLIST) {
|
|
94
|
-
if (!Array.isArray(w.items) || w.items.length === 0) {
|
|
95
|
-
errors.push({
|
|
96
|
-
path: `${prefix}.items`,
|
|
97
|
-
message: 'Checklist widget requires a non-empty items array',
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (type === widget_types_1.WidgetType.COMPARISON_TABLE) {
|
|
102
|
-
if (!Array.isArray(w.columns) || w.columns.length === 0) {
|
|
103
|
-
errors.push({
|
|
104
|
-
path: `${prefix}.columns`,
|
|
105
|
-
message: 'Comparison table requires a non-empty columns array',
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
if (!Array.isArray(w.rows) || w.rows.length === 0) {
|
|
109
|
-
errors.push({
|
|
110
|
-
path: `${prefix}.rows`,
|
|
111
|
-
message: 'Comparison table requires a non-empty rows array',
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return errors;
|
|
116
|
-
}
|
|
117
|
-
function validateInteractionPayload(payload) {
|
|
118
|
-
const errors = [];
|
|
119
|
-
if (!payload || typeof payload !== 'object') {
|
|
120
|
-
errors.push({ path: '', message: 'InteractionPayload must be an object' });
|
|
121
|
-
return errors;
|
|
122
|
-
}
|
|
123
|
-
const p = payload;
|
|
124
|
-
if (p.schemaVersion !== widget_types_1.WIDGET_SCHEMA_VERSION) {
|
|
125
|
-
errors.push({
|
|
126
|
-
path: 'schemaVersion',
|
|
127
|
-
message: `Expected schemaVersion "${widget_types_1.WIDGET_SCHEMA_VERSION}", got "${p.schemaVersion}"`,
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
if (!Array.isArray(p.widgets)) {
|
|
131
|
-
errors.push({ path: 'widgets', message: 'widgets must be an array' });
|
|
132
|
-
return errors;
|
|
133
|
-
}
|
|
134
|
-
for (let i = 0; i < p.widgets.length; i++) {
|
|
135
|
-
errors.push(...validateWidget(p.widgets[i], i));
|
|
136
|
-
}
|
|
137
|
-
const ids = p.widgets.map((w) => w.id).filter(Boolean);
|
|
138
|
-
const dupes = ids.filter((id, i) => ids.indexOf(id) !== i);
|
|
139
|
-
if (dupes.length > 0) {
|
|
140
|
-
errors.push({
|
|
141
|
-
path: 'widgets',
|
|
142
|
-
message: `Duplicate widget IDs: ${[...new Set(dupes)].join(', ')}`,
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
return errors;
|
|
146
|
-
}
|
|
147
|
-
function validateWidgetAnswer(answer, widgets, index) {
|
|
148
|
-
const errors = [];
|
|
149
|
-
const prefix = `answers[${index}]`;
|
|
150
|
-
if (!answer || typeof answer !== 'object') {
|
|
151
|
-
errors.push({ path: prefix, message: 'Answer must be an object' });
|
|
152
|
-
return errors;
|
|
153
|
-
}
|
|
154
|
-
const a = answer;
|
|
155
|
-
if (!a.widgetId || typeof a.widgetId !== 'string') {
|
|
156
|
-
errors.push({
|
|
157
|
-
path: `${prefix}.widgetId`,
|
|
158
|
-
message: 'widgetId is required',
|
|
159
|
-
});
|
|
160
|
-
return errors;
|
|
161
|
-
}
|
|
162
|
-
const widget = widgets.find((w) => w.id === a.widgetId);
|
|
163
|
-
if (!widget) {
|
|
164
|
-
errors.push({
|
|
165
|
-
path: `${prefix}.widgetId`,
|
|
166
|
-
message: `No widget found with id "${a.widgetId}"`,
|
|
167
|
-
});
|
|
168
|
-
return errors;
|
|
169
|
-
}
|
|
170
|
-
if (a.auto === true)
|
|
171
|
-
return errors;
|
|
172
|
-
if (a.value === undefined && a.freeText === undefined) {
|
|
173
|
-
errors.push({
|
|
174
|
-
path: `${prefix}.value`,
|
|
175
|
-
message: 'value or freeText is required when auto is false',
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
return errors;
|
|
179
|
-
}
|
|
180
|
-
function validateWidgetResponsePayload(response, widgets) {
|
|
181
|
-
const errors = [];
|
|
182
|
-
if (!response || typeof response !== 'object') {
|
|
183
|
-
errors.push({
|
|
184
|
-
path: '',
|
|
185
|
-
message: 'WidgetResponsePayload must be an object',
|
|
186
|
-
});
|
|
187
|
-
return errors;
|
|
188
|
-
}
|
|
189
|
-
const r = response;
|
|
190
|
-
if (!r.interactionId || typeof r.interactionId !== 'string') {
|
|
191
|
-
errors.push({
|
|
192
|
-
path: 'interactionId',
|
|
193
|
-
message: 'interactionId is required',
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
if (!Array.isArray(r.answers)) {
|
|
197
|
-
errors.push({ path: 'answers', message: 'answers must be an array' });
|
|
198
|
-
return errors;
|
|
199
|
-
}
|
|
200
|
-
for (let i = 0; i < r.answers.length; i++) {
|
|
201
|
-
errors.push(...validateWidgetAnswer(r.answers[i], widgets, i));
|
|
202
|
-
}
|
|
203
|
-
const answeredIds = new Set(r.answers.map((a) => a.widgetId));
|
|
204
|
-
for (const widget of widgets) {
|
|
205
|
-
if (widget.required && !answeredIds.has(widget.id)) {
|
|
206
|
-
errors.push({
|
|
207
|
-
path: `answers`,
|
|
208
|
-
message: `Required widget "${widget.id}" has no answer`,
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
return errors;
|
|
213
|
-
}
|
|
214
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/lib/interaction-widgets/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
export declare const WIDGET_SCHEMA_VERSION = "2.0.0";
|
|
2
|
-
export declare enum WidgetType {
|
|
3
|
-
SINGLE_SELECT = "single_select",
|
|
4
|
-
MULTI_SELECT = "multi_select",
|
|
5
|
-
TEXT_INPUT = "text_input",
|
|
6
|
-
TEXT_AREA = "text_area",
|
|
7
|
-
BOOLEAN = "boolean",
|
|
8
|
-
RATING = "rating",
|
|
9
|
-
CONFIRM = "confirm",
|
|
10
|
-
SLIDER = "slider",
|
|
11
|
-
RANKED_LIST = "ranked_list",
|
|
12
|
-
PROS_CONS = "pros_cons",
|
|
13
|
-
CHECKLIST = "checklist",
|
|
14
|
-
COMPARISON_TABLE = "comparison_table",
|
|
15
|
-
TAG_INPUT = "tag_input"
|
|
16
|
-
}
|
|
17
|
-
export declare const WIDGET_TYPES: WidgetType[];
|
|
18
|
-
export type WidgetComplexity = 'simple' | 'complex';
|
|
19
|
-
export type ChannelFallback = 'native' | 'link';
|
|
20
|
-
export interface ChannelHints {
|
|
21
|
-
complexity?: WidgetComplexity;
|
|
22
|
-
channelFallback?: ChannelFallback;
|
|
23
|
-
nativeOptionsMax?: number;
|
|
24
|
-
}
|
|
25
|
-
export interface WidgetOption {
|
|
26
|
-
value: string;
|
|
27
|
-
label: string;
|
|
28
|
-
description?: string;
|
|
29
|
-
}
|
|
30
|
-
export interface WidgetBase {
|
|
31
|
-
id: string;
|
|
32
|
-
type: WidgetType;
|
|
33
|
-
title: string;
|
|
34
|
-
description?: string;
|
|
35
|
-
key?: string;
|
|
36
|
-
required: boolean;
|
|
37
|
-
allowAuto: boolean;
|
|
38
|
-
allowFreeText: boolean;
|
|
39
|
-
meta?: ChannelHints;
|
|
40
|
-
}
|
|
41
|
-
export interface SingleSelectWidget extends WidgetBase {
|
|
42
|
-
type: WidgetType.SINGLE_SELECT;
|
|
43
|
-
options: WidgetOption[];
|
|
44
|
-
defaultValue?: string;
|
|
45
|
-
}
|
|
46
|
-
export interface MultiSelectWidget extends WidgetBase {
|
|
47
|
-
type: WidgetType.MULTI_SELECT;
|
|
48
|
-
options: WidgetOption[];
|
|
49
|
-
defaultValues?: string[];
|
|
50
|
-
minSelections?: number;
|
|
51
|
-
maxSelections?: number;
|
|
52
|
-
}
|
|
53
|
-
export interface TextInputWidget extends WidgetBase {
|
|
54
|
-
type: WidgetType.TEXT_INPUT;
|
|
55
|
-
placeholder?: string;
|
|
56
|
-
defaultValue?: string;
|
|
57
|
-
maxLength?: number;
|
|
58
|
-
}
|
|
59
|
-
export interface TextAreaWidget extends WidgetBase {
|
|
60
|
-
type: WidgetType.TEXT_AREA;
|
|
61
|
-
placeholder?: string;
|
|
62
|
-
defaultValue?: string;
|
|
63
|
-
maxLength?: number;
|
|
64
|
-
rows?: number;
|
|
65
|
-
}
|
|
66
|
-
export interface BooleanWidget extends WidgetBase {
|
|
67
|
-
type: WidgetType.BOOLEAN;
|
|
68
|
-
trueLabel?: string;
|
|
69
|
-
falseLabel?: string;
|
|
70
|
-
defaultValue?: boolean;
|
|
71
|
-
}
|
|
72
|
-
export interface RatingWidget extends WidgetBase {
|
|
73
|
-
type: WidgetType.RATING;
|
|
74
|
-
min: number;
|
|
75
|
-
max: number;
|
|
76
|
-
step?: number;
|
|
77
|
-
defaultValue?: number;
|
|
78
|
-
labels?: Record<number, string>;
|
|
79
|
-
}
|
|
80
|
-
export interface ConfirmWidget extends WidgetBase {
|
|
81
|
-
type: WidgetType.CONFIRM;
|
|
82
|
-
confirmLabel?: string;
|
|
83
|
-
declineLabel?: string;
|
|
84
|
-
defaultValue?: boolean;
|
|
85
|
-
}
|
|
86
|
-
export interface SliderWidget extends WidgetBase {
|
|
87
|
-
type: WidgetType.SLIDER;
|
|
88
|
-
min: number;
|
|
89
|
-
max: number;
|
|
90
|
-
step?: number;
|
|
91
|
-
defaultValue?: number;
|
|
92
|
-
labels?: Record<number, string>;
|
|
93
|
-
unit?: string;
|
|
94
|
-
}
|
|
95
|
-
export interface RankedListWidget extends WidgetBase {
|
|
96
|
-
type: WidgetType.RANKED_LIST;
|
|
97
|
-
items: WidgetOption[];
|
|
98
|
-
defaultOrder?: string[];
|
|
99
|
-
maxRanked?: number;
|
|
100
|
-
}
|
|
101
|
-
export interface ProsConsWidget extends WidgetBase {
|
|
102
|
-
type: WidgetType.PROS_CONS;
|
|
103
|
-
subject: string;
|
|
104
|
-
defaultPros?: string[];
|
|
105
|
-
defaultCons?: string[];
|
|
106
|
-
allowUserEntries?: boolean;
|
|
107
|
-
}
|
|
108
|
-
export interface ChecklistWidget extends WidgetBase {
|
|
109
|
-
type: WidgetType.CHECKLIST;
|
|
110
|
-
items: (WidgetOption & {
|
|
111
|
-
checked?: boolean;
|
|
112
|
-
})[];
|
|
113
|
-
allowUserItems?: boolean;
|
|
114
|
-
}
|
|
115
|
-
export interface ComparisonTableWidget extends WidgetBase {
|
|
116
|
-
type: WidgetType.COMPARISON_TABLE;
|
|
117
|
-
columns: {
|
|
118
|
-
key: string;
|
|
119
|
-
label: string;
|
|
120
|
-
}[];
|
|
121
|
-
rows: {
|
|
122
|
-
key: string;
|
|
123
|
-
label: string;
|
|
124
|
-
description?: string;
|
|
125
|
-
}[];
|
|
126
|
-
defaultValues?: Record<string, string>;
|
|
127
|
-
editable?: boolean;
|
|
128
|
-
}
|
|
129
|
-
export interface TagInputWidget extends WidgetBase {
|
|
130
|
-
type: WidgetType.TAG_INPUT;
|
|
131
|
-
suggestions?: string[];
|
|
132
|
-
defaultTags?: string[];
|
|
133
|
-
maxTags?: number;
|
|
134
|
-
allowCustomTags?: boolean;
|
|
135
|
-
placeholder?: string;
|
|
136
|
-
}
|
|
137
|
-
export type Widget = SingleSelectWidget | MultiSelectWidget | TextInputWidget | TextAreaWidget | BooleanWidget | RatingWidget | ConfirmWidget | SliderWidget | RankedListWidget | ProsConsWidget | ChecklistWidget | ComparisonTableWidget | TagInputWidget;
|
|
138
|
-
export interface WidgetGroup {
|
|
139
|
-
id: string;
|
|
140
|
-
title?: string;
|
|
141
|
-
description?: string;
|
|
142
|
-
widgetIds: string[];
|
|
143
|
-
}
|
|
144
|
-
export interface WidgetLayout {
|
|
145
|
-
groups?: WidgetGroup[];
|
|
146
|
-
}
|
|
147
|
-
export interface InteractionPayload {
|
|
148
|
-
schemaVersion: string;
|
|
149
|
-
widgets: Widget[];
|
|
150
|
-
layout?: WidgetLayout;
|
|
151
|
-
defaultValues?: Record<string, unknown>;
|
|
152
|
-
}
|
|
153
|
-
export interface WidgetAnswer {
|
|
154
|
-
widgetId: string;
|
|
155
|
-
value: unknown;
|
|
156
|
-
auto?: boolean;
|
|
157
|
-
freeText?: string;
|
|
158
|
-
}
|
|
159
|
-
export interface WidgetResponsePayload {
|
|
160
|
-
interactionId: string;
|
|
161
|
-
answers: WidgetAnswer[];
|
|
162
|
-
}
|
|
163
|
-
//# sourceMappingURL=widget-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"widget-types.d.ts","sourceRoot":"","sources":["../../../src/lib/interaction-widgets/widget-types.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAI7C,oBAAY,UAAU;IAEpB,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IAGnB,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;CACxB;AAGD,eAAO,MAAM,YAAY,cAA4B,CAAC;AAItD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,YAAY;IAE3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,WAAW,UAAU;IAEzB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,UAAU,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,OAAO,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAID,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;IAC9B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAID,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;IAE7B,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;IAE3B,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;IAC3B,KAAK,EAAE,CAAC,YAAY,GAAG;QAErB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,EAAE,CAAC;IAEL,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC;IAElC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE1C,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE7D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;IAE3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,MAAM,GACd,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,aAAa,GACb,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,qBAAqB,GACrB,cAAc,CAAC;AAInB,MAAM,WAAW,WAAW;IAE1B,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAE3B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAKD,MAAM,WAAW,kBAAkB;IAEjC,aAAa,EAAE,MAAM,CAAC;IAEtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAKD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,OAAO,CAAC;IAEf,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,qBAAqB;IAEpC,aAAa,EAAE,MAAM,CAAC;IAEtB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WIDGET_TYPES = exports.WidgetType = exports.WIDGET_SCHEMA_VERSION = void 0;
|
|
4
|
-
exports.WIDGET_SCHEMA_VERSION = '2.0.0';
|
|
5
|
-
var WidgetType;
|
|
6
|
-
(function (WidgetType) {
|
|
7
|
-
WidgetType["SINGLE_SELECT"] = "single_select";
|
|
8
|
-
WidgetType["MULTI_SELECT"] = "multi_select";
|
|
9
|
-
WidgetType["TEXT_INPUT"] = "text_input";
|
|
10
|
-
WidgetType["TEXT_AREA"] = "text_area";
|
|
11
|
-
WidgetType["BOOLEAN"] = "boolean";
|
|
12
|
-
WidgetType["RATING"] = "rating";
|
|
13
|
-
WidgetType["CONFIRM"] = "confirm";
|
|
14
|
-
WidgetType["SLIDER"] = "slider";
|
|
15
|
-
WidgetType["RANKED_LIST"] = "ranked_list";
|
|
16
|
-
WidgetType["PROS_CONS"] = "pros_cons";
|
|
17
|
-
WidgetType["CHECKLIST"] = "checklist";
|
|
18
|
-
WidgetType["COMPARISON_TABLE"] = "comparison_table";
|
|
19
|
-
WidgetType["TAG_INPUT"] = "tag_input";
|
|
20
|
-
})(WidgetType || (exports.WidgetType = WidgetType = {}));
|
|
21
|
-
exports.WIDGET_TYPES = Object.values(WidgetType);
|
|
22
|
-
//# sourceMappingURL=widget-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"widget-types.js","sourceRoot":"","sources":["../../../src/lib/interaction-widgets/widget-types.ts"],"names":[],"mappings":";;;AAQa,QAAA,qBAAqB,GAAG,OAAO,CAAC;AAI7C,IAAY,UAiBX;AAjBD,WAAY,UAAU;IAEpB,6CAA+B,CAAA;IAC/B,2CAA6B,CAAA;IAC7B,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IAGnB,+BAAiB,CAAA;IACjB,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,mDAAqC,CAAA;IACrC,qCAAuB,CAAA;AACzB,CAAC,EAjBW,UAAU,0BAAV,UAAU,QAiBrB;AAGY,QAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export declare const RUN_ACTION_TYPES: readonly ["pause_after_safe_boundary", "resume_run", "stop_run", "approve_gate", "reject_gate", "redo_from_checkpoint", "fork_run_from_checkpoint", "challenge_decision", "comment_on_event", "acknowledge_missed_summary"];
|
|
2
|
-
export type RunActionType = (typeof RUN_ACTION_TYPES)[number];
|
|
3
|
-
export declare const RUN_ACTION_TYPE_SET: ReadonlySet<string>;
|
|
4
|
-
export declare function isRunActionType(value: unknown): value is RunActionType;
|
|
5
|
-
export declare const ACTION_TARGET_TYPES: readonly ["run", "event", "gate", "checkpoint", "phase", "artifact"];
|
|
6
|
-
export type ActionTargetType = (typeof ACTION_TARGET_TYPES)[number];
|
|
7
|
-
export type ActionTarget = {
|
|
8
|
-
targetType: 'run';
|
|
9
|
-
} | {
|
|
10
|
-
targetType: 'event';
|
|
11
|
-
eventId: string;
|
|
12
|
-
} | {
|
|
13
|
-
targetType: 'gate';
|
|
14
|
-
gateId: string;
|
|
15
|
-
} | {
|
|
16
|
-
targetType: 'checkpoint';
|
|
17
|
-
checkpointEventId: string;
|
|
18
|
-
} | {
|
|
19
|
-
targetType: 'phase';
|
|
20
|
-
groupKey: string;
|
|
21
|
-
} | {
|
|
22
|
-
targetType: 'artifact';
|
|
23
|
-
artifactId: string;
|
|
24
|
-
};
|
|
25
|
-
export interface ActionPreconditions {
|
|
26
|
-
expectedSnapshotVersion: number;
|
|
27
|
-
expectedRunStatus?: string;
|
|
28
|
-
expectedGroupKey?: string;
|
|
29
|
-
}
|
|
30
|
-
export interface RunHumanActionRequest {
|
|
31
|
-
actionType: RunActionType;
|
|
32
|
-
target: ActionTarget;
|
|
33
|
-
payload?: unknown;
|
|
34
|
-
preconditions: ActionPreconditions;
|
|
35
|
-
}
|
|
36
|
-
export declare const CHECKPOINT_ELIGIBLE_EVENT_TYPES: readonly ["phase.lifecycle.completed", "phase.step.coordination_completed", "gate.resolved", "artifact.lifecycle.approved"];
|
|
37
|
-
export type CheckpointEligibleEventType = (typeof CHECKPOINT_ELIGIBLE_EVENT_TYPES)[number];
|
|
38
|
-
export declare const CHECKPOINT_ELIGIBLE_EVENT_TYPE_SET: ReadonlySet<string>;
|
|
39
|
-
export declare function isCheckpointEligible(eventType: string): boolean;
|
|
40
|
-
//# sourceMappingURL=action-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action-types.d.ts","sourceRoot":"","sources":["../../../src/lib/run-events/action-types.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,6NAWnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAEnD,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAID,eAAO,MAAM,mBAAmB,sEAOtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,YAAY,GACpB;IAAE,UAAU,EAAE,KAAK,CAAA;CAAE,GACrB;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,UAAU,EAAE,YAAY,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAQnD,MAAM,WAAW,mBAAmB;IAClC,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,aAAa,CAAC;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,mBAAmB,CAAC;CACpC;AAUD,eAAO,MAAM,+BAA+B,6HAKlC,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,eAAO,MAAM,kCAAkC,EAAE,WAAW,CAAC,MAAM,CAElE,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/D"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CHECKPOINT_ELIGIBLE_EVENT_TYPE_SET = exports.CHECKPOINT_ELIGIBLE_EVENT_TYPES = exports.ACTION_TARGET_TYPES = exports.RUN_ACTION_TYPE_SET = exports.RUN_ACTION_TYPES = void 0;
|
|
4
|
-
exports.isRunActionType = isRunActionType;
|
|
5
|
-
exports.isCheckpointEligible = isCheckpointEligible;
|
|
6
|
-
exports.RUN_ACTION_TYPES = [
|
|
7
|
-
'pause_after_safe_boundary',
|
|
8
|
-
'resume_run',
|
|
9
|
-
'stop_run',
|
|
10
|
-
'approve_gate',
|
|
11
|
-
'reject_gate',
|
|
12
|
-
'redo_from_checkpoint',
|
|
13
|
-
'fork_run_from_checkpoint',
|
|
14
|
-
'challenge_decision',
|
|
15
|
-
'comment_on_event',
|
|
16
|
-
'acknowledge_missed_summary',
|
|
17
|
-
];
|
|
18
|
-
exports.RUN_ACTION_TYPE_SET = new Set(exports.RUN_ACTION_TYPES);
|
|
19
|
-
function isRunActionType(value) {
|
|
20
|
-
return typeof value === 'string' && exports.RUN_ACTION_TYPE_SET.has(value);
|
|
21
|
-
}
|
|
22
|
-
exports.ACTION_TARGET_TYPES = [
|
|
23
|
-
'run',
|
|
24
|
-
'event',
|
|
25
|
-
'gate',
|
|
26
|
-
'checkpoint',
|
|
27
|
-
'phase',
|
|
28
|
-
'artifact',
|
|
29
|
-
];
|
|
30
|
-
exports.CHECKPOINT_ELIGIBLE_EVENT_TYPES = [
|
|
31
|
-
'phase.lifecycle.completed',
|
|
32
|
-
'phase.step.coordination_completed',
|
|
33
|
-
'gate.resolved',
|
|
34
|
-
'artifact.lifecycle.approved',
|
|
35
|
-
];
|
|
36
|
-
exports.CHECKPOINT_ELIGIBLE_EVENT_TYPE_SET = new Set(exports.CHECKPOINT_ELIGIBLE_EVENT_TYPES);
|
|
37
|
-
function isCheckpointEligible(eventType) {
|
|
38
|
-
return exports.CHECKPOINT_ELIGIBLE_EVENT_TYPE_SET.has(eventType);
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=action-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action-types.js","sourceRoot":"","sources":["../../../src/lib/run-events/action-types.ts"],"names":[],"mappings":";;;AAwBA,0CAEC;AAkED,oDAEC;AAzFY,QAAA,gBAAgB,GAAG;IAC9B,2BAA2B;IAC3B,YAAY;IACZ,UAAU;IACV,cAAc;IACd,aAAa;IACb,sBAAsB;IACtB,0BAA0B;IAC1B,oBAAoB;IACpB,kBAAkB;IAClB,4BAA4B;CACpB,CAAC;AAIE,QAAA,mBAAmB,GAAwB,IAAI,GAAG,CAC7D,wBAAgB,CACjB,CAAC;AAEF,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,2BAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAIY,QAAA,mBAAmB,GAAG;IACjC,KAAK;IACL,OAAO;IACP,MAAM;IACN,YAAY;IACZ,OAAO;IACP,UAAU;CACF,CAAC;AAyCE,QAAA,+BAA+B,GAAG;IAC7C,2BAA2B;IAC3B,mCAAmC;IACnC,eAAe;IACf,6BAA6B;CACrB,CAAC;AAKE,QAAA,kCAAkC,GAAwB,IAAI,GAAG,CAC5E,uCAA+B,CAChC,CAAC;AAEF,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,OAAO,0CAAkC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
export declare const SEMANTIC_EVENT_TYPES: readonly ["run.lifecycle.started", "run.lifecycle.completed", "run.lifecycle.stopped", "run.lifecycle.cancelled", "run.lifecycle.failed", "run.lifecycle.paused", "run.lifecycle.resumed", "run.cost.updated", "phase.lifecycle.started", "phase.lifecycle.completed", "phase.lifecycle.retrying", "phase.lifecycle.gate_started", "phase.lifecycle.gate_result", "phase.step.planning_started", "phase.step.planning_completed", "phase.step.planning_coverage_gap", "phase.step.packages_started", "phase.step.package_started", "phase.step.package_completed", "phase.step.coordination_started", "phase.step.coordination_completed", "phase.step.template_resolution_started", "phase.step.template_resolution_completed", "phase.skipped_by_policy", "run.lifecycle.timeout_warning", "run.lifecycle.waiting_for_slot", "worker.session.acquiring", "worker.session.acquired", "worker.session.setup", "worker.session.provisioning", "worker.session.phase_changed", "worker.session.initializing", "worker.session.idle", "worker.session.finishing", "worker.session.released", "worker.session.failed", "worker.session.status_change", "worker.session.checkpoint", "capacity.slot.available", "capacity.slot.unavailable", "capacity.limit.reached", "admission.queued", "admission.admitted", "admission.rejected", "admission.timeout", "artifact.lifecycle.proposed", "artifact.lifecycle.validated", "artifact.lifecycle.approved", "artifact.lifecycle.rejected", "artifact.lifecycle.merged", "artifact.lifecycle.superseded", "artifact.lifecycle.archived", "artifact.storage.created", "artifact.storage.versioned", "artifact.storage.finalized", "gate.requested", "gate.check_updated", "gate.vote_cast", "gate.resolved", "gate.convergence_warning", "gate.reviewing", "gate.review_findings", "gate.feedback_dispatched", "gate.artifact_unchanged", "validation.tier1_passed", "validation.tier1_failed", "validation.tier2_passed", "validation.tier2_failed", "validation.tier3_requested", "validation.tier3_passed", "validation.tier3_failed", "blocker.raised", "blocker.resolved", "decision.made", "decision.challenged", "action.required.approval", "action.required.review", "action.required.escalation", "action.resolved", "work_unit.started", "work_unit.exploring", "work_unit.implementing", "work_unit.testing", "work_unit.reviewing", "work_unit.completed", "work_unit.failed", "work_unit.escalated", "escalation.blocked", "escalation.ambiguous", "escalation.human_required", "escalation.context_overflow", "error.detail", "progress.checkpoint", "progress.phase_progress", "policy.applied", "policy.overridden", "audit.sessions_completed", "workforce.resolution_started", "workforce.skill_resolution_started", "workforce.skill_resolution_deterministic_match", "workforce.skill_resolution_llm_fallback", "workforce.skills_resolved", "workforce.structural_gap_detected", "workforce.specialist_detected", "workforce.new_agent_composed", "workforce.built", "connector.sync.completed", "connector.sync.failed", "cu.plan_drafted", "cu.plan_approved", "cu.amendment_requested", "cu.amendment_approved", "cu.executor_started", "cu.executor_finished"];
|
|
2
|
-
export type SemanticEventType = (typeof SEMANTIC_EVENT_TYPES)[number];
|
|
3
|
-
export declare const SEMANTIC_EVENT_TYPE_SET: ReadonlySet<string>;
|
|
4
|
-
export declare function isSemanticEventType(value: unknown): value is SemanticEventType;
|
|
5
|
-
export declare const TRACE_EVENT_TYPES: readonly ["worker.tool_call.started", "worker.tool_call.completed", "worker.tool_call.error", "worker.file_patch.proposed", "worker.file_patch.applied", "worker.file_patch.rejected", "worker.session.todo_updated", "worker.session.created", "worker.session.message_user", "worker.session.message_assistant", "telemetry.token_usage", "telemetry.model_switch", "telemetry.tool_timing", "telemetry.progress_ping", "evidence.attached", "evidence.test_results", "evidence.build_log", "evidence.coverage_report", "conversation.chunk", "cu.todo_completed"];
|
|
6
|
-
export type TraceEventType = (typeof TRACE_EVENT_TYPES)[number];
|
|
7
|
-
export declare const TRACE_EVENT_TYPE_SET: ReadonlySet<string>;
|
|
8
|
-
export declare function isTraceEventType(value: unknown): value is TraceEventType;
|
|
9
|
-
export declare const RUN_EVENT_TYPES: readonly ["run.lifecycle.started", "run.lifecycle.completed", "run.lifecycle.stopped", "run.lifecycle.cancelled", "run.lifecycle.failed", "run.lifecycle.paused", "run.lifecycle.resumed", "run.cost.updated", "phase.lifecycle.started", "phase.lifecycle.completed", "phase.lifecycle.retrying", "phase.lifecycle.gate_started", "phase.lifecycle.gate_result", "phase.step.planning_started", "phase.step.planning_completed", "phase.step.planning_coverage_gap", "phase.step.packages_started", "phase.step.package_started", "phase.step.package_completed", "phase.step.coordination_started", "phase.step.coordination_completed", "phase.step.template_resolution_started", "phase.step.template_resolution_completed", "phase.skipped_by_policy", "run.lifecycle.timeout_warning", "run.lifecycle.waiting_for_slot", "worker.session.acquiring", "worker.session.acquired", "worker.session.setup", "worker.session.provisioning", "worker.session.phase_changed", "worker.session.initializing", "worker.session.idle", "worker.session.finishing", "worker.session.released", "worker.session.failed", "worker.session.status_change", "worker.session.checkpoint", "capacity.slot.available", "capacity.slot.unavailable", "capacity.limit.reached", "admission.queued", "admission.admitted", "admission.rejected", "admission.timeout", "artifact.lifecycle.proposed", "artifact.lifecycle.validated", "artifact.lifecycle.approved", "artifact.lifecycle.rejected", "artifact.lifecycle.merged", "artifact.lifecycle.superseded", "artifact.lifecycle.archived", "artifact.storage.created", "artifact.storage.versioned", "artifact.storage.finalized", "gate.requested", "gate.check_updated", "gate.vote_cast", "gate.resolved", "gate.convergence_warning", "gate.reviewing", "gate.review_findings", "gate.feedback_dispatched", "gate.artifact_unchanged", "validation.tier1_passed", "validation.tier1_failed", "validation.tier2_passed", "validation.tier2_failed", "validation.tier3_requested", "validation.tier3_passed", "validation.tier3_failed", "blocker.raised", "blocker.resolved", "decision.made", "decision.challenged", "action.required.approval", "action.required.review", "action.required.escalation", "action.resolved", "work_unit.started", "work_unit.exploring", "work_unit.implementing", "work_unit.testing", "work_unit.reviewing", "work_unit.completed", "work_unit.failed", "work_unit.escalated", "escalation.blocked", "escalation.ambiguous", "escalation.human_required", "escalation.context_overflow", "error.detail", "progress.checkpoint", "progress.phase_progress", "policy.applied", "policy.overridden", "audit.sessions_completed", "workforce.resolution_started", "workforce.skill_resolution_started", "workforce.skill_resolution_deterministic_match", "workforce.skill_resolution_llm_fallback", "workforce.skills_resolved", "workforce.structural_gap_detected", "workforce.specialist_detected", "workforce.new_agent_composed", "workforce.built", "connector.sync.completed", "connector.sync.failed", "cu.plan_drafted", "cu.plan_approved", "cu.amendment_requested", "cu.amendment_approved", "cu.executor_started", "cu.executor_finished", "worker.tool_call.started", "worker.tool_call.completed", "worker.tool_call.error", "worker.file_patch.proposed", "worker.file_patch.applied", "worker.file_patch.rejected", "worker.session.todo_updated", "worker.session.created", "worker.session.message_user", "worker.session.message_assistant", "telemetry.token_usage", "telemetry.model_switch", "telemetry.tool_timing", "telemetry.progress_ping", "evidence.attached", "evidence.test_results", "evidence.build_log", "evidence.coverage_report", "conversation.chunk", "cu.todo_completed"];
|
|
10
|
-
export type RunEventType = SemanticEventType | TraceEventType;
|
|
11
|
-
export declare const RUN_EVENT_TYPE_SET: ReadonlySet<string>;
|
|
12
|
-
export declare function isRunEventType(value: unknown): value is RunEventType;
|
|
13
|
-
export declare const RUN_EVENT_FAMILIES: readonly ["run.lifecycle", "run.cost", "phase.lifecycle", "phase.step", "phase.skipped_by_policy", "worker.session", "artifact.lifecycle", "artifact.storage", "gate", "validation", "blocker", "decision", "action.required", "action", "work_unit", "escalation", "error", "progress", "policy", "worker.tool_call", "worker.file_patch", "telemetry", "evidence", "audit", "workforce", "connector", "capacity", "admission", "conversation", "cu"];
|
|
14
|
-
export type RunEventFamily = (typeof RUN_EVENT_FAMILIES)[number];
|
|
15
|
-
export declare const RUN_EVENT_FAMILY_SET: ReadonlySet<string>;
|
|
16
|
-
export declare function isRunEventFamily(value: unknown): value is RunEventFamily;
|
|
17
|
-
export declare const SNAPSHOT_RELEVANT_EVENT_TYPES: ReadonlySet<string>;
|
|
18
|
-
export interface CapacitySlotPayload {
|
|
19
|
-
availableSlots: number;
|
|
20
|
-
totalSlots: number;
|
|
21
|
-
}
|
|
22
|
-
export interface CapacityUnavailablePayload {
|
|
23
|
-
queuePosition: number;
|
|
24
|
-
estimatedWaitMs: number | null;
|
|
25
|
-
}
|
|
26
|
-
export interface CapacityLimitReachedPayload {
|
|
27
|
-
policyType: 'org' | 'project';
|
|
28
|
-
currentCount: number;
|
|
29
|
-
maxAllowed: number;
|
|
30
|
-
}
|
|
31
|
-
export interface AdmissionQueuedPayload {
|
|
32
|
-
queuePosition: number;
|
|
33
|
-
reason: string;
|
|
34
|
-
}
|
|
35
|
-
export interface AdmissionAdmittedPayload {
|
|
36
|
-
waitDurationMs: number;
|
|
37
|
-
}
|
|
38
|
-
export interface AdmissionRejectedPayload {
|
|
39
|
-
reason: string;
|
|
40
|
-
policyType: 'org' | 'project';
|
|
41
|
-
}
|
|
42
|
-
export interface AdmissionTimeoutPayload {
|
|
43
|
-
waitDurationMs: number;
|
|
44
|
-
maxWaitMs: number;
|
|
45
|
-
}
|
|
46
|
-
export interface WorkerProvisioningPayload {
|
|
47
|
-
backendType: string;
|
|
48
|
-
startedAt: string;
|
|
49
|
-
}
|
|
50
|
-
export interface WorkerProvisioningPhasePayload {
|
|
51
|
-
phase: string;
|
|
52
|
-
previousPhase?: string | null;
|
|
53
|
-
totalElapsedMs?: number;
|
|
54
|
-
failureReason?: string;
|
|
55
|
-
workerPhaseKey?: string;
|
|
56
|
-
reviewerAgent?: string;
|
|
57
|
-
}
|
|
58
|
-
export interface WorkerInitializingPayload {
|
|
59
|
-
provisionDurationMs: number;
|
|
60
|
-
}
|
|
61
|
-
export interface WorkerIdlePayload {
|
|
62
|
-
idleSinceMs: number;
|
|
63
|
-
}
|
|
64
|
-
export interface WorkerFinishingPayload {
|
|
65
|
-
reason: string;
|
|
66
|
-
}
|
|
67
|
-
export interface RunTimeoutWarningPayload {
|
|
68
|
-
elapsedMs: number;
|
|
69
|
-
maxDurationMs: number;
|
|
70
|
-
remainingMs: number;
|
|
71
|
-
}
|
|
72
|
-
export interface RunWaitingForSlotPayload {
|
|
73
|
-
since: string;
|
|
74
|
-
estimatedWaitMs: number | null;
|
|
75
|
-
}
|
|
76
|
-
export interface AllocationTimingMetrics {
|
|
77
|
-
queueWaitMs: number | null;
|
|
78
|
-
provisioningMs: number | null;
|
|
79
|
-
totalSetupMs: number | null;
|
|
80
|
-
executionMs: number | null;
|
|
81
|
-
totalDurationMs: number | null;
|
|
82
|
-
}
|
|
83
|
-
export interface PolicyEventPayload {
|
|
84
|
-
policyLayer: 'platform' | 'org' | 'project_constitution' | 'run_type' | 'phase' | 'domain_preset';
|
|
85
|
-
policyKey: string;
|
|
86
|
-
decision: 'applied' | 'overridden' | 'skipped';
|
|
87
|
-
reason: string;
|
|
88
|
-
affectedPhaseKeys?: string[];
|
|
89
|
-
affectedActionTypes?: string[];
|
|
90
|
-
traceRef?: {
|
|
91
|
-
kind: string;
|
|
92
|
-
id: string;
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=event-families.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-families.d.ts","sourceRoot":"","sources":["../../../src/lib/run-events/event-families.ts"],"names":[],"mappings":"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"}
|