@shardworks/clerk-apparatus 0.1.129 → 0.1.130
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/clerk.d.ts +7 -0
- package/dist/clerk.d.ts.map +1 -1
- package/dist/clerk.js +77 -9
- package/dist/clerk.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/commission-post.d.ts +1 -0
- package/dist/tools/commission-post.d.ts.map +1 -1
- package/dist/tools/commission-post.js +10 -2
- package/dist/tools/commission-post.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/writ-cancel.js +2 -2
- package/dist/tools/writ-cancel.js.map +1 -1
- package/dist/tools/writ-publish.d.ts +6 -0
- package/dist/tools/writ-publish.d.ts.map +1 -0
- package/dist/tools/writ-publish.js +19 -0
- package/dist/tools/writ-publish.js.map +1 -0
- package/dist/types.d.ts +15 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -5
- package/pages/writs/index.html +966 -0
package/dist/clerk.d.ts
CHANGED
|
@@ -8,9 +8,16 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Writ types are validated against the guild config's writTypes field plus the
|
|
10
10
|
* built-in type ('mandate'). An unknown type is rejected at post time.
|
|
11
|
+
* Kits may also contribute writ types via their writTypes field.
|
|
11
12
|
*
|
|
12
13
|
* See: docs/architecture/apparatus/clerk.md
|
|
13
14
|
*/
|
|
14
15
|
import type { Plugin } from '@shardworks/nexus-core';
|
|
16
|
+
import type { WritTypeEntry } from './types.ts';
|
|
17
|
+
/** Kit contribution interface for the Clerk's writ type system. */
|
|
18
|
+
export interface ClerkKit {
|
|
19
|
+
/** Writ type descriptors to register with the Clerk. Names are unqualified. */
|
|
20
|
+
writTypes?: WritTypeEntry[];
|
|
21
|
+
}
|
|
15
22
|
export declare function createClerk(): Plugin;
|
|
16
23
|
//# sourceMappingURL=clerk.d.ts.map
|
package/dist/clerk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAC;AAKrE,OAAO,KAAK,EASV,aAAa,EACd,MAAM,YAAY,CAAC;AAiBpB,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAqBD,wBAAgB,WAAW,IAAI,MAAM,CA8RpC"}
|
package/dist/clerk.js
CHANGED
|
@@ -8,34 +8,39 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Writ types are validated against the guild config's writTypes field plus the
|
|
10
10
|
* built-in type ('mandate'). An unknown type is rejected at post time.
|
|
11
|
+
* Kits may also contribute writ types via their writTypes field.
|
|
11
12
|
*
|
|
12
13
|
* See: docs/architecture/apparatus/clerk.md
|
|
13
14
|
*/
|
|
14
15
|
import { guild, generateId } from '@shardworks/nexus-core';
|
|
15
|
-
import {
|
|
16
|
+
import { tool } from '@shardworks/tools-apparatus';
|
|
17
|
+
import { commissionPost, writShow, writList, writAccept, writComplete, writFail, writCancel, writPublish, writLink, writUnlink, } from "./tools/index.js";
|
|
16
18
|
// ── Built-in writ types ──────────────────────────────────────────────
|
|
17
19
|
const BUILTIN_TYPES = new Set(['mandate']);
|
|
18
20
|
// ── Status machine ───────────────────────────────────────────────────
|
|
19
21
|
const ALLOWED_FROM = {
|
|
22
|
+
ready: ['new'],
|
|
20
23
|
active: ['ready'],
|
|
21
24
|
completed: ['active'],
|
|
22
25
|
failed: ['active'],
|
|
23
|
-
cancelled: ['ready', 'active'],
|
|
24
|
-
|
|
26
|
+
cancelled: ['new', 'ready', 'active'],
|
|
27
|
+
new: [],
|
|
25
28
|
};
|
|
26
29
|
const TERMINAL_STATUSES = new Set(['completed', 'failed', 'cancelled']);
|
|
27
30
|
// ── Factory ──────────────────────────────────────────────────────────
|
|
28
31
|
export function createClerk() {
|
|
29
32
|
let writs;
|
|
30
33
|
let links;
|
|
34
|
+
/** Merged set of valid writ type names: builtins + config + kit contributions. */
|
|
35
|
+
let mergedWritTypes = new Set(BUILTIN_TYPES);
|
|
36
|
+
/** Config-declared writ type names, for override checking during kit registration. */
|
|
37
|
+
let configWritTypeNames = new Set();
|
|
31
38
|
// ── Helpers ──────────────────────────────────────────────────────
|
|
32
39
|
function resolveClerkConfig() {
|
|
33
40
|
return guild().guildConfig().clerk ?? {};
|
|
34
41
|
}
|
|
35
42
|
function resolveWritTypes() {
|
|
36
|
-
|
|
37
|
-
const declared = (config.writTypes ?? []).map((entry) => entry.name);
|
|
38
|
-
return new Set([...BUILTIN_TYPES, ...declared]);
|
|
43
|
+
return mergedWritTypes;
|
|
39
44
|
}
|
|
40
45
|
function resolveDefaultType() {
|
|
41
46
|
const config = resolveClerkConfig();
|
|
@@ -51,6 +56,30 @@ export function createClerk() {
|
|
|
51
56
|
}
|
|
52
57
|
return conditions.length > 0 ? conditions : undefined;
|
|
53
58
|
}
|
|
59
|
+
function registerKitWritTypes(kitEntry) {
|
|
60
|
+
const pluginId = kitEntry.pluginId;
|
|
61
|
+
const raw = kitEntry.value;
|
|
62
|
+
if (!Array.isArray(raw))
|
|
63
|
+
return;
|
|
64
|
+
for (const entry of raw) {
|
|
65
|
+
if (typeof entry !== 'object' ||
|
|
66
|
+
entry === null ||
|
|
67
|
+
typeof entry.name !== 'string') {
|
|
68
|
+
console.warn(`[clerk] Kit "${pluginId}" writTypes: entry is missing required "name" field — skipped`);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const name = entry.name;
|
|
72
|
+
// Config override: skip silently
|
|
73
|
+
if (configWritTypeNames.has(name))
|
|
74
|
+
continue;
|
|
75
|
+
// Duplicate kit contribution: first wins, warn
|
|
76
|
+
if (mergedWritTypes.has(name)) {
|
|
77
|
+
console.warn(`[clerk] Kit "${pluginId}" writTypes: type "${name}" already registered by another kit — skipped`);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
mergedWritTypes.add(name);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
54
83
|
// ── API ──────────────────────────────────────────────────────────
|
|
55
84
|
const api = {
|
|
56
85
|
async post(request) {
|
|
@@ -63,7 +92,7 @@ export function createClerk() {
|
|
|
63
92
|
const writ = {
|
|
64
93
|
id: generateId('w', 6),
|
|
65
94
|
type,
|
|
66
|
-
status: 'ready',
|
|
95
|
+
status: request.draft === true ? 'new' : 'ready',
|
|
67
96
|
title: request.title,
|
|
68
97
|
body: request.body,
|
|
69
98
|
...(request.codex !== undefined ? { codex: request.codex } : {}),
|
|
@@ -160,10 +189,35 @@ export function createClerk() {
|
|
|
160
189
|
return writs.patch(id, patch);
|
|
161
190
|
},
|
|
162
191
|
};
|
|
192
|
+
// ── writ-types tool ──────────────────────────────────────────────
|
|
193
|
+
const writTypesTool = tool({
|
|
194
|
+
name: 'writ-types',
|
|
195
|
+
description: 'List available writ types for this guild',
|
|
196
|
+
instructions: 'Returns the available writ types including built-in types, types declared ' +
|
|
197
|
+
'in guild config, and types contributed by kits. Each entry includes the ' +
|
|
198
|
+
'type name, optional description, and whether it is the default type.',
|
|
199
|
+
params: {},
|
|
200
|
+
permission: 'clerk:read',
|
|
201
|
+
handler: async () => {
|
|
202
|
+
const config = resolveClerkConfig();
|
|
203
|
+
const defaultType = resolveDefaultType();
|
|
204
|
+
const configEntries = config.writTypes ?? [];
|
|
205
|
+
return [...mergedWritTypes].map((name) => {
|
|
206
|
+
const entry = configEntries.find((e) => e.name === name);
|
|
207
|
+
return {
|
|
208
|
+
name,
|
|
209
|
+
description: entry?.description ?? null,
|
|
210
|
+
default: name === defaultType,
|
|
211
|
+
};
|
|
212
|
+
});
|
|
213
|
+
},
|
|
214
|
+
});
|
|
163
215
|
// ── Apparatus ────────────────────────────────────────────────────
|
|
164
216
|
return {
|
|
165
217
|
apparatus: {
|
|
166
218
|
requires: ['stacks'],
|
|
219
|
+
recommends: ['oculus'],
|
|
220
|
+
consumes: ['writTypes'],
|
|
167
221
|
supportKit: {
|
|
168
222
|
books: {
|
|
169
223
|
writs: {
|
|
@@ -181,15 +235,29 @@ export function createClerk() {
|
|
|
181
235
|
writComplete,
|
|
182
236
|
writFail,
|
|
183
237
|
writCancel,
|
|
238
|
+
writPublish,
|
|
184
239
|
writLink,
|
|
185
240
|
writUnlink,
|
|
241
|
+
writTypesTool,
|
|
242
|
+
],
|
|
243
|
+
pages: [
|
|
244
|
+
{ id: 'writs', title: 'Writs', dir: 'pages/writs' },
|
|
186
245
|
],
|
|
187
246
|
},
|
|
188
247
|
provides: api,
|
|
189
|
-
start(
|
|
190
|
-
const
|
|
248
|
+
start(ctx) {
|
|
249
|
+
const g = guild();
|
|
250
|
+
const stacks = g.apparatus('stacks');
|
|
191
251
|
writs = stacks.book('clerk', 'writs');
|
|
192
252
|
links = stacks.book('clerk', 'links');
|
|
253
|
+
// Initialize merged writ types from builtins + config
|
|
254
|
+
const config = resolveClerkConfig();
|
|
255
|
+
configWritTypeNames = new Set((config.writTypes ?? []).map((e) => e.name));
|
|
256
|
+
mergedWritTypes = new Set([...BUILTIN_TYPES, ...configWritTypeNames]);
|
|
257
|
+
// Scan all kit-contributed writ types via the Wire-phase snapshot.
|
|
258
|
+
for (const entry of ctx.kits('writTypes')) {
|
|
259
|
+
registerKitWritTypes(entry);
|
|
260
|
+
}
|
|
193
261
|
},
|
|
194
262
|
},
|
|
195
263
|
};
|
package/dist/clerk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clerk.js","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"clerk.js","sourceRoot":"","sources":["../src/clerk.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export { type ClerkApi, type ClerkConfig, type WritTypeEntry, type WritDoc, type WritLinkDoc, type WritLinks, type WritStatus, type PostCommissionRequest, type WritFilters, } from './types.ts';
|
|
11
11
|
export { createClerk } from './clerk.ts';
|
|
12
|
+
export type { ClerkKit } from './clerk.ts';
|
|
12
13
|
declare const _default: import("@shardworks/nexus-core").Plugin;
|
|
13
14
|
export default _default;
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;;AAI3C,wBAA6B"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,yEAAyE;AAEzE,OAAO,EAUN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,yEAAyE;AAEzE,OAAO,EAUN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,yEAAyE;AAEzE,eAAe,WAAW,EAAE,CAAC"}
|
|
@@ -4,6 +4,7 @@ declare const _default: import("@shardworks/tools-apparatus").ToolDefinition<{
|
|
|
4
4
|
body: z.ZodString;
|
|
5
5
|
type: z.ZodOptional<z.ZodString>;
|
|
6
6
|
codex: z.ZodOptional<z.ZodString>;
|
|
7
|
+
draft: z.ZodOptional<z.ZodBoolean>;
|
|
7
8
|
}>;
|
|
8
9
|
export default _default;
|
|
9
10
|
//# sourceMappingURL=commission-post.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commission-post.d.ts","sourceRoot":"","sources":["../../src/tools/commission-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"commission-post.d.ts","sourceRoot":"","sources":["../../src/tools/commission-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;;;;;;;;AAKxB,wBAiCG"}
|
|
@@ -3,8 +3,10 @@ import { guild } from '@shardworks/nexus-core';
|
|
|
3
3
|
import { tool } from '@shardworks/tools-apparatus';
|
|
4
4
|
export default tool({
|
|
5
5
|
name: 'commission-post',
|
|
6
|
-
description: 'Post a new commission, creating a writ in ready status',
|
|
7
|
-
instructions: 'Creates a new writ
|
|
6
|
+
description: 'Post a new commission, creating a writ in ready or new (draft) status',
|
|
7
|
+
instructions: 'Creates a new writ. By default the writ is placed in ready status and enters the queue ' +
|
|
8
|
+
'immediately. Pass draft: true to create the writ in new (draft) status instead — draft ' +
|
|
9
|
+
'writs are held out of the queue until explicitly published with writ-publish. ' +
|
|
8
10
|
'The writ type must be a type declared in the guild config, or the built-in type "mandate". ' +
|
|
9
11
|
'If type is omitted, the guild\'s configured default type is used (defaults to "mandate").',
|
|
10
12
|
params: {
|
|
@@ -12,6 +14,11 @@ export default tool({
|
|
|
12
14
|
body: z.string().describe('Detail text or description'),
|
|
13
15
|
type: z.string().optional().describe('Writ type (default: guild defaultType or "mandate")'),
|
|
14
16
|
codex: z.string().optional().describe('Target codex name'),
|
|
17
|
+
draft: z
|
|
18
|
+
.boolean()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('When true, create the writ in new (draft) status instead of ready. ' +
|
|
21
|
+
'Draft writs must be published before they enter the execution queue.'),
|
|
15
22
|
},
|
|
16
23
|
permission: 'clerk:write',
|
|
17
24
|
handler: async (params) => {
|
|
@@ -21,6 +28,7 @@ export default tool({
|
|
|
21
28
|
body: params.body,
|
|
22
29
|
type: params.type,
|
|
23
30
|
codex: params.codex,
|
|
31
|
+
draft: params.draft,
|
|
24
32
|
});
|
|
25
33
|
},
|
|
26
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commission-post.js","sourceRoot":"","sources":["../../src/tools/commission-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,eAAe,IAAI,CAAC;IAClB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"commission-post.js","sourceRoot":"","sources":["../../src/tools/commission-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,eAAe,IAAI,CAAC;IAClB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,uEAAuE;IACpF,YAAY,EACV,yFAAyF;QACzF,yFAAyF;QACzF,gFAAgF;QAChF,6FAA6F;QAC7F,2FAA2F;IAC7F,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1D,KAAK,EAAE,CAAC;aACL,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,qEAAqE;YACrE,sEAAsE,CACvE;KACJ;IACD,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,SAAS,CAAW,OAAO,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { default as writAccept } from './writ-accept.ts';
|
|
|
5
5
|
export { default as writComplete } from './writ-complete.ts';
|
|
6
6
|
export { default as writFail } from './writ-fail.ts';
|
|
7
7
|
export { default as writCancel } from './writ-cancel.ts';
|
|
8
|
+
export { default as writPublish } from './writ-publish.ts';
|
|
8
9
|
export { default as writLink } from './writ-link.ts';
|
|
9
10
|
export { default as writUnlink } from './writ-unlink.ts';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { default as writAccept } from "./writ-accept.js";
|
|
|
5
5
|
export { default as writComplete } from "./writ-complete.js";
|
|
6
6
|
export { default as writFail } from "./writ-fail.js";
|
|
7
7
|
export { default as writCancel } from "./writ-cancel.js";
|
|
8
|
+
export { default as writPublish } from "./writ-publish.js";
|
|
8
9
|
export { default as writLink } from "./writ-link.js";
|
|
9
10
|
export { default as writUnlink } from "./writ-unlink.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -3,8 +3,8 @@ import { guild } from '@shardworks/nexus-core';
|
|
|
3
3
|
import { tool } from '@shardworks/tools-apparatus';
|
|
4
4
|
export default tool({
|
|
5
5
|
name: 'writ-cancel',
|
|
6
|
-
description: 'Cancel a writ, transitioning it from ready or active to cancelled',
|
|
7
|
-
instructions: 'Cancels the writ.
|
|
6
|
+
description: 'Cancel a writ, transitioning it from new, ready, or active to cancelled',
|
|
7
|
+
instructions: 'Cancels the writ. Writs in new (draft), ready, or active status can all be cancelled. ' +
|
|
8
8
|
'Optionally record a resolution explaining why. ' +
|
|
9
9
|
'Returns the updated writ.',
|
|
10
10
|
params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writ-cancel.js","sourceRoot":"","sources":["../../src/tools/writ-cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,eAAe,IAAI,CAAC;IAClB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"writ-cancel.js","sourceRoot":"","sources":["../../src/tools/writ-cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,eAAe,IAAI,CAAC;IAClB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,yEAAyE;IACtF,YAAY,EACV,wFAAwF;QACxF,iDAAiD;QACjD,2BAA2B;IAC7B,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;KAC7F;IACD,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,SAAS,CAAW,OAAO,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,UAAU,CACrB,MAAM,CAAC,EAAE,EACT,WAAW,EACX,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAChF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writ-publish.d.ts","sourceRoot":"","sources":["../../src/tools/writ-publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;;;;AAKxB,wBAeG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { guild } from '@shardworks/nexus-core';
|
|
3
|
+
import { tool } from '@shardworks/tools-apparatus';
|
|
4
|
+
export default tool({
|
|
5
|
+
name: 'writ-publish',
|
|
6
|
+
description: 'Publish a draft writ, transitioning it from new to ready',
|
|
7
|
+
instructions: 'Moves a writ from new (draft) status to ready, placing it in the execution queue. ' +
|
|
8
|
+
'Once published, the Spider will pick up the writ on its next crawl tick. ' +
|
|
9
|
+
'Only writs in new status can be published. Returns the updated writ.',
|
|
10
|
+
params: {
|
|
11
|
+
id: z.string().describe('Writ id'),
|
|
12
|
+
},
|
|
13
|
+
permission: 'clerk:write',
|
|
14
|
+
handler: async (params) => {
|
|
15
|
+
const clerk = guild().apparatus('clerk');
|
|
16
|
+
return clerk.transition(params.id, 'ready');
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=writ-publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writ-publish.js","sourceRoot":"","sources":["../../src/tools/writ-publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,eAAe,IAAI,CAAC;IAClB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,0DAA0D;IACvE,YAAY,EACV,oFAAoF;QACpF,2EAA2E;QAC3E,sEAAsE;IACxE,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACnC;IACD,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,SAAS,CAAW,OAAO,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -7,14 +7,16 @@
|
|
|
7
7
|
* A writ's position in its lifecycle.
|
|
8
8
|
*
|
|
9
9
|
* Transitions:
|
|
10
|
-
* ready
|
|
10
|
+
* new → ready (publish) — draft held for review before entering the queue
|
|
11
|
+
* new → cancelled (cancel)
|
|
12
|
+
* ready → active (accept)
|
|
11
13
|
* active → completed (complete)
|
|
12
|
-
* active → failed
|
|
14
|
+
* active → failed (fail)
|
|
13
15
|
* ready | active → cancelled (cancel)
|
|
14
16
|
*
|
|
15
17
|
* completed, failed, cancelled are terminal — no further transitions.
|
|
16
18
|
*/
|
|
17
|
-
export type WritStatus = 'ready' | 'active' | 'completed' | 'failed' | 'cancelled';
|
|
19
|
+
export type WritStatus = 'new' | 'ready' | 'active' | 'completed' | 'failed' | 'cancelled';
|
|
18
20
|
/**
|
|
19
21
|
* A writ document as stored in The Stacks.
|
|
20
22
|
*/
|
|
@@ -59,6 +61,13 @@ export interface PostCommissionRequest {
|
|
|
59
61
|
body: string;
|
|
60
62
|
/** Optional target codex name. */
|
|
61
63
|
codex?: string;
|
|
64
|
+
/**
|
|
65
|
+
* When true, the writ is created in 'new' (draft) status instead of 'ready'.
|
|
66
|
+
* Draft writs are invisible to the Spider and must be explicitly published
|
|
67
|
+
* (new → ready) before they can be picked up for execution.
|
|
68
|
+
* Defaults to false (writ enters the queue immediately).
|
|
69
|
+
*/
|
|
70
|
+
draft?: boolean;
|
|
62
71
|
}
|
|
63
72
|
/**
|
|
64
73
|
* Filters for listing writs.
|
|
@@ -127,7 +136,9 @@ export interface WritLinks {
|
|
|
127
136
|
*/
|
|
128
137
|
export interface ClerkApi {
|
|
129
138
|
/**
|
|
130
|
-
* Post a new commission, creating a writ in 'ready' status.
|
|
139
|
+
* Post a new commission, creating a writ in 'ready' status by default.
|
|
140
|
+
* If `request.draft` is true, the writ is created in 'new' status instead
|
|
141
|
+
* and will not be picked up by the Spider until explicitly published.
|
|
131
142
|
* Validates the writ type against declared types in guild config.
|
|
132
143
|
*/
|
|
133
144
|
post(request: PostCommissionRequest): Promise<WritDoc>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/clerk-apparatus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.130",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,15 +17,16 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"zod": "4.3.6",
|
|
20
|
-
"@shardworks/nexus-core": "0.1.
|
|
21
|
-
"@shardworks/
|
|
22
|
-
"@shardworks/
|
|
20
|
+
"@shardworks/nexus-core": "0.1.130",
|
|
21
|
+
"@shardworks/stacks-apparatus": "0.1.130",
|
|
22
|
+
"@shardworks/tools-apparatus": "0.1.130"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/node": "25.5.0"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
|
-
"dist"
|
|
28
|
+
"dist",
|
|
29
|
+
"pages"
|
|
29
30
|
],
|
|
30
31
|
"scripts": {
|
|
31
32
|
"build": "tsc",
|