crewly 1.8.4 → 1.8.6
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/config/roles/_common/wiki-instructions.md +33 -0
- package/config/roles/orchestrator/prompt.md +66 -4
- package/config/roles/team-leader/prompt.md +38 -0
- package/config/skills/agent/core/wiki-query/SKILL.md +66 -0
- package/config/skills/agent/core/wiki-query/execute.sh +107 -0
- package/config/skills/orchestrator/wiki-bookkeep/SKILL.md +71 -0
- package/config/skills/orchestrator/wiki-bookkeep/execute.sh +72 -0
- package/config/skills/orchestrator/wiki-ingest/SKILL.md +63 -0
- package/config/skills/orchestrator/wiki-ingest/execute.sh +113 -0
- package/config/skills/orchestrator/wiki-process-queue/SKILL.md +71 -0
- package/config/skills/orchestrator/wiki-process-queue/execute.sh +93 -0
- package/config/skills/orchestrator/wiki-queue-add/SKILL.md +89 -0
- package/config/skills/orchestrator/wiki-queue-add/execute.sh +115 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +20 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +15 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +134 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +718 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts +23 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.routes.js +43 -0
- package/dist/backend/backend/src/controllers/wiki/wiki.routes.js.map +1 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +65 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +4 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +142 -0
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js +265 -0
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -0
- package/dist/backend/backend/src/services/session/pty/pty-session.d.ts +28 -0
- package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/pty/pty-session.js +162 -4
- package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/referenced-by.resolver.d.ts +69 -0
- package/dist/backend/backend/src/services/wiki/referenced-by.resolver.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/referenced-by.resolver.js +174 -0
- package/dist/backend/backend/src/services/wiki/referenced-by.resolver.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts +57 -0
- package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/schema-loader.service.js +183 -0
- package/dist/backend/backend/src/services/wiki/schema-loader.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts +86 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js +187 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts +116 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js +299 -0
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +74 -0
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +154 -0
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +100 -0
- package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js +212 -0
- package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-process.service.d.ts +84 -0
- package/dist/backend/backend/src/services/wiki/wiki-process.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-process.service.js +138 -0
- package/dist/backend/backend/src/services/wiki/wiki-process.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts +115 -0
- package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-query.service.js +291 -0
- package/dist/backend/backend/src/services/wiki/wiki-query.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-queue.service.d.ts +115 -0
- package/dist/backend/backend/src/services/wiki/wiki-queue.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki-queue.service.js +261 -0
- package/dist/backend/backend/src/services/wiki/wiki-queue.service.js.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki.types.d.ts +84 -0
- package/dist/backend/backend/src/services/wiki/wiki.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/wiki/wiki.types.js +10 -0
- package/dist/backend/backend/src/services/wiki/wiki.types.js.map +1 -0
- package/frontend/dist/assets/{index-b279da34.js → index-cc115bb4.js} +246 -246
- package/frontend/dist/assets/{index-c07e04c0.css → index-db3f5041.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiki REST Controller
|
|
3
|
+
*
|
|
4
|
+
* Exposes the LLM-wiki ingest/query operations over HTTP so the bash
|
|
5
|
+
* skills (`wiki-ingest`, `wiki-query`) and in-process subscribers
|
|
6
|
+
* (`WikiChatSubscriberService`) all funnel through the same code path.
|
|
7
|
+
*
|
|
8
|
+
* @module controllers/wiki/wiki.controller
|
|
9
|
+
*/
|
|
10
|
+
import type { Request, Response, NextFunction } from 'express';
|
|
11
|
+
/**
|
|
12
|
+
* POST /api/wiki/ingest
|
|
13
|
+
*
|
|
14
|
+
* Write a single source into a vault's `llm-curated/log.md` (or other
|
|
15
|
+
* non-frozen target). The handler enforces request validation; per-call
|
|
16
|
+
* routing / frozen-path / size limits live in `WikiIngestService`.
|
|
17
|
+
*
|
|
18
|
+
* Request body:
|
|
19
|
+
* {
|
|
20
|
+
* vaultPath: string,
|
|
21
|
+
* sourceType: WikiSourceType,
|
|
22
|
+
* sourceRef: string,
|
|
23
|
+
* sourceBody: string,
|
|
24
|
+
* callerSession?: string,
|
|
25
|
+
* targetRelativePath?: string
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* Response:
|
|
29
|
+
* 200 { success: true, result: WikiIngestOutcome (ok=true variant) }
|
|
30
|
+
* 400 { success: false, error: string, outcome?: WikiIngestOutcome }
|
|
31
|
+
* 422 { success: false, error: 'frozen_path', outcome: WikiIngestOutcome }
|
|
32
|
+
*/
|
|
33
|
+
export declare function ingest(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* POST /api/wiki/query
|
|
36
|
+
*
|
|
37
|
+
* Build the system-context payload for a single-vault read. The skill /
|
|
38
|
+
* caller's runtime concatenates this with its per-LLM task-instruction
|
|
39
|
+
* prompt (`config/skills/<role>/wiki-query/prompts/<runtime>.md`) before
|
|
40
|
+
* the actual LLM call.
|
|
41
|
+
*
|
|
42
|
+
* Request body:
|
|
43
|
+
* {
|
|
44
|
+
* vaultPath: string,
|
|
45
|
+
* query: string,
|
|
46
|
+
* topK?: number,
|
|
47
|
+
* recentLogEntries?: number
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* Response:
|
|
51
|
+
* 200 { success: true, result: { context: WikiQuerySystemContext } }
|
|
52
|
+
* 400 { success: false, error: string, outcome?: failure }
|
|
53
|
+
* 404 { success: false, error: 'schema_missing', outcome }
|
|
54
|
+
*/
|
|
55
|
+
export declare function queryVault(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* POST /api/wiki/queue
|
|
58
|
+
*
|
|
59
|
+
* Enqueue a candidate item. Agents call this when a turn produces
|
|
60
|
+
* content worth saving to the wiki. The `reason` is REQUIRED — the
|
|
61
|
+
* agent has to justify why this is wiki-worthy (audit trail + helps
|
|
62
|
+
* the processor decide where it goes).
|
|
63
|
+
*/
|
|
64
|
+
export declare function queueAdd(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* GET /api/wiki/queue?vaultPath=…&status=…&queuedBy=…&limit=…
|
|
67
|
+
*/
|
|
68
|
+
export declare function queueList(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* POST /api/wiki/queue/:id/claim
|
|
71
|
+
* body: { claimedBy: string }
|
|
72
|
+
*/
|
|
73
|
+
export declare function queueClaim(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* POST /api/wiki/queue/:id/process
|
|
76
|
+
* body: { ingested: boolean, pagesWritten?: string[], targetPath?: string, summary?: string }
|
|
77
|
+
*/
|
|
78
|
+
export declare function queueProcess(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* POST /api/wiki/queue/:id/skip
|
|
81
|
+
* body: { skipReason: string }
|
|
82
|
+
*/
|
|
83
|
+
export declare function queueSkip(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* POST /api/wiki/queue/claim-next
|
|
86
|
+
* body: { claimedBy: string, vaultPath?: string, offset?: number, topK?: number, recentLogEntries?: number }
|
|
87
|
+
*
|
|
88
|
+
* Claims the next pending item AND returns the vault context the
|
|
89
|
+
* agent's LLM should classify against. The agent then picks a target
|
|
90
|
+
* page, calls /wiki/ingest, and commits via /queue/:id/process.
|
|
91
|
+
*/
|
|
92
|
+
export declare function queueClaimNext(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* POST /api/wiki/bookkeep
|
|
95
|
+
* body: { vaultPath: string, windowDays?: number, threshold?: number }
|
|
96
|
+
*/
|
|
97
|
+
export declare function bookkeep(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* GET /api/wiki/vaults
|
|
100
|
+
*
|
|
101
|
+
* Returns the list of all known vaults (project + team + global) with
|
|
102
|
+
* stats so the UI can render a sidebar. Discovery uses the same logic
|
|
103
|
+
* the bookkeep trigger uses.
|
|
104
|
+
*/
|
|
105
|
+
export declare function listVaults(_req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* GET /api/wiki/tree?vaultPath=...
|
|
108
|
+
*
|
|
109
|
+
* Walks the vault directory and returns the file tree. Frozen folders
|
|
110
|
+
* are marked so the UI can render them differently. SCHEMA.md is
|
|
111
|
+
* surfaced as a top-level file.
|
|
112
|
+
*/
|
|
113
|
+
export declare function getVaultTree(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* GET /api/wiki/page?vaultPath=...&relativePath=...
|
|
116
|
+
*
|
|
117
|
+
* Returns the raw markdown content of a single page. The relativePath
|
|
118
|
+
* is validated to ensure it doesn't escape the vault directory.
|
|
119
|
+
*/
|
|
120
|
+
export declare function getPage(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* POST /api/wiki/bookkeep/trigger-now
|
|
123
|
+
*
|
|
124
|
+
* Force one tick of the bookkeep trigger NOW. Used for manual testing
|
|
125
|
+
* (curl, the chat UI, an admin button) — production cadence is the
|
|
126
|
+
* automatic interval scan, but operators sometimes want to invoke it
|
|
127
|
+
* synchronously to verify wiring or to clear a backlog.
|
|
128
|
+
*/
|
|
129
|
+
export declare function bookkeepTriggerNow(_req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* GET /api/wiki/queue/stats?vaultPath=…
|
|
132
|
+
*/
|
|
133
|
+
export declare function queueStats(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
134
|
+
//# sourceMappingURL=wiki.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wiki.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/wiki/wiki.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA+B/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,MAAM,CAC1B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAmEf;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAgDf;AAgBD;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAwBD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAqFf;AAQD;;;;;GAKG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAQf"}
|