@happyvertical/smrt-ingestion 0.55.8 → 0.55.10
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/README.md +21 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +88 -1
- package/dist/index.js.map +1 -0
- package/dist/manifest.json +118 -1
- package/dist/models.js +1 -1
- package/dist/models.js.map +1 -1
- package/dist/recipes.d.ts +81 -0
- package/dist/recipes.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +122 -5
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -161,3 +161,24 @@ assignment ownership, and the maintained upload-to-domain-result browser fixture
|
|
|
161
161
|
Optional explicit feedback and scoped example retrieval are documented in
|
|
162
162
|
[FEEDBACK.md](FEEDBACK.md). Approval and execution outcomes remain separate from
|
|
163
163
|
interpretation correctness; routing policy adoption is explicit and versioned.
|
|
164
|
+
|
|
165
|
+
## Recipe preview
|
|
166
|
+
|
|
167
|
+
`ingestion.inbox` and `ingestion.review` declare the user-facing inbox and
|
|
168
|
+
review workflows for app discovery. The reference workflow and measured
|
|
169
|
+
evaluation are now published, but the evaluation did not meet supported-reference
|
|
170
|
+
quality gates and did not establish safety. Automation remains disabled. The
|
|
171
|
+
recipes do not configure a source or provider, expose generic CRUD routes, or
|
|
172
|
+
enable automatic execution. Mount `IntakeInbox` and `IntakeReview` with an
|
|
173
|
+
authenticated `IntakeReviewHost`; [REVIEW.md](REVIEW.md) remains the source of
|
|
174
|
+
truth for its scoped callbacks and freshness checks. See the [adoption
|
|
175
|
+
checklist](../../docs/evaluation/3677-adoption.md) and [measured
|
|
176
|
+
report](../../docs/evaluation/3677-measured-evaluation.md) for the release
|
|
177
|
+
limits.
|
|
178
|
+
|
|
179
|
+
The recipe manifest registers those existing browser components as
|
|
180
|
+
`/ingestion/inbox` and `/ingestion/review` routes for a host to mount. The route
|
|
181
|
+
metadata does not supply a host, source, provider, or demo fixture, and it does
|
|
182
|
+
not change the preview-only status. Both recipes declare `both` runtime: their
|
|
183
|
+
components render in a browser, while the authenticated review host and package
|
|
184
|
+
dependency closure require a server.
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAEhC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAEhC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,90 @@
|
|
|
1
1
|
import "./dto.js";
|
|
2
2
|
import { IntakeAction, IntakeAnalysis, IntakeAnalysisAttempt, IntakeDeletion, IntakeDispatch, IntakeEvidence, IntakeExecution, IntakeFeedback, IntakeItem, IntakePlan, IntakeProposal, IntakeReviewDecision } from "./models.js";
|
|
3
|
-
|
|
3
|
+
import { SmrtRecipe } from "@happyvertical/smrt-core";
|
|
4
|
+
//#region src/recipes.ts
|
|
5
|
+
var IngestionInboxRecipe = class extends SmrtRecipe {
|
|
6
|
+
static id = "ingestion.inbox";
|
|
7
|
+
static help = "./ingestion-inbox.recipe.md";
|
|
8
|
+
static label = "Ingestion inbox";
|
|
9
|
+
static summary = "Review incoming material and see which items need attention.";
|
|
10
|
+
static synonyms = [
|
|
11
|
+
"intake inbox",
|
|
12
|
+
"incoming documents",
|
|
13
|
+
"review queue"
|
|
14
|
+
];
|
|
15
|
+
static group = {
|
|
16
|
+
id: "ingestion",
|
|
17
|
+
label: "Ingestion",
|
|
18
|
+
summary: "Review incoming material safely before it can change records."
|
|
19
|
+
};
|
|
20
|
+
static section = {
|
|
21
|
+
id: "ingestion",
|
|
22
|
+
label: "Ingestion",
|
|
23
|
+
icon: "archive",
|
|
24
|
+
description: "Incoming material and its authenticated review workflow."
|
|
25
|
+
};
|
|
26
|
+
static models = [IntakeItem, IntakeEvidence];
|
|
27
|
+
static runtime = "both";
|
|
28
|
+
static surfaces = [{
|
|
29
|
+
kind: "route",
|
|
30
|
+
path: "/ingestion/inbox",
|
|
31
|
+
export: "@happyvertical/smrt-ingestion/svelte#IntakeInbox",
|
|
32
|
+
label: "Ingestion inbox"
|
|
33
|
+
}];
|
|
34
|
+
static nav = [{
|
|
35
|
+
label: "Ingestion inbox",
|
|
36
|
+
model: IntakeItem,
|
|
37
|
+
icon: "archive",
|
|
38
|
+
description: "Incoming material that needs authenticated attention.",
|
|
39
|
+
key: "inbox",
|
|
40
|
+
noun: "inbox item"
|
|
41
|
+
}];
|
|
42
|
+
};
|
|
43
|
+
var IngestionReviewRecipe = class extends SmrtRecipe {
|
|
44
|
+
static id = "ingestion.review";
|
|
45
|
+
static help = "./ingestion-review.recipe.md";
|
|
46
|
+
static label = "Ingestion review";
|
|
47
|
+
static summary = "Inspect evidence and approve, change, reject, or defer proposed actions.";
|
|
48
|
+
static synonyms = [
|
|
49
|
+
"intake review",
|
|
50
|
+
"proposal review",
|
|
51
|
+
"human approval"
|
|
52
|
+
];
|
|
53
|
+
static group = {
|
|
54
|
+
id: "ingestion",
|
|
55
|
+
label: "Ingestion",
|
|
56
|
+
summary: "Review incoming material safely before it can change records."
|
|
57
|
+
};
|
|
58
|
+
static section = {
|
|
59
|
+
id: "ingestion",
|
|
60
|
+
label: "Ingestion",
|
|
61
|
+
icon: "archive",
|
|
62
|
+
description: "Incoming material and its authenticated review workflow."
|
|
63
|
+
};
|
|
64
|
+
static models = [
|
|
65
|
+
IntakeItem,
|
|
66
|
+
IntakeEvidence,
|
|
67
|
+
IntakeAnalysis,
|
|
68
|
+
IntakeAction,
|
|
69
|
+
IntakeReviewDecision
|
|
70
|
+
];
|
|
71
|
+
static runtime = "both";
|
|
72
|
+
static surfaces = [{
|
|
73
|
+
kind: "route",
|
|
74
|
+
path: "/ingestion/review",
|
|
75
|
+
export: "@happyvertical/smrt-ingestion/svelte#IntakeReview",
|
|
76
|
+
label: "Ingestion review"
|
|
77
|
+
}];
|
|
78
|
+
static nav = [{
|
|
79
|
+
label: "Ingestion review",
|
|
80
|
+
model: IntakeReviewDecision,
|
|
81
|
+
icon: "fileText",
|
|
82
|
+
description: "Revision-bound decisions on proposed actions.",
|
|
83
|
+
key: "review",
|
|
84
|
+
noun: "review decision"
|
|
85
|
+
}];
|
|
86
|
+
};
|
|
87
|
+
//#endregion
|
|
88
|
+
export { IngestionInboxRecipe, IngestionReviewRecipe, IntakeAction, IntakeAnalysis, IntakeAnalysisAttempt, IntakeDeletion, IntakeDispatch, IntakeEvidence, IntakeExecution, IntakeFeedback, IntakeItem, IntakePlan, IntakeProposal, IntakeReviewDecision };
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/recipes.ts"],"sourcesContent":["/**\n * Declared ingestion workflows for applications that provide an authenticated\n * intake-review host (#3725).\n *\n * These recipes describe the user-facing inbox and review work. They do not\n * expose the ingestion records as generic CRUD models: all reads and writes\n * continue through the host's scoped service callbacks.\n */\n\nimport { SmrtRecipe } from '@happyvertical/smrt-core';\nimport {\n IntakeAction,\n IntakeAnalysis,\n IntakeEvidence,\n IntakeItem,\n IntakeReviewDecision,\n} from './models.js';\n\n/** Incoming material that needs authenticated human attention. */\nexport class IngestionInboxRecipe extends SmrtRecipe {\n static id = 'ingestion.inbox';\n static help = './ingestion-inbox.recipe.md';\n static label = 'Ingestion inbox';\n static summary =\n 'Review incoming material and see which items need attention.';\n static synonyms = ['intake inbox', 'incoming documents', 'review queue'];\n static group = {\n id: 'ingestion',\n label: 'Ingestion',\n summary: 'Review incoming material safely before it can change records.',\n };\n static section = {\n id: 'ingestion',\n label: 'Ingestion',\n icon: 'archive',\n description: 'Incoming material and its authenticated review workflow.',\n };\n static models = [IntakeItem, IntakeEvidence];\n // The route component renders in a browser, but its authenticated review host\n // and package dependency closure require a server.\n static runtime = 'both' as const;\n static surfaces = [\n {\n kind: 'route',\n path: '/ingestion/inbox',\n export: '@happyvertical/smrt-ingestion/svelte#IntakeInbox',\n label: 'Ingestion inbox',\n },\n ] as const;\n static nav = [\n {\n label: 'Ingestion inbox',\n model: IntakeItem,\n icon: 'archive',\n description: 'Incoming material that needs authenticated attention.',\n key: 'inbox',\n noun: 'inbox item',\n },\n ];\n}\n\n/** Revision-bound human review of proposed actions. */\nexport class IngestionReviewRecipe extends SmrtRecipe {\n static id = 'ingestion.review';\n static help = './ingestion-review.recipe.md';\n static label = 'Ingestion review';\n static summary =\n 'Inspect evidence and approve, change, reject, or defer proposed actions.';\n static synonyms = ['intake review', 'proposal review', 'human approval'];\n static group = {\n id: 'ingestion',\n label: 'Ingestion',\n summary: 'Review incoming material safely before it can change records.',\n };\n static section = {\n id: 'ingestion',\n label: 'Ingestion',\n icon: 'archive',\n description: 'Incoming material and its authenticated review workflow.',\n };\n static models = [\n IntakeItem,\n IntakeEvidence,\n IntakeAnalysis,\n IntakeAction,\n IntakeReviewDecision,\n ];\n // The route component renders in a browser, but its authenticated review host\n // and package dependency closure require a server.\n static runtime = 'both' as const;\n static surfaces = [\n {\n kind: 'route',\n path: '/ingestion/review',\n export: '@happyvertical/smrt-ingestion/svelte#IntakeReview',\n label: 'Ingestion review',\n },\n ] as const;\n static nav = [\n {\n label: 'Ingestion review',\n model: IntakeReviewDecision,\n icon: 'fileText',\n description: 'Revision-bound decisions on proposed actions.',\n key: 'review',\n noun: 'review decision',\n },\n ];\n}\n"],"mappings":";;;;AAmBO,IAAM,uBAAN,cAAmC,WAAW;CACnD,OAAO,KAAK;CACZ,OAAO,OAAO;CACd,OAAO,QAAQ;CACf,OAAO,UACL;CACF,OAAO,WAAW;EAAC;EAAgB;EAAsB;CAAc;CACvE,OAAO,QAAQ;EACb,IAAI;EACJ,OAAO;EACP,SAAS;CACX;CACA,OAAO,UAAU;EACf,IAAI;EACJ,OAAO;EACP,MAAM;EACN,aAAa;CACf;CACA,OAAO,SAAS,CAAC,YAAY,cAAc;CAG3C,OAAO,UAAU;CACjB,OAAO,WAAW,CAChB;EACE,MAAM;EACN,MAAM;EACN,QAAQ;EACR,OAAO;CACT,CACF;CACA,OAAO,MAAM,CACX;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,KAAK;EACL,MAAM;CACR,CACF;AACF;AAGO,IAAM,wBAAN,cAAoC,WAAW;CACpD,OAAO,KAAK;CACZ,OAAO,OAAO;CACd,OAAO,QAAQ;CACf,OAAO,UACL;CACF,OAAO,WAAW;EAAC;EAAiB;EAAmB;CAAgB;CACvE,OAAO,QAAQ;EACb,IAAI;EACJ,OAAO;EACP,SAAS;CACX;CACA,OAAO,UAAU;EACf,IAAI;EACJ,OAAO;EACP,MAAM;EACN,aAAa;CACf;CACA,OAAO,SAAS;EACd;EACA;EACA;EACA;EACA;CACF;CAGA,OAAO,UAAU;CACjB,OAAO,WAAW,CAChB;EACE,MAAM;EACN,MAAM;EACN,QAAQ;EACR,OAAO;CACT,CACF;CACA,OAAO,MAAM,CACX;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,KAAK;EACL,MAAM;CACR,CACF;AACF"}
|
package/dist/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"timestamp": 0,
|
|
4
4
|
"packageName": "@happyvertical/smrt-ingestion",
|
|
5
|
-
"packageVersion": "0.55.
|
|
5
|
+
"packageVersion": "0.55.10",
|
|
6
6
|
"objects": {
|
|
7
7
|
"@happyvertical/smrt-ingestion:IntakeItem": {
|
|
8
8
|
"name": "intakeitem",
|
|
@@ -4089,6 +4089,123 @@
|
|
|
4089
4089
|
}
|
|
4090
4090
|
},
|
|
4091
4091
|
"moduleType": "smrt",
|
|
4092
|
+
"recipes": [
|
|
4093
|
+
{
|
|
4094
|
+
"id": "ingestion.inbox",
|
|
4095
|
+
"className": "IngestionInboxRecipe",
|
|
4096
|
+
"label": "Ingestion inbox",
|
|
4097
|
+
"summary": "Review incoming material and see which items need attention.",
|
|
4098
|
+
"synonyms": [
|
|
4099
|
+
"intake inbox",
|
|
4100
|
+
"incoming documents",
|
|
4101
|
+
"review queue"
|
|
4102
|
+
],
|
|
4103
|
+
"models": [
|
|
4104
|
+
"@happyvertical/smrt-ingestion:IntakeItem",
|
|
4105
|
+
"@happyvertical/smrt-ingestion:IntakeEvidence"
|
|
4106
|
+
],
|
|
4107
|
+
"nav": [
|
|
4108
|
+
{
|
|
4109
|
+
"label": "Ingestion inbox",
|
|
4110
|
+
"model": "@happyvertical/smrt-ingestion:IntakeItem",
|
|
4111
|
+
"icon": "archive",
|
|
4112
|
+
"description": "Incoming material that needs authenticated attention.",
|
|
4113
|
+
"key": "inbox",
|
|
4114
|
+
"noun": "inbox item"
|
|
4115
|
+
}
|
|
4116
|
+
],
|
|
4117
|
+
"requires": [],
|
|
4118
|
+
"group": {
|
|
4119
|
+
"id": "ingestion",
|
|
4120
|
+
"label": "Ingestion",
|
|
4121
|
+
"summary": "Review incoming material safely before it can change records."
|
|
4122
|
+
},
|
|
4123
|
+
"section": {
|
|
4124
|
+
"id": "ingestion",
|
|
4125
|
+
"label": "Ingestion",
|
|
4126
|
+
"icon": "archive",
|
|
4127
|
+
"description": "Incoming material and its authenticated review workflow."
|
|
4128
|
+
},
|
|
4129
|
+
"help": {
|
|
4130
|
+
"markdown": "## Overview\n\nThe ingestion inbox is where an authenticated reviewer finds incoming material\nthat needs attention. It keeps the original material and its related evidence\ntogether, so a reviewer can understand what arrived before choosing a next\nstep.\n\n## Tasks\n\n### Check items that need attention\n\n1. Open the ingestion inbox in an application that has configured an\n authenticated review host.\n2. Choose an item to inspect its evidence and current review state.\n3. Open the item in Ingestion review when it has a proposed action.\n\n### Keep uncertain material for review\n\n1. Leave material in the inbox when there is not enough information to decide.\n2. Return after the application has new information or a reviewer can make a\n decision.\n3. Do not treat an inbox item as permission to change another record.\n\n## Preview status\n\nThis recipe describes a preview workflow. The published evaluation did not meet\nquality gates and did not establish safety, so automation remains disabled. It\ndoes not configure a source, provider, generic record route, or automatic\naction. Applications continue to use the scoped callbacks described in the\ningestion review documentation.\n",
|
|
4131
|
+
"fieldRefs": []
|
|
4132
|
+
},
|
|
4133
|
+
"surfaces": [
|
|
4134
|
+
{
|
|
4135
|
+
"kind": "route",
|
|
4136
|
+
"path": "/ingestion/inbox",
|
|
4137
|
+
"export": "@happyvertical/smrt-ingestion/svelte#IntakeInbox",
|
|
4138
|
+
"label": "Ingestion inbox"
|
|
4139
|
+
}
|
|
4140
|
+
],
|
|
4141
|
+
"runtime": "both",
|
|
4142
|
+
"demo": {
|
|
4143
|
+
"mode": "server",
|
|
4144
|
+
"reasons": [
|
|
4145
|
+
"Needs a server because its package depends on @happyvertical/smrt-agents, @happyvertical/smrt-jobs, @happyvertical/smrt-profiles, @happyvertical/smrt-reports, @happyvertical/smrt-secrets, @happyvertical/smrt-tenancy, @happyvertical/smrt-users, which do not build for a browser (#3615, #3617, #3624, #3625, #3626, #3627)."
|
|
4146
|
+
]
|
|
4147
|
+
}
|
|
4148
|
+
},
|
|
4149
|
+
{
|
|
4150
|
+
"id": "ingestion.review",
|
|
4151
|
+
"className": "IngestionReviewRecipe",
|
|
4152
|
+
"label": "Ingestion review",
|
|
4153
|
+
"summary": "Inspect evidence and approve, change, reject, or defer proposed actions.",
|
|
4154
|
+
"synonyms": [
|
|
4155
|
+
"intake review",
|
|
4156
|
+
"proposal review",
|
|
4157
|
+
"human approval"
|
|
4158
|
+
],
|
|
4159
|
+
"models": [
|
|
4160
|
+
"@happyvertical/smrt-ingestion:IntakeItem",
|
|
4161
|
+
"@happyvertical/smrt-ingestion:IntakeEvidence",
|
|
4162
|
+
"@happyvertical/smrt-ingestion:IntakeAnalysis",
|
|
4163
|
+
"@happyvertical/smrt-ingestion:IntakeAction",
|
|
4164
|
+
"@happyvertical/smrt-ingestion:IntakeReviewDecision"
|
|
4165
|
+
],
|
|
4166
|
+
"nav": [
|
|
4167
|
+
{
|
|
4168
|
+
"label": "Ingestion review",
|
|
4169
|
+
"model": "@happyvertical/smrt-ingestion:IntakeReviewDecision",
|
|
4170
|
+
"icon": "fileText",
|
|
4171
|
+
"description": "Revision-bound decisions on proposed actions.",
|
|
4172
|
+
"key": "review",
|
|
4173
|
+
"noun": "review decision"
|
|
4174
|
+
}
|
|
4175
|
+
],
|
|
4176
|
+
"requires": [],
|
|
4177
|
+
"group": {
|
|
4178
|
+
"id": "ingestion",
|
|
4179
|
+
"label": "Ingestion",
|
|
4180
|
+
"summary": "Review incoming material safely before it can change records."
|
|
4181
|
+
},
|
|
4182
|
+
"section": {
|
|
4183
|
+
"id": "ingestion",
|
|
4184
|
+
"label": "Ingestion",
|
|
4185
|
+
"icon": "archive",
|
|
4186
|
+
"description": "Incoming material and its authenticated review workflow."
|
|
4187
|
+
},
|
|
4188
|
+
"help": {
|
|
4189
|
+
"markdown": "## Overview\n\nIngestion review lets an authorized person inspect the evidence behind a\nproposed action before it can affect another record. A decision is tied to the\nspecific material and proposal that the reviewer saw.\n\n## Tasks\n\n### Review a proposed action\n\n1. Open an inbox item that has a proposed action.\n2. Read the evidence and the proposed result in the authenticated review host.\n3. Approve, change, reject, or defer the proposal according to the current\n application policy.\n\n### Return to an item after it changes\n\n1. Refresh the review when the host indicates that the material or proposal has\n changed.\n2. Review the current proposal before making a decision.\n3. Leave a proposal deferred when its evidence or destination is still\n uncertain.\n\n## Preview status\n\nThis recipe describes a preview workflow. The published evaluation did not meet\nquality gates and did not establish safety, so automation remains disabled. It\ndoes not create a generic editing surface or enable automatic execution. A host\nrechecks the reviewer, scope, and current proposal before it accepts a decision.\n",
|
|
4190
|
+
"fieldRefs": []
|
|
4191
|
+
},
|
|
4192
|
+
"surfaces": [
|
|
4193
|
+
{
|
|
4194
|
+
"kind": "route",
|
|
4195
|
+
"path": "/ingestion/review",
|
|
4196
|
+
"export": "@happyvertical/smrt-ingestion/svelte#IntakeReview",
|
|
4197
|
+
"label": "Ingestion review"
|
|
4198
|
+
}
|
|
4199
|
+
],
|
|
4200
|
+
"runtime": "both",
|
|
4201
|
+
"demo": {
|
|
4202
|
+
"mode": "server",
|
|
4203
|
+
"reasons": [
|
|
4204
|
+
"Needs a server because its package depends on @happyvertical/smrt-agents, @happyvertical/smrt-jobs, @happyvertical/smrt-profiles, @happyvertical/smrt-reports, @happyvertical/smrt-secrets, @happyvertical/smrt-tenancy, @happyvertical/smrt-users, which do not build for a browser (#3615, #3617, #3624, #3625, #3626, #3627)."
|
|
4205
|
+
]
|
|
4206
|
+
}
|
|
4207
|
+
}
|
|
4208
|
+
],
|
|
4092
4209
|
"smrtDependencies": [
|
|
4093
4210
|
"@happyvertical/smrt-agents",
|
|
4094
4211
|
"@happyvertical/smrt-assets",
|