@haneinfo/assignment 0.5.0 → 0.6.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/README.md +83 -63
- package/agent-guide.md +196 -176
- package/dist/assignment.service.d.ts.map +1 -1
- package/dist/assignment.service.js +7 -1
- package/dist/assignment.service.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,63 +1,83 @@
|
|
|
1
|
-
# @haneinfo/assignment
|
|
2
|
-
|
|
3
|
-
See [agent-guide.md](agent-guide.md) for integration details.
|
|
4
|
-
|
|
5
|
-
## Instance readers and stored query values
|
|
6
|
-
|
|
7
|
-
Every task creation (including initial-state entry, later rounds and self-entry) grants its
|
|
8
|
-
assignee permanent read access to that instance in the same transaction. Assignment injects the
|
|
9
|
-
state-machine-owned `StateMachineReaderGrants` service instead of writing another package's table.
|
|
10
|
-
It requires state-machine 0.6 or later and the App's reader-table migration/backfill. OPEN,
|
|
11
|
-
RESPONDED, CLOSED and CANCELLED tasks all retain their reader grants; there is no revoke operation.
|
|
12
|
-
The grant is instance-specific and covers comments, following, lists and exports.
|
|
13
|
-
|
|
14
|
-
After creating the reader table, Apps must backfill every existing task, regardless of status:
|
|
15
|
-
|
|
16
|
-
```sql
|
|
17
|
-
INSERT INTO state_machine_instance_readers (instance_id, user_id, reason)
|
|
18
|
-
SELECT DISTINCT instance_id, assignee_id, 'ASSIGNED'
|
|
19
|
-
FROM assignment_tasks
|
|
20
|
-
ON CONFLICT (instance_id, user_id) DO NOTHING;
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Date comparisons
|
|
24
|
-
|
|
25
|
-
GT/GTE/LT/LTE compare numbers, valid calendar dates (YYYY-MM-DD), or timezone-qualified datetimes
|
|
26
|
-
(YYYY-MM-DDTHH:mm:ss with optional fractional seconds and Z or +/-HH:mm). Both operands must have
|
|
27
|
-
the same category. Dates use calendar order; datetimes compare UTC instants at millisecond precision.
|
|
28
|
-
Invalid dates, mixed categories and empty operands yield false. EQ/NEQ/IN retain strict scalar equality;
|
|
29
|
-
matching instants with different textual offsets are still unequal for those operators.
|
|
30
|
-
|
|
31
|
-
## Instance privacy boundary
|
|
32
|
-
|
|
33
|
-
Task reads and responses first check task ownership and return identical TASK_NOT_FOUND/404 for another person's or a missing task. Every assignee receives a permanent state-machine reader grant on task creation, so the internal runtime snapshot read is restricted to an already authorized reader. `tasksOf` is a trusted internal API, not an HTTP/MCP instance lookup. USER transitions outside task responses apply state-machine's read-before-write checks; Assignment triggers keep their existing authorization.
|
|
34
|
-
|
|
35
|
-
## Period delegation (draft implementation)
|
|
36
|
-
|
|
37
|
-
With the optional delegation resolver, original tasks remain and delegates receive separate tasks
|
|
38
|
-
with nullable onBehalfOfId and delegationId. Proxy titles start with [Delegate]. Task creation grants
|
|
39
|
-
permanent instance readership in the same transaction. No resolver means the existing behavior.
|
|
40
|
-
Migrate the two nullable assignment_tasks columns before deploying; no backfill of those columns is
|
|
41
|
-
needed for older tasks. Upgrade state-machine for optional actingUserId/onBehalfOfId history output.
|
|
42
|
-
|
|
43
|
-
ANY_ONE/SINGLE completes on the first original or delegated response. JOINT counts one vote per
|
|
44
|
-
original assignee; the first response closes that vote's other tasks and does not add votes. A
|
|
45
|
-
proxy never expands into another proxy. A delegate already present in the round is not duplicated;
|
|
46
|
-
when several originals share a delegate, deterministic delegation-id order picks one represented
|
|
47
|
-
original. Other originals keep their own required votes.
|
|
48
|
-
|
|
49
|
-
Delegation registers internal effects for immediate, idempotent backfill of original OPEN tasks and
|
|
50
|
-
transactional revocation cancellation. Future periods do not backfill tasks open before the start.
|
|
51
|
-
Expired OPEN proxy tasks are hidden in GET /assignments/mine and list_my_assignments; a response
|
|
52
|
-
commits CANCELLED and then raises DELEGATION_ENDED/409. Revocation cancels OPEN proxies in its own
|
|
53
|
-
transaction. Permanent readers survive both. GET /assignments/:id returns no response choices for
|
|
54
|
-
an expired OPEN proxy. Task ownership still hides other people's tasks as TASK_NOT_FOUND/404.
|
|
55
|
-
|
|
56
|
-
Task reads add optional onBehalfOfId and onBehalfOfName. Names use one authorized-page batch through
|
|
57
|
-
identity-store.findActiveNamesByIds; missing/inactive/older providers yield null. MCP names are
|
|
58
|
-
$userContent. A successful proxy response records actual actingUserId, and notifies the original
|
|
59
|
-
with assignment-response:<taskId>. Appointment notifications belong to delegation; task notification
|
|
60
|
-
keys remain assignment:<taskId>. Missing inbox capability skips notifications as before.
|
|
61
|
-
|
|
62
|
-
See @haneinfo/delegation's agent guide for period rules, human management and read-only MCP. There
|
|
63
|
-
is no MCP response, creation, revocation, per-task reassignment or delegation frontend.
|
|
1
|
+
# @haneinfo/assignment
|
|
2
|
+
|
|
3
|
+
See [agent-guide.md](agent-guide.md) for integration details.
|
|
4
|
+
|
|
5
|
+
## Instance readers and stored query values
|
|
6
|
+
|
|
7
|
+
Every task creation (including initial-state entry, later rounds and self-entry) grants its
|
|
8
|
+
assignee permanent read access to that instance in the same transaction. Assignment injects the
|
|
9
|
+
state-machine-owned `StateMachineReaderGrants` service instead of writing another package's table.
|
|
10
|
+
It requires state-machine 0.6 or later and the App's reader-table migration/backfill. OPEN,
|
|
11
|
+
RESPONDED, CLOSED and CANCELLED tasks all retain their reader grants; there is no revoke operation.
|
|
12
|
+
The grant is instance-specific and covers comments, following, lists and exports.
|
|
13
|
+
|
|
14
|
+
After creating the reader table, Apps must backfill every existing task, regardless of status:
|
|
15
|
+
|
|
16
|
+
```sql
|
|
17
|
+
INSERT INTO state_machine_instance_readers (instance_id, user_id, reason)
|
|
18
|
+
SELECT DISTINCT instance_id, assignee_id, 'ASSIGNED'
|
|
19
|
+
FROM assignment_tasks
|
|
20
|
+
ON CONFLICT (instance_id, user_id) DO NOTHING;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Date comparisons
|
|
24
|
+
|
|
25
|
+
GT/GTE/LT/LTE compare numbers, valid calendar dates (YYYY-MM-DD), or timezone-qualified datetimes
|
|
26
|
+
(YYYY-MM-DDTHH:mm:ss with optional fractional seconds and Z or +/-HH:mm). Both operands must have
|
|
27
|
+
the same category. Dates use calendar order; datetimes compare UTC instants at millisecond precision.
|
|
28
|
+
Invalid dates, mixed categories and empty operands yield false. EQ/NEQ/IN retain strict scalar equality;
|
|
29
|
+
matching instants with different textual offsets are still unequal for those operators.
|
|
30
|
+
|
|
31
|
+
## Instance privacy boundary
|
|
32
|
+
|
|
33
|
+
Task reads and responses first check task ownership and return identical TASK_NOT_FOUND/404 for another person's or a missing task. Every assignee receives a permanent state-machine reader grant on task creation, so the internal runtime snapshot read is restricted to an already authorized reader. `tasksOf` is a trusted internal API, not an HTTP/MCP instance lookup. USER transitions outside task responses apply state-machine's read-before-write checks; Assignment triggers keep their existing authorization.
|
|
34
|
+
|
|
35
|
+
## Period delegation (draft implementation)
|
|
36
|
+
|
|
37
|
+
With the optional delegation resolver, original tasks remain and delegates receive separate tasks
|
|
38
|
+
with nullable onBehalfOfId and delegationId. Proxy titles start with [Delegate]. Task creation grants
|
|
39
|
+
permanent instance readership in the same transaction. No resolver means the existing behavior.
|
|
40
|
+
Migrate the two nullable assignment_tasks columns before deploying; no backfill of those columns is
|
|
41
|
+
needed for older tasks. Upgrade state-machine for optional actingUserId/onBehalfOfId history output.
|
|
42
|
+
|
|
43
|
+
ANY_ONE/SINGLE completes on the first original or delegated response. JOINT counts one vote per
|
|
44
|
+
original assignee; the first response closes that vote's other tasks and does not add votes. A
|
|
45
|
+
proxy never expands into another proxy. A delegate already present in the round is not duplicated;
|
|
46
|
+
when several originals share a delegate, deterministic delegation-id order picks one represented
|
|
47
|
+
original. Other originals keep their own required votes.
|
|
48
|
+
|
|
49
|
+
Delegation registers internal effects for immediate, idempotent backfill of original OPEN tasks and
|
|
50
|
+
transactional revocation cancellation. Future periods do not backfill tasks open before the start.
|
|
51
|
+
Expired OPEN proxy tasks are hidden in GET /assignments/mine and list_my_assignments; a response
|
|
52
|
+
commits CANCELLED and then raises DELEGATION_ENDED/409. Revocation cancels OPEN proxies in its own
|
|
53
|
+
transaction. Permanent readers survive both. GET /assignments/:id returns no response choices for
|
|
54
|
+
an expired OPEN proxy. Task ownership still hides other people's tasks as TASK_NOT_FOUND/404.
|
|
55
|
+
|
|
56
|
+
Task reads add optional onBehalfOfId and onBehalfOfName. Names use one authorized-page batch through
|
|
57
|
+
identity-store.findActiveNamesByIds; missing/inactive/older providers yield null. MCP names are
|
|
58
|
+
$userContent. A successful proxy response records actual actingUserId, and notifies the original
|
|
59
|
+
with assignment-response:<taskId>. Appointment notifications belong to delegation; task notification
|
|
60
|
+
keys remain assignment:<taskId>. Missing inbox capability skips notifications as before.
|
|
61
|
+
|
|
62
|
+
See @haneinfo/delegation's agent guide for period rules, human management and read-only MCP. There
|
|
63
|
+
is no MCP response, creation, revocation, per-task reassignment or delegation frontend.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
## Instance access lists (draft implementation)
|
|
67
|
+
|
|
68
|
+
Implemented against draft decision 202610-c8e3; the decision remains draft.
|
|
69
|
+
|
|
70
|
+
Assignment calls StateMachineReaderGrants.grantAssigned(instanceId, userIds, tx, source?) in the
|
|
71
|
+
same task transaction. The optional source defaults to ASSIGNED; notifyTasks groups original and
|
|
72
|
+
one-hop delegate tasks and passes DELEGATED for delegates. The original call shape is compatible.
|
|
73
|
+
Both sources are permanent READ; task completion/cancellation and delegation expiry/revocation
|
|
74
|
+
never remove them. Manual GRANTED READ/WRITE entries coexist under a source-specific key.
|
|
75
|
+
Task ownership and ASSIGNMENT transition authorization remain unchanged.
|
|
76
|
+
|
|
77
|
+
Upgrade the affected mechanisms together after applying the App migration. The maintained model,
|
|
78
|
+
HTTP routes, read-only list_instance_access MCP tool, errors and permission contract are documented
|
|
79
|
+
in @haneinfo/state-machine/agent-guide.md. Its prisma/instance-access.sql migrates the existing reader
|
|
80
|
+
table to USER/ROLE, READ/WRITE and ASSIGNED/DELEGATED/GRANTED rows while retaining timestamps.
|
|
81
|
+
The maintainer selected (instanceId, principalType, principalId, source) uniqueness. Manual grants are
|
|
82
|
+
limited to 100 by default; permanent READ entries survive manual removal. See the package repository
|
|
83
|
+
validation/equipment-loan/instance-access/report.md for SQL, tests and App restoration evidence.
|
package/agent-guide.md
CHANGED
|
@@ -1,176 +1,196 @@
|
|
|
1
|
-
# @haneinfo/assignment — Agent Guide
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
The assignment mechanism (decision `202610-00b3`, first batch; details in its own decision). An
|
|
6
|
-
`Assignment` definition says: when an instance of a StateMachine **enters a state**, these people
|
|
7
|
-
get a task, and their **response takes a transition**. It covers approvals, read-and-acknowledge
|
|
8
|
-
steps and task hand-offs.
|
|
9
|
-
|
|
10
|
-
```json
|
|
11
|
-
{
|
|
12
|
-
"kind": "Assignment",
|
|
13
|
-
"schemaVersion": 1,
|
|
14
|
-
"metadata": { "code": "equipment-manager-approval", "name": "Approve equipment loan" },
|
|
15
|
-
"spec": {
|
|
16
|
-
"stateMachine": { "kind": "StateMachine", "code": "equipment-loan-flow" },
|
|
17
|
-
"onEnter": "SUBMITTED",
|
|
18
|
-
"assignees": [{ "type": "ROLE", "role": "EQUIPMENT_MANAGER" }],
|
|
19
|
-
"policy": "ANY_ONE",
|
|
20
|
-
"responses": [
|
|
21
|
-
{ "key": "approve", "label": "Approve", "transition": "approve" },
|
|
22
|
-
{ "key": "reject", "label": "Reject", "transition": "reject" }
|
|
23
|
-
],
|
|
24
|
-
"dueIn": "P2D"
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## When to use it, and when not
|
|
30
|
-
|
|
31
|
-
Use it whenever a person must act before a business object moves on. Do not use it for plain
|
|
32
|
-
notifications (that is a Timer `NOTIFY` action or the notification inbox) or for decisions a rule
|
|
33
|
-
could make (use a CHOICE state).
|
|
34
|
-
|
|
35
|
-
## Kind and example definition
|
|
36
|
-
|
|
37
|
-
- `stateMachine`, `onEnter`: the machine and the state that opens the tasks. Not a FINAL or CHOICE state.
|
|
38
|
-
- `assignees`: person resolvers — `SPECIFIC_USER` (`userIds`), `ROLE` (role machine name, resolved
|
|
39
|
-
through RBAC), `FORM_FIELD_USER` (a `user_select` field of the machine's subject Form, by id),
|
|
40
|
-
`SUBMITTER`, `DIRECT_SUPERVISOR`, `DEPARTMENT_HEAD`, `DIVISION_HEAD` (the last three require org-directory). Resolving to nobody makes the transition into `onEnter` fail with
|
|
41
|
-
`ASSIGNEE_UNRESOLVED` — fix the role membership or the field.
|
|
42
|
-
- `policy`: `ANY_ONE` (first response decides; use it for roles), `SINGLE` (same, but you expect
|
|
43
|
-
exactly one person — a warning if the resolvers can produce several), `JOINT` (everybody must give
|
|
44
|
-
the one non-`decisive` response; one `decisive` response — e.g. reject — decides at once).
|
|
45
|
-
- `responses[]`: `key`, `label`, `transition` (must leave `onEnter`), `decisive` (JOINT only).
|
|
46
|
-
- `dueIn`: ISO 8601 duration (`P2D`, `PT4H`); it only sets the task's due time. What happens when
|
|
47
|
-
it passes is a Timer with an `ASSIGNMENT_DUE` anchor.
|
|
48
|
-
- `title`: shown to the assignees; defaults to `metadata.name`.
|
|
49
|
-
- Permissions: `assignment:definition:read|write|publish`.
|
|
50
|
-
|
|
51
|
-
Instances pin the published assignments of their machine when they start; re-entering the state
|
|
52
|
-
opens a new round. Leaving the state any other way (a Timer, a person) cancels open tasks.
|
|
53
|
-
|
|
54
|
-
Self-transitions also cancel the old round before opening the next. A deciding response leaves
|
|
55
|
-
the responding task `RESPONDED` and other open tasks `CLOSED`; an external state change uses
|
|
56
|
-
`CANCELLED`. PostgreSQL responses lock the instance before reading/writing the round, so concurrent
|
|
57
|
-
JOINT votes see committed earlier votes. Round evaluation reads every task, without a 500-row cap.
|
|
58
|
-
|
|
59
|
-
Example: `examples/definitions/equipment-loan/equipment-manager-approval.assignment.json`.
|
|
60
|
-
|
|
61
|
-
## MCP tools
|
|
62
|
-
|
|
63
|
-
| Tool | Scope | Use |
|
|
64
|
-
| --- | --- | --- |
|
|
65
|
-
| `list_my_assignments` | `<namespace>:assignment:read` (read only) | Tasks of the person the connection acts for, with responses and instance data (as `$userContent`) |
|
|
66
|
-
|
|
67
|
-
There is no tool to respond: a response takes a transition (approve, reject) and stays a human
|
|
68
|
-
step in the App. Register from the App: `assignmentMcpTools.registerInto(registry, { scopeNamespace })`.
|
|
69
|
-
|
|
70
|
-
The scope is required at listing and invocation by the MCP host. No definition-read permission is
|
|
71
|
-
required to see your own tasks: the acting user must own them. The client cannot select another
|
|
72
|
-
user. Invalid status input returns `INVALID_INPUT`; a credential without an acting user is refused.
|
|
73
|
-
|
|
74
|
-
## HTTP API (people)
|
|
75
|
-
|
|
76
|
-
| Route | Purpose |
|
|
77
|
-
| --- | --- |
|
|
78
|
-
| `GET /assignments/mine?status=OPEN` | Your tasks |
|
|
79
|
-
| `GET /assignments/:id` | One of your tasks with the instance |
|
|
80
|
-
| `POST /assignments/:id/respond` `{ response, comment? }` | Respond; may take the transition |
|
|
81
|
-
|
|
82
|
-
## Events
|
|
83
|
-
|
|
84
|
-
`assignment.opened` (`assignmentCode`, `round`, `dueAt`, `assigneeIds`) and `assignment.closed`
|
|
85
|
-
(`assignmentCode`, `round`, `outcome`: the response key or `CANCELLED`), on the state-machine
|
|
86
|
-
runtime's event channel. Timer uses them for `ASSIGNMENT_DUE`.
|
|
87
|
-
|
|
88
|
-
## Adapters
|
|
89
|
-
|
|
90
|
-
None. Roles resolve through `haneinfo.rbac-policy` (`userIdsWithRole`); assignees are notified through
|
|
91
|
-
`haneinfo.notification-inbox` when it is installed.
|
|
92
|
-
|
|
93
|
-
## Common error codes and fixes
|
|
94
|
-
|
|
95
|
-
| Code | Fix |
|
|
96
|
-
| --- | --- |
|
|
97
|
-
| `UNKNOWN_STATE` / `ASSIGNMENT_ON_FINAL_STATE` | `onEnter` must be a non-FINAL state of the machine |
|
|
98
|
-
| `UNKNOWN_TRANSITION` / `TRANSITION_NOT_FROM_STATE` | A response's transition must leave `onEnter` |
|
|
99
|
-
| `JOINT_NEEDS_ONE_AGREEMENT` | Mark all but one JOINT response as `decisive` |
|
|
100
|
-
| `SINGLE_MAY_RESOLVE_MANY` (warning) | Use `ANY_ONE` for roles |
|
|
101
|
-
| `NOT_A_USER_FIELD` / `NO_SUBJECT_FORM` | `FORM_FIELD_USER` needs a `user_select` field of the subject Form |
|
|
102
|
-
| `INVALID_DURATION` | `dueIn` is a positive duration without months or years |
|
|
103
|
-
| `ASSIGNEE_UNRESOLVED` (runtime) | The resolvers produced nobody; see `details.unresolved` |
|
|
104
|
-
| `TASK_NOT_OPEN` (runtime) | Someone else already decided, or the instance moved on |
|
|
105
|
-
|
|
106
|
-
## Conditional activation
|
|
107
|
-
|
|
108
|
-
Optional spec.when uses the shared Form evaluateCondition function and PREDICATE/GROUP syntax,
|
|
109
|
-
including CONTEXT SUBMITTER_ID. False skips this assignment with no tasks or notifications and does
|
|
110
|
-
not block other transitions, even when every assignment is skipped. Empty inputs are errors.
|
|
111
|
-
|
|
112
|
-
The prepareStateEntry listener fixes when and assignee results before entry writes. Each matching
|
|
113
|
-
assignment resolves its people once and uses that exact result to open tasks. Any unresolved resolver
|
|
114
|
-
blocks entry, including partially resolved lists; details.unresolved preserves organization reasons
|
|
115
|
-
and unit information. A CHOICE stays in CHOICE and records/notifies the failure; other transitions
|
|
116
|
-
roll back to their original state and report the failure. Existing tasks keep their assignees.
|
|
117
|
-
|
|
118
|
-
## Instance readers and stored query values
|
|
119
|
-
|
|
120
|
-
Every task creation (including initial-state entry, later rounds and self-entry) grants its
|
|
121
|
-
assignee permanent read access to that instance in the same transaction. Assignment injects the
|
|
122
|
-
state-machine-owned `StateMachineReaderGrants` service instead of writing another package's table.
|
|
123
|
-
It requires state-machine 0.6 or later and the App's reader-table migration/backfill. OPEN,
|
|
124
|
-
RESPONDED, CLOSED and CANCELLED tasks all retain their reader grants; there is no revoke operation.
|
|
125
|
-
The grant is instance-specific and covers comments, following, lists and exports.
|
|
126
|
-
|
|
127
|
-
After creating the reader table, Apps must backfill every existing task, regardless of status:
|
|
128
|
-
|
|
129
|
-
```sql
|
|
130
|
-
INSERT INTO state_machine_instance_readers (instance_id, user_id, reason)
|
|
131
|
-
SELECT DISTINCT instance_id, assignee_id, 'ASSIGNED'
|
|
132
|
-
FROM assignment_tasks
|
|
133
|
-
ON CONFLICT (instance_id, user_id) DO NOTHING;
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
## Date comparisons
|
|
137
|
-
|
|
138
|
-
GT/GTE/LT/LTE compare numbers, valid calendar dates (YYYY-MM-DD), or timezone-qualified datetimes
|
|
139
|
-
(YYYY-MM-DDTHH:mm:ss with optional fractional seconds and Z or +/-HH:mm). Both operands must have
|
|
140
|
-
the same category. Dates use calendar order; datetimes compare UTC instants at millisecond precision.
|
|
141
|
-
Invalid dates, mixed categories and empty operands yield false. EQ/NEQ/IN retain strict scalar equality;
|
|
142
|
-
matching instants with different textual offsets are still unequal for those operators.
|
|
143
|
-
|
|
144
|
-
## Instance privacy boundary
|
|
145
|
-
|
|
146
|
-
Task reads and responses first check task ownership and return identical TASK_NOT_FOUND/404 for another person's or a missing task. Every assignee receives a permanent state-machine reader grant on task creation, so the internal runtime snapshot read is restricted to an already authorized reader. `tasksOf` is a trusted internal API, not an HTTP/MCP instance lookup. USER transitions outside task responses apply state-machine's read-before-write checks; Assignment triggers keep their existing authorization.
|
|
147
|
-
|
|
148
|
-
## Period delegation (draft implementation)
|
|
149
|
-
|
|
150
|
-
With the optional delegation resolver, original tasks remain and delegates receive separate tasks
|
|
151
|
-
with nullable onBehalfOfId and delegationId. Proxy titles start with [Delegate]. Task creation grants
|
|
152
|
-
permanent instance readership in the same transaction. No resolver means the existing behavior.
|
|
153
|
-
Migrate the two nullable assignment_tasks columns before deploying; no backfill of those columns is
|
|
154
|
-
needed for older tasks. Upgrade state-machine for optional actingUserId/onBehalfOfId history output.
|
|
155
|
-
|
|
156
|
-
ANY_ONE/SINGLE completes on the first original or delegated response. JOINT counts one vote per
|
|
157
|
-
original assignee; the first response closes that vote's other tasks and does not add votes. A
|
|
158
|
-
proxy never expands into another proxy. A delegate already present in the round is not duplicated;
|
|
159
|
-
when several originals share a delegate, deterministic delegation-id order picks one represented
|
|
160
|
-
original. Other originals keep their own required votes.
|
|
161
|
-
|
|
162
|
-
Delegation registers internal effects for immediate, idempotent backfill of original OPEN tasks and
|
|
163
|
-
transactional revocation cancellation. Future periods do not backfill tasks open before the start.
|
|
164
|
-
Expired OPEN proxy tasks are hidden in GET /assignments/mine and list_my_assignments; a response
|
|
165
|
-
commits CANCELLED and then raises DELEGATION_ENDED/409. Revocation cancels OPEN proxies in its own
|
|
166
|
-
transaction. Permanent readers survive both. GET /assignments/:id returns no response choices for
|
|
167
|
-
an expired OPEN proxy. Task ownership still hides other people's tasks as TASK_NOT_FOUND/404.
|
|
168
|
-
|
|
169
|
-
Task reads add optional onBehalfOfId and onBehalfOfName. Names use one authorized-page batch through
|
|
170
|
-
identity-store.findActiveNamesByIds; missing/inactive/older providers yield null. MCP names are
|
|
171
|
-
$userContent. A successful proxy response records actual actingUserId, and notifies the original
|
|
172
|
-
with assignment-response:<taskId>. Appointment notifications belong to delegation; task notification
|
|
173
|
-
keys remain assignment:<taskId>. Missing inbox capability skips notifications as before.
|
|
174
|
-
|
|
175
|
-
See @haneinfo/delegation's agent guide for period rules, human management and read-only MCP. There
|
|
176
|
-
is no MCP response, creation, revocation, per-task reassignment or delegation frontend.
|
|
1
|
+
# @haneinfo/assignment — Agent Guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
The assignment mechanism (decision `202610-00b3`, first batch; details in its own decision). An
|
|
6
|
+
`Assignment` definition says: when an instance of a StateMachine **enters a state**, these people
|
|
7
|
+
get a task, and their **response takes a transition**. It covers approvals, read-and-acknowledge
|
|
8
|
+
steps and task hand-offs.
|
|
9
|
+
|
|
10
|
+
```json
|
|
11
|
+
{
|
|
12
|
+
"kind": "Assignment",
|
|
13
|
+
"schemaVersion": 1,
|
|
14
|
+
"metadata": { "code": "equipment-manager-approval", "name": "Approve equipment loan" },
|
|
15
|
+
"spec": {
|
|
16
|
+
"stateMachine": { "kind": "StateMachine", "code": "equipment-loan-flow" },
|
|
17
|
+
"onEnter": "SUBMITTED",
|
|
18
|
+
"assignees": [{ "type": "ROLE", "role": "EQUIPMENT_MANAGER" }],
|
|
19
|
+
"policy": "ANY_ONE",
|
|
20
|
+
"responses": [
|
|
21
|
+
{ "key": "approve", "label": "Approve", "transition": "approve" },
|
|
22
|
+
{ "key": "reject", "label": "Reject", "transition": "reject" }
|
|
23
|
+
],
|
|
24
|
+
"dueIn": "P2D"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## When to use it, and when not
|
|
30
|
+
|
|
31
|
+
Use it whenever a person must act before a business object moves on. Do not use it for plain
|
|
32
|
+
notifications (that is a Timer `NOTIFY` action or the notification inbox) or for decisions a rule
|
|
33
|
+
could make (use a CHOICE state).
|
|
34
|
+
|
|
35
|
+
## Kind and example definition
|
|
36
|
+
|
|
37
|
+
- `stateMachine`, `onEnter`: the machine and the state that opens the tasks. Not a FINAL or CHOICE state.
|
|
38
|
+
- `assignees`: person resolvers — `SPECIFIC_USER` (`userIds`), `ROLE` (role machine name, resolved
|
|
39
|
+
through RBAC), `FORM_FIELD_USER` (a `user_select` field of the machine's subject Form, by id),
|
|
40
|
+
`SUBMITTER`, `DIRECT_SUPERVISOR`, `DEPARTMENT_HEAD`, `DIVISION_HEAD` (the last three require org-directory). Resolving to nobody makes the transition into `onEnter` fail with
|
|
41
|
+
`ASSIGNEE_UNRESOLVED` — fix the role membership or the field.
|
|
42
|
+
- `policy`: `ANY_ONE` (first response decides; use it for roles), `SINGLE` (same, but you expect
|
|
43
|
+
exactly one person — a warning if the resolvers can produce several), `JOINT` (everybody must give
|
|
44
|
+
the one non-`decisive` response; one `decisive` response — e.g. reject — decides at once).
|
|
45
|
+
- `responses[]`: `key`, `label`, `transition` (must leave `onEnter`), `decisive` (JOINT only).
|
|
46
|
+
- `dueIn`: ISO 8601 duration (`P2D`, `PT4H`); it only sets the task's due time. What happens when
|
|
47
|
+
it passes is a Timer with an `ASSIGNMENT_DUE` anchor.
|
|
48
|
+
- `title`: shown to the assignees; defaults to `metadata.name`.
|
|
49
|
+
- Permissions: `assignment:definition:read|write|publish`.
|
|
50
|
+
|
|
51
|
+
Instances pin the published assignments of their machine when they start; re-entering the state
|
|
52
|
+
opens a new round. Leaving the state any other way (a Timer, a person) cancels open tasks.
|
|
53
|
+
|
|
54
|
+
Self-transitions also cancel the old round before opening the next. A deciding response leaves
|
|
55
|
+
the responding task `RESPONDED` and other open tasks `CLOSED`; an external state change uses
|
|
56
|
+
`CANCELLED`. PostgreSQL responses lock the instance before reading/writing the round, so concurrent
|
|
57
|
+
JOINT votes see committed earlier votes. Round evaluation reads every task, without a 500-row cap.
|
|
58
|
+
|
|
59
|
+
Example: `examples/definitions/equipment-loan/equipment-manager-approval.assignment.json`.
|
|
60
|
+
|
|
61
|
+
## MCP tools
|
|
62
|
+
|
|
63
|
+
| Tool | Scope | Use |
|
|
64
|
+
| --- | --- | --- |
|
|
65
|
+
| `list_my_assignments` | `<namespace>:assignment:read` (read only) | Tasks of the person the connection acts for, with responses and instance data (as `$userContent`) |
|
|
66
|
+
|
|
67
|
+
There is no tool to respond: a response takes a transition (approve, reject) and stays a human
|
|
68
|
+
step in the App. Register from the App: `assignmentMcpTools.registerInto(registry, { scopeNamespace })`.
|
|
69
|
+
|
|
70
|
+
The scope is required at listing and invocation by the MCP host. No definition-read permission is
|
|
71
|
+
required to see your own tasks: the acting user must own them. The client cannot select another
|
|
72
|
+
user. Invalid status input returns `INVALID_INPUT`; a credential without an acting user is refused.
|
|
73
|
+
|
|
74
|
+
## HTTP API (people)
|
|
75
|
+
|
|
76
|
+
| Route | Purpose |
|
|
77
|
+
| --- | --- |
|
|
78
|
+
| `GET /assignments/mine?status=OPEN` | Your tasks |
|
|
79
|
+
| `GET /assignments/:id` | One of your tasks with the instance |
|
|
80
|
+
| `POST /assignments/:id/respond` `{ response, comment? }` | Respond; may take the transition |
|
|
81
|
+
|
|
82
|
+
## Events
|
|
83
|
+
|
|
84
|
+
`assignment.opened` (`assignmentCode`, `round`, `dueAt`, `assigneeIds`) and `assignment.closed`
|
|
85
|
+
(`assignmentCode`, `round`, `outcome`: the response key or `CANCELLED`), on the state-machine
|
|
86
|
+
runtime's event channel. Timer uses them for `ASSIGNMENT_DUE`.
|
|
87
|
+
|
|
88
|
+
## Adapters
|
|
89
|
+
|
|
90
|
+
None. Roles resolve through `haneinfo.rbac-policy` (`userIdsWithRole`); assignees are notified through
|
|
91
|
+
`haneinfo.notification-inbox` when it is installed.
|
|
92
|
+
|
|
93
|
+
## Common error codes and fixes
|
|
94
|
+
|
|
95
|
+
| Code | Fix |
|
|
96
|
+
| --- | --- |
|
|
97
|
+
| `UNKNOWN_STATE` / `ASSIGNMENT_ON_FINAL_STATE` | `onEnter` must be a non-FINAL state of the machine |
|
|
98
|
+
| `UNKNOWN_TRANSITION` / `TRANSITION_NOT_FROM_STATE` | A response's transition must leave `onEnter` |
|
|
99
|
+
| `JOINT_NEEDS_ONE_AGREEMENT` | Mark all but one JOINT response as `decisive` |
|
|
100
|
+
| `SINGLE_MAY_RESOLVE_MANY` (warning) | Use `ANY_ONE` for roles |
|
|
101
|
+
| `NOT_A_USER_FIELD` / `NO_SUBJECT_FORM` | `FORM_FIELD_USER` needs a `user_select` field of the subject Form |
|
|
102
|
+
| `INVALID_DURATION` | `dueIn` is a positive duration without months or years |
|
|
103
|
+
| `ASSIGNEE_UNRESOLVED` (runtime) | The resolvers produced nobody; see `details.unresolved` |
|
|
104
|
+
| `TASK_NOT_OPEN` (runtime) | Someone else already decided, or the instance moved on |
|
|
105
|
+
|
|
106
|
+
## Conditional activation
|
|
107
|
+
|
|
108
|
+
Optional spec.when uses the shared Form evaluateCondition function and PREDICATE/GROUP syntax,
|
|
109
|
+
including CONTEXT SUBMITTER_ID. False skips this assignment with no tasks or notifications and does
|
|
110
|
+
not block other transitions, even when every assignment is skipped. Empty inputs are errors.
|
|
111
|
+
|
|
112
|
+
The prepareStateEntry listener fixes when and assignee results before entry writes. Each matching
|
|
113
|
+
assignment resolves its people once and uses that exact result to open tasks. Any unresolved resolver
|
|
114
|
+
blocks entry, including partially resolved lists; details.unresolved preserves organization reasons
|
|
115
|
+
and unit information. A CHOICE stays in CHOICE and records/notifies the failure; other transitions
|
|
116
|
+
roll back to their original state and report the failure. Existing tasks keep their assignees.
|
|
117
|
+
|
|
118
|
+
## Instance readers and stored query values
|
|
119
|
+
|
|
120
|
+
Every task creation (including initial-state entry, later rounds and self-entry) grants its
|
|
121
|
+
assignee permanent read access to that instance in the same transaction. Assignment injects the
|
|
122
|
+
state-machine-owned `StateMachineReaderGrants` service instead of writing another package's table.
|
|
123
|
+
It requires state-machine 0.6 or later and the App's reader-table migration/backfill. OPEN,
|
|
124
|
+
RESPONDED, CLOSED and CANCELLED tasks all retain their reader grants; there is no revoke operation.
|
|
125
|
+
The grant is instance-specific and covers comments, following, lists and exports.
|
|
126
|
+
|
|
127
|
+
After creating the reader table, Apps must backfill every existing task, regardless of status:
|
|
128
|
+
|
|
129
|
+
```sql
|
|
130
|
+
INSERT INTO state_machine_instance_readers (instance_id, user_id, reason)
|
|
131
|
+
SELECT DISTINCT instance_id, assignee_id, 'ASSIGNED'
|
|
132
|
+
FROM assignment_tasks
|
|
133
|
+
ON CONFLICT (instance_id, user_id) DO NOTHING;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Date comparisons
|
|
137
|
+
|
|
138
|
+
GT/GTE/LT/LTE compare numbers, valid calendar dates (YYYY-MM-DD), or timezone-qualified datetimes
|
|
139
|
+
(YYYY-MM-DDTHH:mm:ss with optional fractional seconds and Z or +/-HH:mm). Both operands must have
|
|
140
|
+
the same category. Dates use calendar order; datetimes compare UTC instants at millisecond precision.
|
|
141
|
+
Invalid dates, mixed categories and empty operands yield false. EQ/NEQ/IN retain strict scalar equality;
|
|
142
|
+
matching instants with different textual offsets are still unequal for those operators.
|
|
143
|
+
|
|
144
|
+
## Instance privacy boundary
|
|
145
|
+
|
|
146
|
+
Task reads and responses first check task ownership and return identical TASK_NOT_FOUND/404 for another person's or a missing task. Every assignee receives a permanent state-machine reader grant on task creation, so the internal runtime snapshot read is restricted to an already authorized reader. `tasksOf` is a trusted internal API, not an HTTP/MCP instance lookup. USER transitions outside task responses apply state-machine's read-before-write checks; Assignment triggers keep their existing authorization.
|
|
147
|
+
|
|
148
|
+
## Period delegation (draft implementation)
|
|
149
|
+
|
|
150
|
+
With the optional delegation resolver, original tasks remain and delegates receive separate tasks
|
|
151
|
+
with nullable onBehalfOfId and delegationId. Proxy titles start with [Delegate]. Task creation grants
|
|
152
|
+
permanent instance readership in the same transaction. No resolver means the existing behavior.
|
|
153
|
+
Migrate the two nullable assignment_tasks columns before deploying; no backfill of those columns is
|
|
154
|
+
needed for older tasks. Upgrade state-machine for optional actingUserId/onBehalfOfId history output.
|
|
155
|
+
|
|
156
|
+
ANY_ONE/SINGLE completes on the first original or delegated response. JOINT counts one vote per
|
|
157
|
+
original assignee; the first response closes that vote's other tasks and does not add votes. A
|
|
158
|
+
proxy never expands into another proxy. A delegate already present in the round is not duplicated;
|
|
159
|
+
when several originals share a delegate, deterministic delegation-id order picks one represented
|
|
160
|
+
original. Other originals keep their own required votes.
|
|
161
|
+
|
|
162
|
+
Delegation registers internal effects for immediate, idempotent backfill of original OPEN tasks and
|
|
163
|
+
transactional revocation cancellation. Future periods do not backfill tasks open before the start.
|
|
164
|
+
Expired OPEN proxy tasks are hidden in GET /assignments/mine and list_my_assignments; a response
|
|
165
|
+
commits CANCELLED and then raises DELEGATION_ENDED/409. Revocation cancels OPEN proxies in its own
|
|
166
|
+
transaction. Permanent readers survive both. GET /assignments/:id returns no response choices for
|
|
167
|
+
an expired OPEN proxy. Task ownership still hides other people's tasks as TASK_NOT_FOUND/404.
|
|
168
|
+
|
|
169
|
+
Task reads add optional onBehalfOfId and onBehalfOfName. Names use one authorized-page batch through
|
|
170
|
+
identity-store.findActiveNamesByIds; missing/inactive/older providers yield null. MCP names are
|
|
171
|
+
$userContent. A successful proxy response records actual actingUserId, and notifies the original
|
|
172
|
+
with assignment-response:<taskId>. Appointment notifications belong to delegation; task notification
|
|
173
|
+
keys remain assignment:<taskId>. Missing inbox capability skips notifications as before.
|
|
174
|
+
|
|
175
|
+
See @haneinfo/delegation's agent guide for period rules, human management and read-only MCP. There
|
|
176
|
+
is no MCP response, creation, revocation, per-task reassignment or delegation frontend.
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
## Instance access lists (draft implementation)
|
|
180
|
+
|
|
181
|
+
Implemented against draft decision 202610-c8e3; the decision remains draft.
|
|
182
|
+
|
|
183
|
+
Assignment calls StateMachineReaderGrants.grantAssigned(instanceId, userIds, tx, source?) in the
|
|
184
|
+
same task transaction. The optional source defaults to ASSIGNED; notifyTasks groups original and
|
|
185
|
+
one-hop delegate tasks and passes DELEGATED for delegates. The original call shape is compatible.
|
|
186
|
+
Both sources are permanent READ; task completion/cancellation and delegation expiry/revocation
|
|
187
|
+
never remove them. Manual GRANTED READ/WRITE entries coexist under a source-specific key.
|
|
188
|
+
Task ownership and ASSIGNMENT transition authorization remain unchanged.
|
|
189
|
+
|
|
190
|
+
Upgrade the affected mechanisms together after applying the App migration. The maintained model,
|
|
191
|
+
HTTP routes, read-only list_instance_access MCP tool, errors and permission contract are documented
|
|
192
|
+
in @haneinfo/state-machine/agent-guide.md. Its prisma/instance-access.sql migrates the existing reader
|
|
193
|
+
table to USER/ROLE, READ/WRITE and ASSIGNED/DELEGATED/GRANTED rows while retaining timestamps.
|
|
194
|
+
The maintainer selected (instanceId, principalType, principalId, source) uniqueness. Manual grants are
|
|
195
|
+
limited to 100 by default; permanent READ entries survive manual removal. See the package repository
|
|
196
|
+
validation/equipment-loan/instance-access/report.md for SQL, tests and App restoration evidence.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assignment.service.d.ts","sourceRoot":"","sources":["../src/assignment.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAE3B,KAAK,iBAAiB,EAGtB,KAAK,qBAAqB,EAE1B,KAAK,gBAAgB,EAGrB,KAAK,cAAc,EAGnB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAsB,KAAK,YAAY,EAAY,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAEL,KAAK,eAAe,EAGpB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,gBAAgB,eAA0C,CAAC;AACxE,eAAO,MAAM,mBAAmB,eAA6C,CAAC;AAE9E,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;IACvD,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,EAAE,IAAI,CACZ,wBAAwB,EACxB,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CACjE,GAAG,IAAI,CAAC;CACV;AAED,qBACa,iBAAkB,YAAW,YAAY;IAqBxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACf,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IA9BhE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAEhF,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAcrC;gBAG2C,KAAK,EAAE,eAAe,EACjB,OAAO,EAAE,uBAAuB,EAClC,QAAQ,EAAE,sBAAsB,EAC3B,YAAY,EAAE,wBAAwB,EACvC,IAAI,CAAC,EAAE,cAAc,YAAA,EACd,aAAa,CAAC,EAAE,qBAAqB,YAAA,EACxD,KAAK,CAAC,EAAE,MAAM,IAAI,EACE,OAAO,GAAE,MAAc,EAC7B,YAAY,CAAC,EAAE,gBAAgB,YAAA,EACzB,UAAU,CAAC,EAAE,sBAAsB,YAAA,EACxC,QAAQ,CAAC,EAAE,iBAAiB,YAAA;IAKnF,YAAY;YAWE,GAAG;YAaH,YAAY;YA0CZ,UAAU;YAmBV,IAAI;YA8CJ,WAAW;
|
|
1
|
+
{"version":3,"file":"assignment.service.d.ts","sourceRoot":"","sources":["../src/assignment.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -167,7 +167,13 @@ let AssignmentService = class AssignmentService {
|
|
|
167
167
|
async notifyTasks(tasks, tx) {
|
|
168
168
|
if (!tasks.length)
|
|
169
169
|
return;
|
|
170
|
-
|
|
170
|
+
for (const source of ['ASSIGNED', 'DELEGATED']) {
|
|
171
|
+
const ids = tasks
|
|
172
|
+
.filter((task) => Boolean(task.delegationId) === (source === 'DELEGATED'))
|
|
173
|
+
.map((task) => task.assigneeId);
|
|
174
|
+
if (ids.length)
|
|
175
|
+
await this.readerGrants.grantAssigned(tasks[0].instanceId, ids, tx, source);
|
|
176
|
+
}
|
|
171
177
|
if (this.notifications) {
|
|
172
178
|
await this.notifications.notifyMany(tasks.map((task) => ({
|
|
173
179
|
recipientUserId: task.assigneeId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assignment.service.js","sourceRoot":"","sources":["../src/assignment.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assignment.service.js","sourceRoot":"","sources":["../src/assignment.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haneinfo/assignment",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Assignment mechanism: Assignment definitions (who must respond when a state machine enters a state) and the task runtime, registered with @haneinfo/definition-registry.",
|
|
6
6
|
"files": [
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
"./package.json": "./package.json"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@haneinfo/plugin-api": "1.
|
|
42
|
-
"@haneinfo/form": "0.3.
|
|
41
|
+
"@haneinfo/plugin-api": "1.14.0",
|
|
42
|
+
"@haneinfo/form": "0.3.4"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@haneinfo/common": "^0.3.4",
|
|
46
46
|
"@haneinfo/definition-registry": "^0.1.0",
|
|
47
|
-
"@haneinfo/state-machine": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0",
|
|
47
|
+
"@haneinfo/state-machine": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0",
|
|
48
48
|
"@haneinfo/plugin-host-nest": "^2.0.0",
|
|
49
49
|
"@nestjs/common": "^11.0.0",
|
|
50
50
|
"@nestjs/core": "^11.0.0",
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"typescript": "^5.9.3",
|
|
65
65
|
"vitest": "^4.1.11",
|
|
66
66
|
"zod": "^4.4.0",
|
|
67
|
-
"@haneinfo/
|
|
67
|
+
"@haneinfo/definition-registry": "0.1.9",
|
|
68
68
|
"@haneinfo/common": "0.3.4",
|
|
69
|
-
"@haneinfo/
|
|
69
|
+
"@haneinfo/state-machine": "0.10.0",
|
|
70
70
|
"@haneinfo/plugin-host-nest": "2.1.0",
|
|
71
71
|
"@haneinfo/plugin-testkit": "2.3.0"
|
|
72
72
|
},
|