wicked-crew 0.16.11 → 0.16.13
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 +28 -8
- package/dist/api/artifact-outline.d.ts +64 -0
- package/dist/api/artifact-outline.d.ts.map +1 -0
- package/dist/api/artifact-outline.js +254 -0
- package/dist/api/artifact-outline.js.map +1 -0
- package/dist/api/beneath.d.ts +76 -0
- package/dist/api/beneath.d.ts.map +1 -0
- package/dist/api/beneath.js +214 -0
- package/dist/api/beneath.js.map +1 -0
- package/dist/api/capture.d.ts +2 -2
- package/dist/api/chat-citations.d.ts +25 -1
- package/dist/api/chat-citations.d.ts.map +1 -1
- package/dist/api/chat-citations.js +186 -61
- package/dist/api/chat-citations.js.map +1 -1
- package/dist/api/chat-context.d.ts +236 -0
- package/dist/api/chat-context.d.ts.map +1 -0
- package/dist/api/chat-context.js +808 -0
- package/dist/api/chat-context.js.map +1 -0
- package/dist/api/chat-history.d.ts +20 -0
- package/dist/api/chat-history.d.ts.map +1 -1
- package/dist/api/chat-history.js +46 -1
- package/dist/api/chat-history.js.map +1 -1
- package/dist/api/chat-proposals.d.ts +534 -0
- package/dist/api/chat-proposals.d.ts.map +1 -0
- package/dist/api/chat-proposals.js +1562 -0
- package/dist/api/chat-proposals.js.map +1 -0
- package/dist/api/chat-scope.d.ts +41 -0
- package/dist/api/chat-scope.d.ts.map +1 -1
- package/dist/api/chat-scope.js +87 -15
- package/dist/api/chat-scope.js.map +1 -1
- package/dist/api/chat-transcripts.d.ts +27 -2
- package/dist/api/chat-transcripts.d.ts.map +1 -1
- package/dist/api/chat-transcripts.js +105 -4
- package/dist/api/chat-transcripts.js.map +1 -1
- package/dist/api/diagnostics.d.ts +15 -0
- package/dist/api/diagnostics.d.ts.map +1 -1
- package/dist/api/diagnostics.js +56 -0
- package/dist/api/diagnostics.js.map +1 -1
- package/dist/api/elicitation-cache.d.ts +13 -0
- package/dist/api/elicitation-cache.d.ts.map +1 -1
- package/dist/api/elicitation-cache.js +12 -0
- package/dist/api/elicitation-cache.js.map +1 -1
- package/dist/api/eval-sample.d.ts +12 -12
- package/dist/api/frame-guard.d.ts +62 -0
- package/dist/api/frame-guard.d.ts.map +1 -0
- package/dist/api/frame-guard.js +97 -0
- package/dist/api/frame-guard.js.map +1 -0
- package/dist/api/governance-steering.d.ts +4 -4
- package/dist/api/multiscope.d.ts +3 -0
- package/dist/api/multiscope.d.ts.map +1 -1
- package/dist/api/multiscope.js +13 -0
- package/dist/api/multiscope.js.map +1 -1
- package/dist/api/needs.d.ts +6 -0
- package/dist/api/needs.d.ts.map +1 -1
- package/dist/api/needs.js +31 -4
- package/dist/api/needs.js.map +1 -1
- package/dist/api/product.d.ts.map +1 -1
- package/dist/api/product.js +13 -2
- package/dist/api/product.js.map +1 -1
- package/dist/api/project-aggregates.d.ts +6 -6
- package/dist/api/project-aggregates.d.ts.map +1 -1
- package/dist/api/project-aggregates.js +16 -24
- package/dist/api/project-aggregates.js.map +1 -1
- package/dist/api/requirements.d.ts +261 -6
- package/dist/api/requirements.d.ts.map +1 -1
- package/dist/api/requirements.js +344 -64
- package/dist/api/requirements.js.map +1 -1
- package/dist/api/routes.d.ts +156 -4
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +851 -78
- package/dist/api/routes.js.map +1 -1
- package/dist/api/run-brief.d.ts +78 -0
- package/dist/api/run-brief.d.ts.map +1 -0
- package/dist/api/run-brief.js +318 -0
- package/dist/api/run-brief.js.map +1 -0
- package/dist/api/run-files.d.ts.map +1 -1
- package/dist/api/run-files.js +5 -1
- package/dist/api/run-files.js.map +1 -1
- package/dist/api/run-timing-index.d.ts +27 -0
- package/dist/api/run-timing-index.d.ts.map +1 -1
- package/dist/api/run-timing-index.js +65 -0
- package/dist/api/run-timing-index.js.map +1 -1
- package/dist/api/seat-images.d.ts +102 -0
- package/dist/api/seat-images.d.ts.map +1 -0
- package/dist/api/seat-images.js +333 -0
- package/dist/api/seat-images.js.map +1 -0
- package/dist/api/server.d.ts +3 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +265 -2
- package/dist/api/server.js.map +1 -1
- package/dist/api/steering-landing.d.ts +48 -1
- package/dist/api/steering-landing.d.ts.map +1 -1
- package/dist/api/steering-landing.js +116 -42
- package/dist/api/steering-landing.js.map +1 -1
- package/dist/api/system-snapshot.d.ts +51 -2
- package/dist/api/system-snapshot.d.ts.map +1 -1
- package/dist/api/system-snapshot.js +151 -15
- package/dist/api/system-snapshot.js.map +1 -1
- package/dist/api/testing.d.ts +4 -4
- package/dist/api/testing.js +2 -2
- package/dist/api/testing.js.map +1 -1
- package/dist/apps/spec.d.ts +3009 -0
- package/dist/apps/spec.d.ts.map +1 -0
- package/dist/apps/spec.js +870 -0
- package/dist/apps/spec.js.map +1 -0
- package/dist/campaigns/routes.js +1 -1
- package/dist/campaigns/routes.js.map +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adapter.d.ts +12 -0
- package/dist/core/adapter.d.ts.map +1 -1
- package/dist/core/adapter.js +36 -1
- package/dist/core/adapter.js.map +1 -1
- package/dist/core/deliver-text.d.ts.map +1 -1
- package/dist/core/deliver-text.js +22 -10
- package/dist/core/deliver-text.js.map +1 -1
- package/dist/core/estate-mcp-client.d.ts +7 -1
- package/dist/core/estate-mcp-client.d.ts.map +1 -1
- package/dist/core/estate-mcp-client.js +10 -2
- package/dist/core/estate-mcp-client.js.map +1 -1
- package/dist/core/exec.d.ts +12 -0
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +23 -0
- package/dist/core/exec.js.map +1 -1
- package/dist/core/reassign-refusal.d.ts.map +1 -1
- package/dist/core/reassign-refusal.js +23 -3
- package/dist/core/reassign-refusal.js.map +1 -1
- package/dist/core/repoPaths.d.ts +32 -7
- package/dist/core/repoPaths.d.ts.map +1 -1
- package/dist/core/repoPaths.js +56 -9
- package/dist/core/repoPaths.js.map +1 -1
- package/dist/core/requirements-graph-setting.d.ts +32 -0
- package/dist/core/requirements-graph-setting.d.ts.map +1 -0
- package/dist/core/requirements-graph-setting.js +84 -0
- package/dist/core/requirements-graph-setting.js.map +1 -0
- package/dist/core/run-boot-resume.d.ts +4 -1
- package/dist/core/run-boot-resume.d.ts.map +1 -1
- package/dist/core/run-boot-resume.js +6 -1
- package/dist/core/run-boot-resume.js.map +1 -1
- package/dist/core/run-identity.d.ts.map +1 -1
- package/dist/core/run-identity.js +6 -0
- package/dist/core/run-identity.js.map +1 -1
- package/dist/core/types.d.ts +14 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/decisions/chat-recorder.d.ts +14 -3
- package/dist/decisions/chat-recorder.d.ts.map +1 -1
- package/dist/decisions/chat-recorder.js +54 -9
- package/dist/decisions/chat-recorder.js.map +1 -1
- package/dist/editors/csp.d.ts +24 -4
- package/dist/editors/csp.d.ts.map +1 -1
- package/dist/editors/csp.js +35 -8
- package/dist/editors/csp.js.map +1 -1
- package/dist/editors/registry.d.ts +46 -21
- package/dist/editors/registry.d.ts.map +1 -1
- package/dist/editors/registry.js +13 -2
- package/dist/editors/registry.js.map +1 -1
- package/dist/editors/routes.d.ts +4 -1
- package/dist/editors/routes.d.ts.map +1 -1
- package/dist/editors/routes.js +30 -3
- package/dist/editors/routes.js.map +1 -1
- package/dist/editors/visuals.d.ts +51 -0
- package/dist/editors/visuals.d.ts.map +1 -0
- package/dist/editors/visuals.js +164 -0
- package/dist/editors/visuals.js.map +1 -0
- package/dist/editors/webrtc-guard.d.ts +94 -0
- package/dist/editors/webrtc-guard.d.ts.map +1 -0
- package/dist/editors/webrtc-guard.js +506 -0
- package/dist/editors/webrtc-guard.js.map +1 -0
- package/dist/inspect/reading.d.ts +110 -0
- package/dist/inspect/reading.d.ts.map +1 -0
- package/dist/inspect/reading.js +325 -0
- package/dist/inspect/reading.js.map +1 -0
- package/dist/inspect/routes.d.ts +14 -0
- package/dist/inspect/routes.d.ts.map +1 -0
- package/dist/inspect/routes.js +44 -0
- package/dist/inspect/routes.js.map +1 -0
- package/dist/inspect/service.d.ts +161 -0
- package/dist/inspect/service.d.ts.map +1 -0
- package/dist/inspect/service.js +466 -0
- package/dist/inspect/service.js.map +1 -0
- package/dist/interactive/bridge-pool.d.ts +11 -2
- package/dist/interactive/bridge-pool.d.ts.map +1 -1
- package/dist/interactive/bridge-pool.js +10 -1
- package/dist/interactive/bridge-pool.js.map +1 -1
- package/dist/interactive/doc-binding.d.ts +156 -0
- package/dist/interactive/doc-binding.d.ts.map +1 -0
- package/dist/interactive/doc-binding.js +277 -0
- package/dist/interactive/doc-binding.js.map +1 -0
- package/dist/interactive/doc-delete-routes.d.ts +3 -0
- package/dist/interactive/doc-delete-routes.d.ts.map +1 -1
- package/dist/interactive/doc-delete-routes.js +4 -0
- package/dist/interactive/doc-delete-routes.js.map +1 -1
- package/dist/interactive/draft-events.d.ts +89 -3
- package/dist/interactive/draft-events.d.ts.map +1 -1
- package/dist/interactive/draft-events.js +441 -30
- package/dist/interactive/draft-events.js.map +1 -1
- package/dist/interactive/draft-skill.d.ts +7 -0
- package/dist/interactive/draft-skill.d.ts.map +1 -1
- package/dist/interactive/draft-skill.js +10 -3
- package/dist/interactive/draft-skill.js.map +1 -1
- package/dist/interactive/edit-events.d.ts +2 -0
- package/dist/interactive/edit-events.d.ts.map +1 -1
- package/dist/interactive/edit-events.js +11 -0
- package/dist/interactive/edit-events.js.map +1 -1
- package/dist/interactive/proposal-create.d.ts +143 -0
- package/dist/interactive/proposal-create.d.ts.map +1 -0
- package/dist/interactive/proposal-create.js +318 -0
- package/dist/interactive/proposal-create.js.map +1 -0
- package/dist/interactive/proxy-routes.d.ts +60 -3
- package/dist/interactive/proxy-routes.d.ts.map +1 -1
- package/dist/interactive/proxy-routes.js +217 -3
- package/dist/interactive/proxy-routes.js.map +1 -1
- package/dist/interactive/source-packet.d.ts +126 -0
- package/dist/interactive/source-packet.d.ts.map +1 -0
- package/dist/interactive/source-packet.js +482 -0
- package/dist/interactive/source-packet.js.map +1 -0
- package/dist/learnings/estate.d.ts +16 -0
- package/dist/learnings/estate.d.ts.map +1 -0
- package/dist/learnings/estate.js +68 -0
- package/dist/learnings/estate.js.map +1 -0
- package/dist/learnings/extract.d.ts +56 -0
- package/dist/learnings/extract.d.ts.map +1 -0
- package/dist/learnings/extract.js +252 -0
- package/dist/learnings/extract.js.map +1 -0
- package/dist/learnings/recall.d.ts +43 -0
- package/dist/learnings/recall.d.ts.map +1 -0
- package/dist/learnings/recall.js +104 -0
- package/dist/learnings/recall.js.map +1 -0
- package/dist/learnings/service.d.ts +183 -0
- package/dist/learnings/service.d.ts.map +1 -0
- package/dist/learnings/service.js +571 -0
- package/dist/learnings/service.js.map +1 -0
- package/dist/mcp/ask-server.d.ts.map +1 -1
- package/dist/mcp/ask-server.js +37 -4
- package/dist/mcp/ask-server.js.map +1 -1
- package/dist/mcp/broker.d.ts +12 -1
- package/dist/mcp/broker.d.ts.map +1 -1
- package/dist/mcp/broker.js +24 -5
- package/dist/mcp/broker.js.map +1 -1
- package/dist/mcp/invoke.d.ts +26 -2
- package/dist/mcp/invoke.d.ts.map +1 -1
- package/dist/mcp/invoke.js +51 -5
- package/dist/mcp/invoke.js.map +1 -1
- package/dist/persona/routes.d.ts +92 -0
- package/dist/persona/routes.d.ts.map +1 -0
- package/dist/persona/routes.js +69 -0
- package/dist/persona/routes.js.map +1 -0
- package/dist/persona/store.d.ts +104 -0
- package/dist/persona/store.d.ts.map +1 -0
- package/dist/persona/store.js +176 -0
- package/dist/persona/store.js.map +1 -0
- package/dist/persona/voice.d.ts +4 -0
- package/dist/persona/voice.d.ts.map +1 -0
- package/dist/persona/voice.js +58 -0
- package/dist/persona/voice.js.map +1 -0
- package/dist/projects/routes.d.ts +2 -2
- package/dist/setup/known.d.ts +56 -0
- package/dist/setup/known.d.ts.map +1 -0
- package/dist/setup/known.js +159 -0
- package/dist/setup/known.js.map +1 -0
- package/dist/setup/routes.d.ts +13 -0
- package/dist/setup/routes.d.ts.map +1 -0
- package/dist/setup/routes.js +20 -0
- package/dist/setup/routes.js.map +1 -0
- package/dist/standing-orders/history.d.ts +2 -0
- package/dist/standing-orders/history.d.ts.map +1 -1
- package/dist/standing-orders/history.js +1 -0
- package/dist/standing-orders/history.js.map +1 -1
- package/dist/studio/assets/WickedSans-Regular-fb698rcD.woff2 +0 -0
- package/dist/studio/assets/WickedSans-SemiBold-CD53n1AC.woff2 +0 -0
- package/dist/studio/assets/WickedScript-Regular-CY5juO6I.woff2 +0 -0
- package/dist/studio/assets/WickedSerif-Regular-mdPEjaVZ.woff2 +0 -0
- package/dist/studio/assets/index-BUZ_-Syk.css +32 -0
- package/dist/studio/assets/index-u4O_7N-b.js +986 -0
- package/dist/studio/editors/wicked-deck/editor.json +6 -1
- package/dist/studio/editors/wicked-deck/icon.svg +1 -0
- package/dist/studio/editors/wicked-deck/index.html +1 -1
- package/dist/studio/editors/wicked-doc/editor.json +6 -1
- package/dist/studio/editors/wicked-doc/icon.svg +1 -0
- package/dist/studio/editors/wicked-doc/index.html +1 -1
- package/dist/studio/editors/wicked-insights/editor.json +6 -1
- package/dist/studio/editors/wicked-insights/icon.svg +1 -0
- package/dist/studio/editors/wicked-insights/index.html +1 -1
- package/dist/studio/editors/wicked-page/editor.json +6 -1
- package/dist/studio/editors/wicked-page/icon.svg +1 -0
- package/dist/studio/editors/wicked-page/index.html +1 -1
- package/dist/studio/editors/wicked-video/editor.json +6 -1
- package/dist/studio/editors/wicked-video/icon.svg +1 -0
- package/dist/studio/editors/wicked-video/index.html +1 -1
- package/dist/studio/index.html +2 -2
- package/dist/studio/testid-inventory.json +5155 -2707
- package/dist/voice/dashboard.d.ts +376 -0
- package/dist/voice/dashboard.d.ts.map +1 -0
- package/dist/voice/dashboard.js +92 -0
- package/dist/voice/dashboard.js.map +1 -0
- package/dist/voice/inject-input.d.ts +51 -0
- package/dist/voice/inject-input.d.ts.map +1 -0
- package/dist/voice/inject-input.js +126 -0
- package/dist/voice/inject-input.js.map +1 -0
- package/dist/voice/routes.d.ts +41 -0
- package/dist/voice/routes.d.ts.map +1 -0
- package/dist/voice/routes.js +116 -0
- package/dist/voice/routes.js.map +1 -0
- package/dist/voice/service.d.ts +177 -0
- package/dist/voice/service.d.ts.map +1 -0
- package/dist/voice/service.js +400 -0
- package/dist/voice/service.js.map +1 -0
- package/dist/workflow-catalog/build.d.ts +35 -0
- package/dist/workflow-catalog/build.d.ts.map +1 -0
- package/dist/workflow-catalog/build.js +229 -0
- package/dist/workflow-catalog/build.js.map +1 -0
- package/dist/workflow-catalog/catalog-data.d.ts +36 -0
- package/dist/workflow-catalog/catalog-data.d.ts.map +1 -0
- package/dist/workflow-catalog/catalog-data.js +430 -0
- package/dist/workflow-catalog/catalog-data.js.map +1 -0
- package/dist/working-doc/event-lines.d.ts +76 -0
- package/dist/working-doc/event-lines.d.ts.map +1 -0
- package/dist/working-doc/event-lines.js +247 -0
- package/dist/working-doc/event-lines.js.map +1 -0
- package/dist/working-doc/routes.d.ts +1 -1
- package/dist/working-doc/routes.d.ts.map +1 -1
- package/dist/working-doc/routes.js +2 -1
- package/dist/working-doc/routes.js.map +1 -1
- package/dist/working-doc/sections.d.ts +3 -1
- package/dist/working-doc/sections.d.ts.map +1 -1
- package/dist/working-doc/sections.js +4 -2
- package/dist/working-doc/sections.js.map +1 -1
- package/dist/working-doc/service.d.ts +66 -1
- package/dist/working-doc/service.d.ts.map +1 -1
- package/dist/working-doc/service.js +298 -22
- package/dist/working-doc/service.js.map +1 -1
- package/dist/working-doc/store.d.ts +8 -2
- package/dist/working-doc/store.d.ts.map +1 -1
- package/dist/working-doc/store.js.map +1 -1
- package/endpoint-manifest.json +205 -2
- package/package.json +5 -4
- package/workflows/distill-learnings.json +27 -0
- package/workflows/inspect-unit.json +27 -0
- package/dist/studio/assets/index-B-f_VEL2.css +0 -32
- package/dist/studio/assets/index-DhkxIK-0.js +0 -845
package/dist/core/repoPaths.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* repo record that this package already reads, and this module is the only thing that touches that
|
|
15
15
|
* field. One producer, one consumer, nothing to keep in step.
|
|
16
16
|
*/
|
|
17
|
+
import { stat } from 'node:fs/promises';
|
|
17
18
|
import { join } from 'node:path';
|
|
18
19
|
/**
|
|
19
20
|
* The ABSOLUTE path of a repo's code graph, as resolved by the engine.
|
|
@@ -74,17 +75,63 @@ export class CodeGraphRootUnresolvableError extends Error {
|
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
/**
|
|
77
|
-
* The
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* hazard, smaller blast radius: it is written and read by this package plus one core subcommand whose
|
|
82
|
-
* `--out` this package passes. Tracked with the rest of the cross-repo path pins.
|
|
78
|
+
* The operator-overrides sidecar for a repo's requirements (`requirements_overrides.json`): edits
|
|
79
|
+
* crew keeps beside the checkout and merges at read time. Derived here because the engine does not
|
|
80
|
+
* publish it. The graph itself is read from the repo's estate store through the engine (operator
|
|
81
|
+
* ruling 2026-10-31), not from a file.
|
|
83
82
|
*/
|
|
84
|
-
export function requirementsGraph(repo) {
|
|
85
|
-
return join(repo.root_path, '.wicked-estate', 'requirements', 'requirements_graph.json');
|
|
86
|
-
}
|
|
87
83
|
export function requirementsOverrides(repo) {
|
|
88
84
|
return join(repo.root_path, '.wicked-estate', 'requirements', 'requirements_overrides.json');
|
|
89
85
|
}
|
|
86
|
+
// ── A registered folder that is gone ─────────────────────────────────────────
|
|
87
|
+
/**
|
|
88
|
+
* The finding crew adds to a repo whose registered folder is gone (moved, deleted, an unmounted
|
|
89
|
+
* volume). On the rig, tiny-math was registered under a lane folder named `target`; a cleanup that
|
|
90
|
+
* removed every `target/` as build output deleted it, and every spawn with that cwd failed. Node
|
|
91
|
+
* reports a missing spawn `cwd` as `spawn <binary> ENOENT`, so the repo page said "spawn
|
|
92
|
+
* wicked-estate ENOENT" (and git history "git executable not found") about a binary that was
|
|
93
|
+
* installed. Crew's own finding, beside the engine's: derived on every read, never stored.
|
|
94
|
+
*/
|
|
95
|
+
export const REPO_FOLDER_MISSING = 'repo_folder_missing';
|
|
96
|
+
/** What a person reads about a missing folder, and what fixes it. There is no way to unregister a
|
|
97
|
+
* repo (core has none, crew#753), so re-linking it is the remedy: registering the same name again
|
|
98
|
+
* at the folder's new place replaces the record (core upserts by the name's slug). */
|
|
99
|
+
export function repoFolderMissingMessage(rootPath) {
|
|
100
|
+
return (`This repository's folder is missing: ${rootPath}. Re-link it: register it again under the same ` +
|
|
101
|
+
'name at its folder\'s new place, or put the folder back.');
|
|
102
|
+
}
|
|
103
|
+
/** The `repo_folder_missing` finding a repo record carries, or `null` when its folder is there. */
|
|
104
|
+
export function repoFolderMissing(repo) {
|
|
105
|
+
return repo.findings?.find((f) => f.code === REPO_FOLDER_MISSING) ?? null;
|
|
106
|
+
}
|
|
107
|
+
/** The body every refusal over a missing folder answers (409: the registration, not the request,
|
|
108
|
+
* is wrong), so a route, a launch and a chat say it in the same words. */
|
|
109
|
+
export function repoFolderMissingBody(finding) {
|
|
110
|
+
return { code: REPO_FOLDER_MISSING, error: finding.message, path: finding.path };
|
|
111
|
+
}
|
|
112
|
+
/** Whether `path` is a directory. A path that is ABSENT (or not a directory) answers `false`; any
|
|
113
|
+
* other failure (EACCES, an unreadable mount) answers `true`, because the folder may well be
|
|
114
|
+
* there and the spawn's own error then says what is wrong. */
|
|
115
|
+
export async function isDirectoryPresent(path) {
|
|
116
|
+
try {
|
|
117
|
+
return (await stat(path)).isDirectory();
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
const code = err.code;
|
|
121
|
+
return !(code === 'ENOENT' || code === 'ENOTDIR');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** Every repo, each with a `repo_folder_missing` finding when its folder is gone (and never two). */
|
|
125
|
+
export async function withFolderFindings(repos, present = isDirectoryPresent) {
|
|
126
|
+
return Promise.all(repos.map(async (repo) => {
|
|
127
|
+
const others = (repo.findings ?? []).filter((f) => f.code !== REPO_FOLDER_MISSING);
|
|
128
|
+
if (repo.root_path === '' || (await present(repo.root_path))) {
|
|
129
|
+
return others.length === (repo.findings ?? []).length ? repo : { ...repo, findings: others };
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
...repo,
|
|
133
|
+
findings: [...others, { code: REPO_FOLDER_MISSING, message: repoFolderMissingMessage(repo.root_path), path: repo.root_path }],
|
|
134
|
+
};
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
90
137
|
//# sourceMappingURL=repoPaths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repoPaths.js","sourceRoot":"","sources":["../../src/core/repoPaths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;IAC9B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,CAAC;QACzF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,QAAQ,IAAI,CAAC,EAAE,8EAA8E;YAC3F,uFAAuF,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,6GAA6G;AAC7G,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,GAAG,YAAY,8BAA8B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAE5C;IACA;IAFX,YACW,MAAc,EACd,OAAoB;QAE7B,KAAK,CAAC,QAAQ,MAAM,uBAAuB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAHrD,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAa;QAG7B,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED
|
|
1
|
+
{"version":3,"file":"repoPaths.js","sourceRoot":"","sources":["../../src/core/repoPaths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const REQUIREMENTS_MIN_COVERAGE_ENV = "WICKED_REQUIREMENTS_MIN_COVERAGE_PCT";
|
|
2
|
+
/** The engine's default (`wicked_governance::DEFAULT_MIN_COVERAGE_PCT`). */
|
|
3
|
+
export declare const DEFAULT_MIN_COVERAGE_PCT = 80;
|
|
4
|
+
/** A valid `minCoveragePct`: a whole percentage 1..100. */
|
|
5
|
+
export declare function isMinCoveragePct(v: unknown): v is number;
|
|
6
|
+
export declare const DOMAIN_MAX_PAGES_ENV = "WICKED_DOMAIN_MAX_PAGES";
|
|
7
|
+
export declare const DOMAIN_MAX_MINUTES_ENV = "WICKED_DOMAIN_MAX_MINUTES";
|
|
8
|
+
export declare const DOMAIN_PAGE_SIZE_ENV = "WICKED_DOMAIN_PAGE_SIZE";
|
|
9
|
+
/** The settings object's shape: the minimum and the generation's budget and page size. */
|
|
10
|
+
export interface RequirementsGraphSettings {
|
|
11
|
+
minCoveragePct?: number;
|
|
12
|
+
maxPages?: number;
|
|
13
|
+
maxMinutes?: number;
|
|
14
|
+
pageSize?: number;
|
|
15
|
+
}
|
|
16
|
+
/** Why a `requirementsGraph` settings object is refused, in the operator's words. */
|
|
17
|
+
export declare const REQUIREMENTS_GRAPH_SETTINGS_RULE: string;
|
|
18
|
+
/** A valid `requirementsGraph` settings object: any of its four keys, nothing else. */
|
|
19
|
+
export declare function isRequirementsGraphSettings(v: unknown): v is RequirementsGraphSettings;
|
|
20
|
+
/** The minimum in force: the setting when valid, else the default. */
|
|
21
|
+
export declare function minCoveragePct(settings: {
|
|
22
|
+
requirementsGraph?: unknown;
|
|
23
|
+
} | null | undefined): number;
|
|
24
|
+
/**
|
|
25
|
+
* Export the minimum to `env` (default: this process, whose environment the in-process engine and
|
|
26
|
+
* every tool step it spawns read). A missing or invalid value deletes the variable, so the engine's
|
|
27
|
+
* own default applies.
|
|
28
|
+
*/
|
|
29
|
+
export declare function applyRequirementsGraphSettings(settings: {
|
|
30
|
+
requirementsGraph?: unknown;
|
|
31
|
+
}, env?: NodeJS.ProcessEnv): void;
|
|
32
|
+
//# sourceMappingURL=requirements-graph-setting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements-graph-setting.d.ts","sourceRoot":"","sources":["../../src/core/requirements-graph-setting.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,6BAA6B,yCAAyC,CAAC;AAEpF,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAExD;AAOD,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAa9D,0FAA0F;AAC1F,MAAM,WAAW,yBAAyB;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qFAAqF;AACrF,eAAO,MAAM,gCAAgC,QAEgC,CAAC;AAE9E,uFAAuF;AACvF,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,yBAAyB,CAatF;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,QAAQ,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGnG;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,EACzC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CAUN"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// The requirements-graph minimum coverage (operator ruling 2026-10-31): a repository's requirements
|
|
2
|
+
// graph is built, and shown labelled with its share, once REAL requirements reach this percentage
|
|
3
|
+
// of its behaviour-bearing product code (operator decision 2026-11-01, wicked-core#1233:
|
|
4
|
+
// risk-flagged placeholders never count). Default 80, adjustable in Settings
|
|
5
|
+
// (`requirementsGraph.minCoveragePct`, an integer 1..100).
|
|
6
|
+
//
|
|
7
|
+
// One mechanism, the same as the council settings: the daemon exports the persisted value as env at
|
|
8
|
+
// boot and on every settings change, and the engine reads it where it gates —
|
|
9
|
+
// `wicked-core coverage --min-coverage-pct` (the domain-extraction preset's pinned coverage
|
|
10
|
+
// validator, which the engine hands the variable explicitly) and `wicked-core domain-graph` (the
|
|
11
|
+
// preset's last step, a tool process that inherits the daemon's env). A change is live on the next
|
|
12
|
+
// run with no restart. An absent or invalid setting deletes the variable and the engine's default
|
|
13
|
+
// (80) holds, so the two defaults are one number.
|
|
14
|
+
export const REQUIREMENTS_MIN_COVERAGE_ENV = 'WICKED_REQUIREMENTS_MIN_COVERAGE_PCT';
|
|
15
|
+
/** The engine's default (`wicked_governance::DEFAULT_MIN_COVERAGE_PCT`). */
|
|
16
|
+
export const DEFAULT_MIN_COVERAGE_PCT = 80;
|
|
17
|
+
/** A valid `minCoveragePct`: a whole percentage 1..100. */
|
|
18
|
+
export function isMinCoveragePct(v) {
|
|
19
|
+
return typeof v === 'number' && Number.isInteger(v) && v >= 1 && v <= 100;
|
|
20
|
+
}
|
|
21
|
+
// A GENERATION keeps mapping page after page until the target (domain-graph-3); its budget per
|
|
22
|
+
// grant ends in an ask (map more, lower the target for the repository, or stop). The host steps
|
|
23
|
+
// read these from the daemon's environment like the minimum: garden's `next_page.py` (pages and
|
|
24
|
+
// minutes) and `prepare_worklist.py` (the page size). Absent = the garden's defaults (20 pages,
|
|
25
|
+
// 240 minutes, 500 behaviours a page).
|
|
26
|
+
export const DOMAIN_MAX_PAGES_ENV = 'WICKED_DOMAIN_MAX_PAGES';
|
|
27
|
+
export const DOMAIN_MAX_MINUTES_ENV = 'WICKED_DOMAIN_MAX_MINUTES';
|
|
28
|
+
export const DOMAIN_PAGE_SIZE_ENV = 'WICKED_DOMAIN_PAGE_SIZE';
|
|
29
|
+
/** Each generation knob: its env variable and its whole-number range. */
|
|
30
|
+
const GENERATION_KNOBS = {
|
|
31
|
+
maxPages: { env: DOMAIN_MAX_PAGES_ENV, min: 1, max: 200 },
|
|
32
|
+
maxMinutes: { env: DOMAIN_MAX_MINUTES_ENV, min: 1, max: 1440 },
|
|
33
|
+
pageSize: { env: DOMAIN_PAGE_SIZE_ENV, min: 50, max: 2000 },
|
|
34
|
+
};
|
|
35
|
+
const isKnob = (k, v) => typeof v === 'number' && Number.isInteger(v) && v >= GENERATION_KNOBS[k].min && v <= GENERATION_KNOBS[k].max;
|
|
36
|
+
/** Why a `requirementsGraph` settings object is refused, in the operator's words. */
|
|
37
|
+
export const REQUIREMENTS_GRAPH_SETTINGS_RULE = 'requirementsGraph.minCoveragePct must be a whole percentage between 1 and 100; maxPages 1..200, ' +
|
|
38
|
+
'maxMinutes 1..1440 and pageSize 50..2000 are whole numbers; no other keys';
|
|
39
|
+
/** A valid `requirementsGraph` settings object: any of its four keys, nothing else. */
|
|
40
|
+
export function isRequirementsGraphSettings(v) {
|
|
41
|
+
if (typeof v !== 'object' || v === null || Array.isArray(v))
|
|
42
|
+
return false;
|
|
43
|
+
const o = v;
|
|
44
|
+
for (const k of Object.keys(o)) {
|
|
45
|
+
if (k === 'minCoveragePct') {
|
|
46
|
+
if (o[k] !== undefined && !isMinCoveragePct(o[k]))
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
else if (Object.hasOwn(GENERATION_KNOBS, k)) {
|
|
50
|
+
if (o[k] !== undefined && !isKnob(k, o[k]))
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
/** The minimum in force: the setting when valid, else the default. */
|
|
60
|
+
export function minCoveragePct(settings) {
|
|
61
|
+
const pct = settings?.requirementsGraph?.minCoveragePct;
|
|
62
|
+
return isMinCoveragePct(pct) ? pct : DEFAULT_MIN_COVERAGE_PCT;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Export the minimum to `env` (default: this process, whose environment the in-process engine and
|
|
66
|
+
* every tool step it spawns read). A missing or invalid value deletes the variable, so the engine's
|
|
67
|
+
* own default applies.
|
|
68
|
+
*/
|
|
69
|
+
export function applyRequirementsGraphSettings(settings, env = process.env) {
|
|
70
|
+
const rg = settings.requirementsGraph;
|
|
71
|
+
const pct = rg?.minCoveragePct;
|
|
72
|
+
if (isMinCoveragePct(pct))
|
|
73
|
+
env[REQUIREMENTS_MIN_COVERAGE_ENV] = String(pct);
|
|
74
|
+
else
|
|
75
|
+
delete env[REQUIREMENTS_MIN_COVERAGE_ENV];
|
|
76
|
+
for (const k of Object.keys(GENERATION_KNOBS)) {
|
|
77
|
+
const v = rg?.[k];
|
|
78
|
+
if (isKnob(k, v))
|
|
79
|
+
env[GENERATION_KNOBS[k].env] = String(v);
|
|
80
|
+
else
|
|
81
|
+
delete env[GENERATION_KNOBS[k].env];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=requirements-graph-setting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements-graph-setting.js","sourceRoot":"","sources":["../../src/core/requirements-graph-setting.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,5 +51,8 @@ export interface BootRunResumeResult {
|
|
|
51
51
|
}>;
|
|
52
52
|
}
|
|
53
53
|
/** Ask the engine to resume every run it marked `runOrphaned` and still calls `executing`. Never throws. */
|
|
54
|
-
export declare function resumeOrphanedRuns(adapter: RunResumeSurface, audit: RunResumeAudit, actor: Actor, log: (message: string) => void
|
|
54
|
+
export declare function resumeOrphanedRuns(adapter: RunResumeSurface, audit: RunResumeAudit, actor: Actor, log: (message: string) => void,
|
|
55
|
+
/** DES-CHAT-ARTIFACTS-001 §6.2 (A3): runs this sweep never resumes (proposal-bound attempts: the reconcile before it
|
|
56
|
+
* ended them; resuming one would finish an engine run whose seam flight is gone, landing nothing). */
|
|
57
|
+
skip?: (runId: string) => boolean): Promise<BootRunResumeResult>;
|
|
55
58
|
//# sourceMappingURL=run-boot-resume.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-boot-resume.d.ts","sourceRoot":"","sources":["../../src/core/run-boot-resume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpE,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzC,iGAAiG;IACjG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC;CAC7G;AAED,MAAM,WAAW,mBAAmB;IAClC,sHAAsH;IACtH,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,6DAA6D;IAC7D,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAWD,4GAA4G;AAC5G,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"run-boot-resume.d.ts","sourceRoot":"","sources":["../../src/core/run-boot-resume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpE,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzC,iGAAiG;IACjG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC;CAC7G;AAED,MAAM,WAAW,mBAAmB;IAClC,sHAAsH;IACtH,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,6DAA6D;IAC7D,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAWD,4GAA4G;AAC5G,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;AAC9B;uGACuG;AACvG,IAAI,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAqB,GAC7C,OAAO,CAAC,mBAAmB,CAAC,CA2D9B"}
|
|
@@ -32,7 +32,10 @@ function tailOf(events) {
|
|
|
32
32
|
return tail;
|
|
33
33
|
}
|
|
34
34
|
/** Ask the engine to resume every run it marked `runOrphaned` and still calls `executing`. Never throws. */
|
|
35
|
-
export async function resumeOrphanedRuns(adapter, audit, actor, log
|
|
35
|
+
export async function resumeOrphanedRuns(adapter, audit, actor, log,
|
|
36
|
+
/** DES-CHAT-ARTIFACTS-001 §6.2 (A3): runs this sweep never resumes (proposal-bound attempts: the reconcile before it
|
|
37
|
+
* ended them; resuming one would finish an engine run whose seam flight is gone, landing nothing). */
|
|
38
|
+
skip = () => false) {
|
|
36
39
|
const result = { resumed: [], failed: [] };
|
|
37
40
|
// A partial adapter (a directly-driven route set, a stub without the trail) may lack the surface.
|
|
38
41
|
if (typeof adapter.sessionsDetail !== 'function' ||
|
|
@@ -50,6 +53,8 @@ export async function resumeOrphanedRuns(adapter, audit, actor, log) {
|
|
|
50
53
|
}
|
|
51
54
|
for (const view of executing) {
|
|
52
55
|
const id = view.session.id;
|
|
56
|
+
if (skip(id))
|
|
57
|
+
continue;
|
|
53
58
|
let events;
|
|
54
59
|
try {
|
|
55
60
|
events = await adapter.runEvents(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-boot-resume.js","sourceRoot":"","sources":["../../src/core/run-boot-resume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAsBhD,+FAA+F;AAC/F,SAAS,MAAM,CAAC,MAAuB;IACrC,IAAI,IAA+B,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG;YAAE,IAAI,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4GAA4G;AAC5G,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAyB,EACzB,KAAqB,EACrB,KAAY,EACZ,GAA8B;
|
|
1
|
+
{"version":3,"file":"run-boot-resume.js","sourceRoot":"","sources":["../../src/core/run-boot-resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-identity.d.ts","sourceRoot":"","sources":["../../src/core/run-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGxE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"run-identity.d.ts","sourceRoot":"","sources":["../../src/core/run-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGxE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAsB/C,CAAC;AAEH,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGzE;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAQ/D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAEnG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,gGAAgG;AAChG,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,sGAAsG;IACtG,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC/B;AAgBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAK3F;AA2BD,qGAAqG;AACrG,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAK5D;AAED,sGAAsG;AACtG,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,IAAI,CAI9F;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAGvI"}
|
|
@@ -38,6 +38,8 @@ export const SYSTEM_WORKFLOWS = new Set([
|
|
|
38
38
|
// crew#1157: the read-only analysis a chat runs (`POST /chats {workflow}`, studio's Understand
|
|
39
39
|
// › Ask); it delivers nothing and has its own entry point.
|
|
40
40
|
'analyze',
|
|
41
|
+
// The in-flight check on a working step (src/inspect): crew's own one-turn, read-only run.
|
|
42
|
+
'inspect-unit',
|
|
41
43
|
'onboarding',
|
|
42
44
|
'capture-learnings',
|
|
43
45
|
'steering-author',
|
|
@@ -49,6 +51,10 @@ export const SYSTEM_WORKFLOWS = new Set([
|
|
|
49
51
|
'interactive-chat',
|
|
50
52
|
'interactive-draft',
|
|
51
53
|
'interactive-edit',
|
|
54
|
+
// wf-catalog (codex r1): the document review and theme-learning seams (`interactive/review-events.ts`,
|
|
55
|
+
// `theme-events.ts`) run on a handoff their subscriber writes; a hand launch has none to run on.
|
|
56
|
+
'interactive-review',
|
|
57
|
+
'interactive-theme',
|
|
52
58
|
]);
|
|
53
59
|
/** Whether a preset/workflow name is a system one ({@link SYSTEM_WORKFLOWS}). */
|
|
54
60
|
export function isSystemWorkflow(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-identity.js","sourceRoot":"","sources":["../../src/core/run-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,MAAM;IACN,+FAA+F;IAC/F,2DAA2D;IAC3D,SAAS;IACT,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;IACjB,0GAA0G;IAC1G,sGAAsG;IACtG,uBAAuB;IACvB,MAAM;IACN,8DAA8D;IAC9D,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"run-identity.js","sourceRoot":"","sources":["../../src/core/run-identity.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -34,6 +34,11 @@ export interface AskRequest {
|
|
|
34
34
|
question: string;
|
|
35
35
|
choices?: string[];
|
|
36
36
|
recommended?: number;
|
|
37
|
+
/** (guided asks) The operator may pick several of `choices` (wicked-core ask `multi`; bounds default 1 and all). */
|
|
38
|
+
multi?: {
|
|
39
|
+
min?: number;
|
|
40
|
+
max?: number;
|
|
41
|
+
};
|
|
37
42
|
}
|
|
38
43
|
export interface AskAdapter {
|
|
39
44
|
askUnit(token: string): Promise<AskUnit>;
|
|
@@ -210,6 +215,15 @@ export interface LaunchRunInput {
|
|
|
210
215
|
* `power` or the `powerModeDefault` setting, for a repo-scoped plan or preset launch only.
|
|
211
216
|
*/
|
|
212
217
|
power?: boolean;
|
|
218
|
+
/**
|
|
219
|
+
* (program DES-LEARN §3.3, wicked-core#1216) The person's VOICE BLOCK for a POWER launch: their
|
|
220
|
+
* personality for the run's project (the project's override, else the person's own), which the
|
|
221
|
+
* engine appends to the orchestrator's brief only, behind a governance line (tone and habits, never
|
|
222
|
+
* rigor, gates, checks or permissions). The PA's scope step, reviewers, judges and QE never receive it.
|
|
223
|
+
* Set by `POST /runs` on a power launch when a personality is saved; never on a phased run. An addon
|
|
224
|
+
* without it drops the field, so the orchestrator runs without a voice (tone only, nothing to refuse).
|
|
225
|
+
*/
|
|
226
|
+
voice?: string;
|
|
213
227
|
/**
|
|
214
228
|
* (QE-IN-APP-WORKFLOWS, wicked-core-ts >= 0.7.49) The operator's EXPLICIT skip of a required QE
|
|
215
229
|
* acceptance, with this reason (core-ts `skipQeAcceptanceReason`), or its explicit force
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,mBAAmB,uBAAuB,CAAC;AAE3C,+EAA+E;AAC/E,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAU,SAAQ,OAAO;IACxC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgCH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACZ;IAArB,YAAqB,IAAmD,EAAE,OAAe;QACvF,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,SAAI,GAAJ,IAAI,CAA+C;QAEtE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAWD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAwKvF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAkCtD,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,cAAc,EAAE,GAAG;IACnB,kBAAkB,EAAE,4BAA4B;IAChD,8FAA8F;IAC9F,+FAA+F;IAC/F,0BAA0B,EAAE,qCAAqC;IACjE,mGAAmG;IACnG,uBAAuB,EAAE,kCAAkC;IAC3D,6FAA6F;IAC7F,gFAAgF;IAChF,8DAA8D;IAC9D,cAAc,EAAE,IAAI;IACpB,gGAAgG;IAChG,mFAAmF;IACnF,YAAY,EAAE,UAAU;IACxB,+FAA+F;IAC/F,wFAAwF;IACxF,qBAAqB,EAAE,IAAI;IAC3B,+FAA+F;IAC/F,oGAAoG;IACpG,gBAAgB,EAAE,IAAI;IACtB,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,wFAAwF;IACxF,YAAY,EAAE,sBAAsB;IACpC,eAAe,EAAE,SAAS;IAC1B,2FAA2F;IAC3F,8FAA8F;IAC9F,6EAA6E;IAC7E,oBAAoB,EAAE,EAAE;CACzB,CAAC"}
|
|
@@ -30,6 +30,11 @@ import type { DecisionService } from './land.js';
|
|
|
30
30
|
import type { DecisionType } from './types.js';
|
|
31
31
|
/** The opening fence, exactly as the codebook (`skills/mem/refs/decision-report.md`) spells it. */
|
|
32
32
|
export declare const DECISIONS_FENCE = "```wicked-decisions";
|
|
33
|
+
/**
|
|
34
|
+
* DES-CHAT-ARTIFACTS-001 §4.1 (slice A2): a seat proposes an artifact job in a fenced `wicked-make` block, cut out of
|
|
35
|
+
* the reply and hidden while streaming on exactly this mechanism (`chat-proposals.ts` resolves it).
|
|
36
|
+
*/
|
|
37
|
+
export declare const MAKE_FENCE = "```wicked-make";
|
|
33
38
|
/** One labelled span, as the codebook defines it. `none` is crew's label, never an item. */
|
|
34
39
|
export interface DecisionReportItem {
|
|
35
40
|
quote: string;
|
|
@@ -63,10 +68,16 @@ export declare function splitDecisionsBlock(text: string): {
|
|
|
63
68
|
block: string | null;
|
|
64
69
|
truncated: boolean;
|
|
65
70
|
};
|
|
71
|
+
export declare function splitMakeBlocks(text: string): {
|
|
72
|
+
text: string;
|
|
73
|
+
blocks: string[];
|
|
74
|
+
truncated: boolean;
|
|
75
|
+
};
|
|
66
76
|
/**
|
|
67
|
-
* The `chatDelta` filter: per (chat, seat), hold back the longest tail that is still a prefix of
|
|
68
|
-
* fence (so a fence split across frames is caught
|
|
69
|
-
* until {@link reset} (the turn's `chatReply`, which
|
|
77
|
+
* The `chatDelta` filter: per (chat, seat), hold back the longest tail that is still a prefix of a
|
|
78
|
+
* hidden fence (`wicked-decisions`, or A2's `wicked-make`) so a fence split across frames is caught,
|
|
79
|
+
* and from the first fence on drop every character until {@link reset} (the turn's `chatReply`, which
|
|
80
|
+
* carries the clean full text anyway).
|
|
70
81
|
*/
|
|
71
82
|
export declare class DecisionFenceFilter {
|
|
72
83
|
private readonly state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-recorder.d.ts","sourceRoot":"","sources":["../../src/decisions/chat-recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAgB,oBAAoB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAuC,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpF,mGAAmG;AACnG,eAAO,MAAM,eAAe,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-recorder.d.ts","sourceRoot":"","sources":["../../src/decisions/chat-recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,13 @@ import { chatTurnStaleAfterMs } from '../api/chat-turns.js';
|
|
|
29
29
|
import { ingestDecision } from './ingest.js';
|
|
30
30
|
/** The opening fence, exactly as the codebook (`skills/mem/refs/decision-report.md`) spells it. */
|
|
31
31
|
export const DECISIONS_FENCE = '```wicked-decisions';
|
|
32
|
+
/**
|
|
33
|
+
* DES-CHAT-ARTIFACTS-001 §4.1 (slice A2): a seat proposes an artifact job in a fenced `wicked-make` block, cut out of
|
|
34
|
+
* the reply and hidden while streaming on exactly this mechanism (`chat-proposals.ts` resolves it).
|
|
35
|
+
*/
|
|
36
|
+
export const MAKE_FENCE = '```wicked-make';
|
|
37
|
+
/** Every fence a reader never sees, held back and dropped by {@link DecisionFenceFilter}. */
|
|
38
|
+
const HIDDEN_FENCES = [DECISIONS_FENCE, MAKE_FENCE];
|
|
32
39
|
const STEERING_TYPES = [
|
|
33
40
|
'architecture',
|
|
34
41
|
'development',
|
|
@@ -105,7 +112,9 @@ export function splitDecisionsBlock(text) {
|
|
|
105
112
|
const afterOpen = text.indexOf('\n', lineStart);
|
|
106
113
|
if (afterOpen === -1)
|
|
107
114
|
return { text: trimEnd(text.slice(0, lineStart)), block: null, truncated: true };
|
|
108
|
-
|
|
115
|
+
// A close is a line of three backticks alone (A2): another fence's opening (```wicked-make, ```json) never ends it,
|
|
116
|
+
// so one hidden block can never leave another's body in the reply.
|
|
117
|
+
const close = /\n[ \t]*```[ \t]*(?=\r?\n|$)/u.exec(text.slice(afterOpen));
|
|
109
118
|
if (close === null)
|
|
110
119
|
return { text: trimEnd(text.slice(0, lineStart)), block: null, truncated: true };
|
|
111
120
|
const closeAt = afterOpen + close.index;
|
|
@@ -114,9 +123,43 @@ export function splitDecisionsBlock(text) {
|
|
|
114
123
|
return { text: trimEnd(text.slice(0, lineStart) + rest), block: body, truncated: false };
|
|
115
124
|
}
|
|
116
125
|
/**
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
126
|
+
* DES-CHAT-ARTIFACTS-001 §4.1 (A2): cut EVERY fenced `wicked-make` block out of a reply, in order, with the same line
|
|
127
|
+
* rule as {@link splitDecisionsBlock} (an opening fence on a line of its own; a mention inside a sentence is prose).
|
|
128
|
+
* The caller takes the last block that parses (`chat-proposals.ts`). An opening with no closing fence removes the reply
|
|
129
|
+
* from its line on and is reported `truncated` (its body is not a block): nothing of a block ever reaches a reader.
|
|
130
|
+
*/
|
|
131
|
+
/** Blocks taken from one reply, at most; from the next opening on, the reply is cut (hidden, never shown). */
|
|
132
|
+
const MAKE_BLOCKS_MAX = 16;
|
|
133
|
+
export function splitMakeBlocks(text) {
|
|
134
|
+
const blocks = [];
|
|
135
|
+
let out = text;
|
|
136
|
+
for (;;) {
|
|
137
|
+
// Bounded work on an untrusted reply: past the cap, everything from the next opening on is cut in one step.
|
|
138
|
+
if (blocks.length >= MAKE_BLOCKS_MAX) {
|
|
139
|
+
const more = /(^|\n)[ \t]*```wicked-make[ \t]*(?=\r?\n|$)/u.exec(out);
|
|
140
|
+
return more === null ? { text: out, blocks, truncated: false } : { text: trimEnd(out.slice(0, more.index + more[1].length)), blocks, truncated: true };
|
|
141
|
+
}
|
|
142
|
+
const opening = /(^|\n)[ \t]*```wicked-make[ \t]*(?=\r?\n|$)/u.exec(out);
|
|
143
|
+
if (opening === null)
|
|
144
|
+
return { text: out, blocks, truncated: false };
|
|
145
|
+
const lineStart = opening.index + opening[1].length;
|
|
146
|
+
const afterOpen = out.indexOf('\n', lineStart);
|
|
147
|
+
// The close is a line of its own: three backticks and nothing else. Another opening (```wicked-make, ```json) is
|
|
148
|
+
// not a close, so it can never end a block early and leave the rest of a block in the reply.
|
|
149
|
+
const close = afterOpen === -1 ? null : /\n[ \t]*```[ \t]*(?=\r?\n|$)/u.exec(out.slice(afterOpen));
|
|
150
|
+
if (afterOpen === -1 || close === null)
|
|
151
|
+
return { text: trimEnd(out.slice(0, lineStart)), blocks, truncated: true };
|
|
152
|
+
const closeAt = afterOpen + close.index;
|
|
153
|
+
blocks.push(out.slice(afterOpen + 1, closeAt).trim());
|
|
154
|
+
const rest = out.slice(closeAt + close[0].length).replace(/^[ \t]*\r?\n?/u, '');
|
|
155
|
+
out = trimEnd(out.slice(0, lineStart) + rest);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* The `chatDelta` filter: per (chat, seat), hold back the longest tail that is still a prefix of a
|
|
160
|
+
* hidden fence (`wicked-decisions`, or A2's `wicked-make`) so a fence split across frames is caught,
|
|
161
|
+
* and from the first fence on drop every character until {@link reset} (the turn's `chatReply`, which
|
|
162
|
+
* carries the clean full text anyway).
|
|
120
163
|
*/
|
|
121
164
|
export class DecisionFenceFilter {
|
|
122
165
|
state = new Map();
|
|
@@ -131,14 +174,16 @@ export class DecisionFenceFilter {
|
|
|
131
174
|
return '';
|
|
132
175
|
}
|
|
133
176
|
const buf = s.held + text;
|
|
134
|
-
const
|
|
135
|
-
if (
|
|
177
|
+
const hits = HIDDEN_FENCES.map((f) => buf.indexOf(f)).filter((i) => i !== -1);
|
|
178
|
+
if (hits.length > 0) {
|
|
136
179
|
this.state.set(key, { held: '', dropping: true });
|
|
137
|
-
return buf.slice(0,
|
|
180
|
+
return buf.slice(0, Math.min(...hits));
|
|
138
181
|
}
|
|
182
|
+
const longest = Math.max(...HIDDEN_FENCES.map((f) => f.length)) - 1;
|
|
139
183
|
let hold = 0;
|
|
140
|
-
for (let n = Math.min(buf.length,
|
|
141
|
-
|
|
184
|
+
for (let n = Math.min(buf.length, longest); n > 0; n -= 1) {
|
|
185
|
+
const tail = buf.slice(buf.length - n);
|
|
186
|
+
if (HIDDEN_FENCES.some((f) => f.startsWith(tail))) {
|
|
142
187
|
hold = n;
|
|
143
188
|
break;
|
|
144
189
|
}
|