iterate-plugin 2.8.1 → 2.8.2
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/lib/client.js +2 -13
- package/package.json +1 -1
- package/src/client/index.ts +17 -10
package/lib/client.js
CHANGED
|
@@ -2,11 +2,9 @@ window.__ModuleLoader__.load({ id: "iterate-plugin", factory: (require) => {
|
|
|
2
2
|
var module = { exports: {} };
|
|
3
3
|
var exports = module.exports;
|
|
4
4
|
"use strict";
|
|
5
|
-
var __create = Object.create;
|
|
6
5
|
var __defProp = Object.defineProperty;
|
|
7
6
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
7
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
9
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
10
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
9
|
var __export = (target, all) => {
|
|
12
10
|
for (var name2 in all)
|
|
@@ -20,14 +18,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
20
18
|
}
|
|
21
19
|
return to;
|
|
22
20
|
};
|
|
23
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
25
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
26
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
27
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
28
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
29
|
-
mod
|
|
30
|
-
));
|
|
31
21
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
22
|
|
|
33
23
|
// src/client/index.ts
|
|
@@ -38,7 +28,6 @@ __export(index_exports, {
|
|
|
38
28
|
name: () => name
|
|
39
29
|
});
|
|
40
30
|
module.exports = __toCommonJS(index_exports);
|
|
41
|
-
var React = __toESM(require("react"), 1);
|
|
42
31
|
|
|
43
32
|
// lib/parse.js
|
|
44
33
|
var SEVERITY_ORDER = ["critical", "high", "medium", "low"];
|
|
@@ -682,6 +671,7 @@ function buildRuntimeStatusGuide() {
|
|
|
682
671
|
}
|
|
683
672
|
|
|
684
673
|
// src/client/index.ts
|
|
674
|
+
var React = require("react");
|
|
685
675
|
var name = "iterate-plugin";
|
|
686
676
|
var inject = ["slots", "theme"];
|
|
687
677
|
var PLUGIN_TAG = "iterate-ui";
|
|
@@ -1004,8 +994,7 @@ function TrendChart({ points }) {
|
|
|
1004
994
|
}
|
|
1005
995
|
function ConvergenceDashboard(props) {
|
|
1006
996
|
const [pulseKey, setPulseKey] = React.useState(0);
|
|
1007
|
-
const
|
|
1008
|
-
const session = useSession ? useSession((s) => s) : props && props.session ? props.session : null;
|
|
997
|
+
const session = props && props.session ? props.session : null;
|
|
1009
998
|
const report = latestReport(session);
|
|
1010
999
|
React.useEffect(() => {
|
|
1011
1000
|
if (!report) return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iterate-plugin",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.2",
|
|
4
4
|
"description": "dsh plugin that turns the iterate skill into an autonomous closed-loop harness: plan -> parallel review xN -> atomic fixes -> validate -> loop -> auto-stop, plus a dry-run pure-review mode with multi-round convergence and a meta-review that audits the report and emits a final review report.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/src/client/index.ts
CHANGED
|
@@ -32,7 +32,12 @@
|
|
|
32
32
|
* missing slot/theme degrades gracefully instead of crashing the UI.
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
// dsh's __ModuleLoader__ provides require() to access platform modules.
|
|
36
|
+
// Using require() directly (not import) avoids esbuild's __toESM wrapper,
|
|
37
|
+
// which copies React's properties into a new object and can break internal
|
|
38
|
+
// bindings. Official dsh plugins (e.g. dsh-client-ui-goal) use the same pattern.
|
|
39
|
+
declare function require(name: string): unknown
|
|
40
|
+
const React = require('react') as typeof import('react')
|
|
36
41
|
import {
|
|
37
42
|
findReportInObject,
|
|
38
43
|
scanSessionForReport,
|
|
@@ -515,17 +520,19 @@ function TrendChart({ points }: { points: Array<{ round: number; count: number }
|
|
|
515
520
|
return React.createElement('div', { className: 'iterate-trend', title: '各轮发现数量趋势' }, ...bars)
|
|
516
521
|
}
|
|
517
522
|
|
|
518
|
-
/** Dashboard: live convergence strip above the composer.
|
|
523
|
+
/** Dashboard: live convergence strip above the composer.
|
|
524
|
+
*
|
|
525
|
+
* The `conversation.input.dock` slot's owner share is `InputZone`, which
|
|
526
|
+
* provides `session` as a point-in-time ConversationSnapshot directly — no
|
|
527
|
+
* subscription needed. Per the slot contract: "Read only `session`/`input`
|
|
528
|
+
* off the owner share — both are point-in-time snapshots re-rendered for
|
|
529
|
+
* you, never subscribe."
|
|
530
|
+
*/
|
|
519
531
|
function ConvergenceDashboard(props: SlotProps) {
|
|
520
532
|
const [pulseKey, setPulseKey] = React.useState(0)
|
|
521
|
-
//
|
|
522
|
-
//
|
|
523
|
-
|
|
524
|
-
// fallback when the hook is absent.
|
|
525
|
-
const useSession = props && typeof props.useSession === 'function'
|
|
526
|
-
? props.useSession as (sel: (s: unknown) => unknown) => unknown
|
|
527
|
-
: null
|
|
528
|
-
const session = useSession ? useSession((s: unknown) => s) : (props && props.session ? props.session : null)
|
|
533
|
+
// The `conversation.input.dock` slot owner share (InputZone) provides
|
|
534
|
+
// `session` as a point-in-time snapshot — read it directly, never subscribe.
|
|
535
|
+
const session = props && props.session ? props.session : null
|
|
529
536
|
const report = latestReport(session)
|
|
530
537
|
|
|
531
538
|
React.useEffect(() => {
|