nodebench-mcp 2.70.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -41
- package/dist/agents/alertRouter.d.ts +38 -0
- package/dist/agents/alertRouter.js +151 -0
- package/dist/agents/alertRouter.js.map +1 -0
- package/dist/agents/entityMemory.d.ts +40 -0
- package/dist/agents/entityMemory.js +64 -0
- package/dist/agents/entityMemory.js.map +1 -0
- package/dist/agents/subAgents.d.ts +35 -0
- package/dist/agents/subAgents.js +62 -0
- package/dist/agents/subAgents.js.map +1 -0
- package/dist/benchmarks/benchmarkRunner.js +14 -0
- package/dist/benchmarks/benchmarkRunner.js.map +1 -1
- package/dist/benchmarks/chainEval.js +107 -0
- package/dist/benchmarks/chainEval.js.map +1 -1
- package/dist/benchmarks/llmJudgeEval.js +85 -0
- package/dist/benchmarks/llmJudgeEval.js.map +1 -1
- package/dist/benchmarks/searchQualityEval.js +118 -5
- package/dist/benchmarks/searchQualityEval.js.map +1 -1
- package/dist/cli/search.d.ts +13 -0
- package/dist/cli/search.js +130 -0
- package/dist/cli/search.js.map +1 -0
- package/dist/db.d.ts +6 -2
- package/dist/db.js +470 -3
- package/dist/db.js.map +1 -1
- package/dist/index.js +349 -64
- package/dist/index.js.map +1 -1
- package/dist/profiler/behaviorStore.d.ts +97 -0
- package/dist/profiler/behaviorStore.js +276 -0
- package/dist/profiler/behaviorStore.js.map +1 -0
- package/dist/profiler/eventCollector.d.ts +119 -0
- package/dist/profiler/eventCollector.js +267 -0
- package/dist/profiler/eventCollector.js.map +1 -0
- package/dist/profiler/index.d.ts +15 -0
- package/dist/profiler/index.js +16 -0
- package/dist/profiler/index.js.map +1 -0
- package/dist/profiler/mcpProxy.d.ts +49 -0
- package/dist/profiler/mcpProxy.js +123 -0
- package/dist/profiler/mcpProxy.js.map +1 -0
- package/dist/profiler/modelRouter.d.ts +30 -0
- package/dist/profiler/modelRouter.js +99 -0
- package/dist/profiler/modelRouter.js.map +1 -0
- package/dist/profiler/otelReceiver.d.ts +17 -0
- package/dist/profiler/otelReceiver.js +62 -0
- package/dist/profiler/otelReceiver.js.map +1 -0
- package/dist/profiler/proofEngine.d.ts +41 -0
- package/dist/profiler/proofEngine.js +93 -0
- package/dist/profiler/proofEngine.js.map +1 -0
- package/dist/profiler/workflowTemplates.d.ts +41 -0
- package/dist/profiler/workflowTemplates.js +95 -0
- package/dist/profiler/workflowTemplates.js.map +1 -0
- package/dist/providers/localMemoryProvider.js +3 -2
- package/dist/providers/localMemoryProvider.js.map +1 -1
- package/dist/runtimeConfig.d.ts +11 -0
- package/dist/runtimeConfig.js +27 -0
- package/dist/runtimeConfig.js.map +1 -0
- package/dist/security/auditLog.js +8 -3
- package/dist/security/auditLog.js.map +1 -1
- package/dist/subconscious/blocks.d.ts +43 -0
- package/dist/subconscious/blocks.js +158 -0
- package/dist/subconscious/blocks.js.map +1 -0
- package/dist/subconscious/classifier.d.ts +22 -0
- package/dist/subconscious/classifier.js +118 -0
- package/dist/subconscious/classifier.js.map +1 -0
- package/dist/subconscious/graphEngine.d.ts +65 -0
- package/dist/subconscious/graphEngine.js +234 -0
- package/dist/subconscious/graphEngine.js.map +1 -0
- package/dist/subconscious/index.d.ts +19 -0
- package/dist/subconscious/index.js +20 -0
- package/dist/subconscious/index.js.map +1 -0
- package/dist/subconscious/tools.d.ts +5 -0
- package/dist/subconscious/tools.js +255 -0
- package/dist/subconscious/tools.js.map +1 -0
- package/dist/subconscious/whisperPolicy.d.ts +20 -0
- package/dist/subconscious/whisperPolicy.js +171 -0
- package/dist/subconscious/whisperPolicy.js.map +1 -0
- package/dist/sweep/engine.d.ts +27 -0
- package/dist/sweep/engine.js +244 -0
- package/dist/sweep/engine.js.map +1 -0
- package/dist/sweep/index.d.ts +9 -0
- package/dist/sweep/index.js +8 -0
- package/dist/sweep/index.js.map +1 -0
- package/dist/sweep/sources/github_trending.d.ts +6 -0
- package/dist/sweep/sources/github_trending.js +37 -0
- package/dist/sweep/sources/github_trending.js.map +1 -0
- package/dist/sweep/sources/hackernews.d.ts +7 -0
- package/dist/sweep/sources/hackernews.js +57 -0
- package/dist/sweep/sources/hackernews.js.map +1 -0
- package/dist/sweep/sources/openbb_finance.d.ts +9 -0
- package/dist/sweep/sources/openbb_finance.js +46 -0
- package/dist/sweep/sources/openbb_finance.js.map +1 -0
- package/dist/sweep/sources/producthunt.d.ts +6 -0
- package/dist/sweep/sources/producthunt.js +41 -0
- package/dist/sweep/sources/producthunt.js.map +1 -0
- package/dist/sweep/sources/web_signals.d.ts +7 -0
- package/dist/sweep/sources/web_signals.js +63 -0
- package/dist/sweep/sources/web_signals.js.map +1 -0
- package/dist/sweep/sources/yahoo_finance.d.ts +6 -0
- package/dist/sweep/sources/yahoo_finance.js +47 -0
- package/dist/sweep/sources/yahoo_finance.js.map +1 -0
- package/dist/sweep/types.d.ts +50 -0
- package/dist/sweep/types.js +9 -0
- package/dist/sweep/types.js.map +1 -0
- package/dist/sync/founderEpisodeStore.d.ts +98 -0
- package/dist/sync/founderEpisodeStore.js +230 -0
- package/dist/sync/founderEpisodeStore.js.map +1 -0
- package/dist/sync/hyperloopArchive.d.ts +51 -0
- package/dist/sync/hyperloopArchive.js +153 -0
- package/dist/sync/hyperloopArchive.js.map +1 -0
- package/dist/sync/hyperloopEval.d.ts +123 -0
- package/dist/sync/hyperloopEval.js +389 -0
- package/dist/sync/hyperloopEval.js.map +1 -0
- package/dist/sync/hyperloopEval.test.d.ts +4 -0
- package/dist/sync/hyperloopEval.test.js +60 -0
- package/dist/sync/hyperloopEval.test.js.map +1 -0
- package/dist/sync/protocol.d.ts +172 -0
- package/dist/sync/protocol.js +9 -0
- package/dist/sync/protocol.js.map +1 -0
- package/dist/sync/sessionMemory.d.ts +47 -0
- package/dist/sync/sessionMemory.js +138 -0
- package/dist/sync/sessionMemory.js.map +1 -0
- package/dist/sync/store.d.ts +384 -0
- package/dist/sync/store.js +1435 -0
- package/dist/sync/store.js.map +1 -0
- package/dist/sync/store.test.d.ts +4 -0
- package/dist/sync/store.test.js +43 -0
- package/dist/sync/store.test.js.map +1 -0
- package/dist/sync/syncBridgeClient.d.ts +30 -0
- package/dist/sync/syncBridgeClient.js +172 -0
- package/dist/sync/syncBridgeClient.js.map +1 -0
- package/dist/tools/autonomousDeliveryTools.d.ts +2 -0
- package/dist/tools/autonomousDeliveryTools.js +1104 -0
- package/dist/tools/autonomousDeliveryTools.js.map +1 -0
- package/dist/tools/claudeCodeIngestTools.d.ts +10 -0
- package/dist/tools/claudeCodeIngestTools.js +347 -0
- package/dist/tools/claudeCodeIngestTools.js.map +1 -0
- package/dist/tools/coreWorkflowTools.d.ts +2 -0
- package/dist/tools/coreWorkflowTools.js +488 -0
- package/dist/tools/coreWorkflowTools.js.map +1 -0
- package/dist/tools/deltaTools.d.ts +15 -0
- package/dist/tools/deltaTools.js +1522 -0
- package/dist/tools/deltaTools.js.map +1 -0
- package/dist/tools/entityLookupTools.d.ts +14 -0
- package/dist/tools/entityLookupTools.js +159 -0
- package/dist/tools/entityLookupTools.js.map +1 -0
- package/dist/tools/entityTemporalTools.d.ts +12 -0
- package/dist/tools/entityTemporalTools.js +330 -0
- package/dist/tools/entityTemporalTools.js.map +1 -0
- package/dist/tools/founderLocalPipeline.d.ts +215 -0
- package/dist/tools/founderLocalPipeline.js +1516 -2
- package/dist/tools/founderLocalPipeline.js.map +1 -1
- package/dist/tools/founderOperatingModel.d.ts +120 -0
- package/dist/tools/founderOperatingModel.js +469 -0
- package/dist/tools/founderOperatingModel.js.map +1 -0
- package/dist/tools/founderOperatingModelTools.d.ts +2 -0
- package/dist/tools/founderOperatingModelTools.js +169 -0
- package/dist/tools/founderOperatingModelTools.js.map +1 -0
- package/dist/tools/founderStrategicOpsTools.d.ts +2 -0
- package/dist/tools/founderStrategicOpsTools.js +1310 -0
- package/dist/tools/founderStrategicOpsTools.js.map +1 -0
- package/dist/tools/graphifyTools.d.ts +19 -0
- package/dist/tools/graphifyTools.js +375 -0
- package/dist/tools/graphifyTools.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/monteCarloTools.d.ts +16 -0
- package/dist/tools/monteCarloTools.js +225 -0
- package/dist/tools/monteCarloTools.js.map +1 -0
- package/dist/tools/packetCompilerTools.d.ts +12 -0
- package/dist/tools/packetCompilerTools.js +322 -0
- package/dist/tools/packetCompilerTools.js.map +1 -0
- package/dist/tools/planSynthesisTools.d.ts +15 -0
- package/dist/tools/planSynthesisTools.js +455 -0
- package/dist/tools/planSynthesisTools.js.map +1 -0
- package/dist/tools/profilerTools.d.ts +20 -0
- package/dist/tools/profilerTools.js +364 -0
- package/dist/tools/profilerTools.js.map +1 -0
- package/dist/tools/savingsTools.d.ts +11 -0
- package/dist/tools/savingsTools.js +155 -0
- package/dist/tools/savingsTools.js.map +1 -0
- package/dist/tools/scenarioCompilerTools.d.ts +14 -0
- package/dist/tools/scenarioCompilerTools.js +290 -0
- package/dist/tools/scenarioCompilerTools.js.map +1 -0
- package/dist/tools/sharedContextTools.d.ts +2 -0
- package/dist/tools/sharedContextTools.js +423 -0
- package/dist/tools/sharedContextTools.js.map +1 -0
- package/dist/tools/sitemapTools.d.ts +15 -0
- package/dist/tools/sitemapTools.js +560 -0
- package/dist/tools/sitemapTools.js.map +1 -0
- package/dist/tools/sweepTools.d.ts +9 -0
- package/dist/tools/sweepTools.js +112 -0
- package/dist/tools/sweepTools.js.map +1 -0
- package/dist/tools/syncBridgeTools.d.ts +2 -0
- package/dist/tools/syncBridgeTools.js +258 -0
- package/dist/tools/syncBridgeTools.js.map +1 -0
- package/dist/tools/toolRegistry.js +1216 -49
- package/dist/tools/toolRegistry.js.map +1 -1
- package/dist/tools/workspaceTools.d.ts +19 -0
- package/dist/tools/workspaceTools.js +762 -0
- package/dist/tools/workspaceTools.js.map +1 -0
- package/dist/toolsetRegistry.js +88 -2
- package/dist/toolsetRegistry.js.map +1 -1
- package/package.json +36 -36
- package/rules/nodebench-agentic-reliability.md +32 -0
- package/rules/nodebench-analyst-diagnostic.md +25 -0
- package/rules/nodebench-auto-qa.md +31 -0
- package/rules/nodebench-completion-traceability.md +22 -0
- package/rules/nodebench-flywheel-continuous.md +25 -0
- package/rules/nodebench-pre-release-review.md +24 -0
- package/rules/nodebench-qa-dogfood.md +26 -0
- package/rules/nodebench-scenario-testing.md +30 -0
- package/rules/nodebench-self-direction.md +23 -0
- package/rules/nodebench-self-judge-loop.md +24 -0
- package/scripts/install.sh +215 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
const EXECUTION_ORDER = [
|
|
2
|
+
{
|
|
3
|
+
id: "ingest",
|
|
4
|
+
label: "Ingest",
|
|
5
|
+
description: "Collect raw query, uploads, private context, and prior packet lineage.",
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
id: "classify",
|
|
9
|
+
label: "Classify role and vertical",
|
|
10
|
+
description: "Resolve the user role, company mode, and the relevant diligence vertical early.",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: "canonicalize",
|
|
14
|
+
label: "Canonicalize company",
|
|
15
|
+
description: "Decide whether this is the user's own company, an external company, or a mixed comparison.",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "score",
|
|
19
|
+
label: "Score readiness and gaps",
|
|
20
|
+
description: "Score readiness, contradictions, missing evidence, and progression state.",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "packet",
|
|
24
|
+
label: "Choose packet",
|
|
25
|
+
description: "Route to the canonical packet type for the role and company mode.",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: "artifact",
|
|
29
|
+
label: "Choose artifact",
|
|
30
|
+
description: "Select the first artifact surface that matches the packet and stage of maturity.",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "action",
|
|
34
|
+
label: "Monitor, export, or delegate",
|
|
35
|
+
description: "Decide whether the run should stop at insight, create a shareable artifact, set up monitoring, or create a handoff.",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: "trace",
|
|
39
|
+
label: "Track before/after and replay",
|
|
40
|
+
description: "Persist the path, evidence, and replay state for later benchmark and audit use.",
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
const QUEUE_TOPOLOGY = [
|
|
44
|
+
{
|
|
45
|
+
id: "ingestion",
|
|
46
|
+
label: "Ingestion queue",
|
|
47
|
+
purpose: "Normalize raw text, uploads, and source receipts into structured founder context.",
|
|
48
|
+
upstream: ["query", "upload", "private context"],
|
|
49
|
+
outputs: ["canonical source records", "structured claims"],
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: "sweeps",
|
|
53
|
+
label: "Sweep queue",
|
|
54
|
+
purpose: "Run scheduled or manual source sweeps for watched entities and dependencies.",
|
|
55
|
+
upstream: ["watchlist", "manual sweep"],
|
|
56
|
+
outputs: ["fresh observations", "source deltas"],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "delta",
|
|
60
|
+
label: "Delta queue",
|
|
61
|
+
purpose: "Compare the current state to prior packets and classify change severity.",
|
|
62
|
+
upstream: ["ingestion", "sweeps"],
|
|
63
|
+
outputs: ["delta digest", "flash/priority/routine tiers"],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "packet_refresh",
|
|
67
|
+
label: "Packet refresh queue",
|
|
68
|
+
purpose: "Refresh stale packets when new evidence changes the company story or diligence state.",
|
|
69
|
+
upstream: ["delta", "manual review"],
|
|
70
|
+
outputs: ["updated packets", "staleness receipts"],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: "artifact_render",
|
|
74
|
+
label: "Artifact render queue",
|
|
75
|
+
purpose: "Render Slack reports, investor memos, diligence packets, and profile exports.",
|
|
76
|
+
upstream: ["packet_refresh", "manual export"],
|
|
77
|
+
outputs: ["rendered artifacts"],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: "export_delivery",
|
|
81
|
+
label: "Export delivery queue",
|
|
82
|
+
purpose: "Handle share-link creation and destination-specific export delivery.",
|
|
83
|
+
upstream: ["artifact_render"],
|
|
84
|
+
outputs: ["share links", "delivery receipts"],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: "delegation_dispatch",
|
|
88
|
+
label: "Delegation dispatch queue",
|
|
89
|
+
purpose: "Dispatch bounded tasks tied to the canonical packet and shared context.",
|
|
90
|
+
upstream: ["packet_refresh", "manual delegation"],
|
|
91
|
+
outputs: ["task handoffs", "assignee receipts"],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "benchmark_runs",
|
|
95
|
+
label: "Benchmark queue",
|
|
96
|
+
purpose: "Run autonomy and workflow-optimization benchmarks against packet-backed workflows.",
|
|
97
|
+
upstream: ["manual benchmark", "scheduled evaluation"],
|
|
98
|
+
outputs: ["benchmark runs", "oracle verdicts"],
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: "ambient_reminders",
|
|
102
|
+
label: "Ambient reminder queue",
|
|
103
|
+
purpose: "Proactively surface stale packets, diligence gaps, and moat/public exposure warnings.",
|
|
104
|
+
upstream: ["delta", "packet_refresh", "benchmark_runs"],
|
|
105
|
+
outputs: ["reminders", "attention queue items"],
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
const SOURCE_POLICIES = [
|
|
109
|
+
{
|
|
110
|
+
sourceType: "slack",
|
|
111
|
+
canRead: true,
|
|
112
|
+
canStore: true,
|
|
113
|
+
canSummarize: true,
|
|
114
|
+
exportPolicy: "redact",
|
|
115
|
+
notes: "Slack can be summarized and stored, but exported artifacts should redact private internal details by default.",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
sourceType: "codebase",
|
|
119
|
+
canRead: true,
|
|
120
|
+
canStore: true,
|
|
121
|
+
canSummarize: true,
|
|
122
|
+
exportPolicy: "reference_only",
|
|
123
|
+
notes: "Codebase details can shape packets, but external exports should reference capabilities rather than expose internals.",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
sourceType: "local_files",
|
|
127
|
+
canRead: true,
|
|
128
|
+
canStore: true,
|
|
129
|
+
canSummarize: true,
|
|
130
|
+
exportPolicy: "redact",
|
|
131
|
+
notes: "Local files are usable for internal synthesis but need explicit redaction before outside sharing.",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
sourceType: "uploads",
|
|
135
|
+
canRead: true,
|
|
136
|
+
canStore: true,
|
|
137
|
+
canSummarize: true,
|
|
138
|
+
exportPolicy: "redact",
|
|
139
|
+
notes: "Uploads are packet inputs, but external delivery should strip sensitive passages unless explicitly approved.",
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
sourceType: "docs",
|
|
143
|
+
canRead: true,
|
|
144
|
+
canStore: true,
|
|
145
|
+
canSummarize: true,
|
|
146
|
+
exportPolicy: "allow",
|
|
147
|
+
notes: "Owned docs and product docs are generally safe to summarize and cite in artifacts.",
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
sourceType: "web_research",
|
|
151
|
+
canRead: true,
|
|
152
|
+
canStore: true,
|
|
153
|
+
canSummarize: true,
|
|
154
|
+
exportPolicy: "allow",
|
|
155
|
+
notes: "Public web research can be stored, summarized, and exported with citations.",
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
sourceType: "agent_outputs",
|
|
159
|
+
canRead: true,
|
|
160
|
+
canStore: true,
|
|
161
|
+
canSummarize: true,
|
|
162
|
+
exportPolicy: "reference_only",
|
|
163
|
+
notes: "Agent outputs should be treated as derived claims that require evidence before external export.",
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
sourceType: "third_party",
|
|
167
|
+
canRead: true,
|
|
168
|
+
canStore: true,
|
|
169
|
+
canSummarize: true,
|
|
170
|
+
exportPolicy: "reference_only",
|
|
171
|
+
notes: "Third-party provider outputs are usable for synthesis but should usually be referenced, not blindly re-exported.",
|
|
172
|
+
},
|
|
173
|
+
];
|
|
174
|
+
const ROLE_PACKET_DEFAULTS = [
|
|
175
|
+
{
|
|
176
|
+
role: "founder",
|
|
177
|
+
defaultPacketType: "founder_progression_packet",
|
|
178
|
+
defaultArtifactType: "slack_onepage",
|
|
179
|
+
shouldMonitorByDefault: true,
|
|
180
|
+
shouldDelegateByDefault: true,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
role: "banker",
|
|
184
|
+
defaultPacketType: "banking_readiness_packet",
|
|
185
|
+
defaultArtifactType: "banker_readiness",
|
|
186
|
+
shouldMonitorByDefault: false,
|
|
187
|
+
shouldDelegateByDefault: false,
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
role: "ceo",
|
|
191
|
+
defaultPacketType: "operating_brief",
|
|
192
|
+
defaultArtifactType: "investor_memo",
|
|
193
|
+
shouldMonitorByDefault: true,
|
|
194
|
+
shouldDelegateByDefault: true,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
role: "investor",
|
|
198
|
+
defaultPacketType: "operating_brief",
|
|
199
|
+
defaultArtifactType: "investor_memo",
|
|
200
|
+
shouldMonitorByDefault: true,
|
|
201
|
+
shouldDelegateByDefault: false,
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
role: "student",
|
|
205
|
+
defaultPacketType: "study_brief",
|
|
206
|
+
defaultArtifactType: "study_brief",
|
|
207
|
+
shouldMonitorByDefault: false,
|
|
208
|
+
shouldDelegateByDefault: false,
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
role: "legal",
|
|
212
|
+
defaultPacketType: "diligence_packet",
|
|
213
|
+
defaultArtifactType: "diligence_packet",
|
|
214
|
+
shouldMonitorByDefault: true,
|
|
215
|
+
shouldDelegateByDefault: false,
|
|
216
|
+
},
|
|
217
|
+
];
|
|
218
|
+
const PROGRESSION_RUBRIC = [
|
|
219
|
+
{
|
|
220
|
+
stageId: "clarity",
|
|
221
|
+
label: "Stage 0: Clarity",
|
|
222
|
+
promotionCriteria: ["Clear wedge", "One useful packet", "Named customer"],
|
|
223
|
+
mandatorySignals: ["wedge_defined", "useful_packet"],
|
|
224
|
+
optionalSignals: ["shareable_artifact"],
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
stageId: "foundation",
|
|
228
|
+
label: "Stage 1: Foundation",
|
|
229
|
+
promotionCriteria: ["Gap diagnosis", "Delegable task", "Install path"],
|
|
230
|
+
mandatorySignals: ["useful_packet", "delegated_task", "install_path"],
|
|
231
|
+
optionalSignals: ["workflow_fit", "shareable_artifact"],
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
stageId: "readiness",
|
|
235
|
+
label: "Stage 2: Readiness",
|
|
236
|
+
promotionCriteria: ["Diligence pack", "Readiness score", "External artifact"],
|
|
237
|
+
mandatorySignals: ["delegated_task", "shareable_artifact", "diligence_pack"],
|
|
238
|
+
optionalSignals: ["submission_ready", "benchmark_proof"],
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
stageId: "leverage",
|
|
242
|
+
label: "Stage 3: Leverage",
|
|
243
|
+
promotionCriteria: ["Benchmark proof", "Ambient monitoring", "Repeated packet reuse"],
|
|
244
|
+
mandatorySignals: ["benchmark_proof", "repeated_reuse", "ambient_monitoring"],
|
|
245
|
+
optionalSignals: ["team_install", "shared_history"],
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
stageId: "scale",
|
|
249
|
+
label: "Stage 4: Scale",
|
|
250
|
+
promotionCriteria: ["Multi-user proof", "Durable retention", "Channel leverage"],
|
|
251
|
+
mandatorySignals: ["shared_history", "retention_signal", "channel_leverage"],
|
|
252
|
+
optionalSignals: ["partner_motion", "benchmark_program"],
|
|
253
|
+
},
|
|
254
|
+
];
|
|
255
|
+
const BENCHMARK_ORACLES = [
|
|
256
|
+
{
|
|
257
|
+
lane: "weekly_founder_reset",
|
|
258
|
+
baseline: "Manual weekly reset assembled from scattered notes and searches.",
|
|
259
|
+
deterministicChecks: ["Packet exists", "Citations retained", "Top next action selected"],
|
|
260
|
+
probabilisticJudges: ["Summary usefulness", "Decision clarity"],
|
|
261
|
+
heldOutScenarios: ["Messy founder notes", "Conflicting market signals"],
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
lane: "competitor_signal_response",
|
|
265
|
+
baseline: "Research note without a routed product or GTM response.",
|
|
266
|
+
deterministicChecks: ["Competitor signal cited", "Response packet created", "Follow-up task exists"],
|
|
267
|
+
probabilisticJudges: ["Strategic usefulness", "Response relevance"],
|
|
268
|
+
heldOutScenarios: ["High-noise news cycle", "Adjacent competitor launch"],
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
lane: "packet_to_implementation",
|
|
272
|
+
baseline: "Manual restatement from packet to implementation handoff.",
|
|
273
|
+
deterministicChecks: ["Packet linked to task", "Implementation artifact exists", "Validation receipt exists"],
|
|
274
|
+
probabilisticJudges: ["Handoff quality", "Implementation drift"],
|
|
275
|
+
heldOutScenarios: ["Spec ambiguity", "Changing implementation scope"],
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
lane: "cheapest_valid_workflow",
|
|
279
|
+
baseline: "Original multi-step workflow without optimization.",
|
|
280
|
+
deterministicChecks: ["Before/after memo exists", "Validation checks passed", "Artifact class preserved"],
|
|
281
|
+
probabilisticJudges: ["Shortcut credibility", "Savings significance"],
|
|
282
|
+
heldOutScenarios: ["Shortcut hides diligence gap", "Shortcut drops source lineage"],
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
lane: "browserstack_lane",
|
|
286
|
+
baseline: "Unverified browser workflow claims without replay evidence.",
|
|
287
|
+
deterministicChecks: ["Route run recorded", "Replay artifact exists", "Verification result stored"],
|
|
288
|
+
probabilisticJudges: ["Visual quality", "Workflow smoothness"],
|
|
289
|
+
heldOutScenarios: ["Cross-browser regression", "Mobile-only failure"],
|
|
290
|
+
},
|
|
291
|
+
];
|
|
292
|
+
export function detectFounderCompanyMode(args) {
|
|
293
|
+
const query = args.query.toLowerCase();
|
|
294
|
+
const canonicalEntity = args.canonicalEntity?.toLowerCase().trim();
|
|
295
|
+
const ownSignals = [
|
|
296
|
+
"my company",
|
|
297
|
+
"our company",
|
|
298
|
+
"our startup",
|
|
299
|
+
"our product",
|
|
300
|
+
"our tool",
|
|
301
|
+
"our tools",
|
|
302
|
+
"our app",
|
|
303
|
+
"our dashboard",
|
|
304
|
+
"our workflow",
|
|
305
|
+
"our mcp",
|
|
306
|
+
"what should we do",
|
|
307
|
+
"what should i do next",
|
|
308
|
+
"given everything about my company",
|
|
309
|
+
"we are building",
|
|
310
|
+
"we need",
|
|
311
|
+
"current founder",
|
|
312
|
+
"own-company",
|
|
313
|
+
"own company",
|
|
314
|
+
];
|
|
315
|
+
const compareSignals = ["compare", "versus", "vs", "against"];
|
|
316
|
+
const hasOwnSignals = ownSignals.some((signal) => query.includes(signal)) ||
|
|
317
|
+
Boolean(args.hasPrivateContext) ||
|
|
318
|
+
Boolean(canonicalEntity && query.includes(canonicalEntity));
|
|
319
|
+
const hasCompareSignals = compareSignals.some((signal) => query.includes(signal));
|
|
320
|
+
if (hasOwnSignals && hasCompareSignals)
|
|
321
|
+
return "mixed_comparison";
|
|
322
|
+
if (hasOwnSignals)
|
|
323
|
+
return "own_company";
|
|
324
|
+
return "external_company";
|
|
325
|
+
}
|
|
326
|
+
export function getFounderRolePacketDefault(role) {
|
|
327
|
+
return ROLE_PACKET_DEFAULTS.find((entry) => entry.role === role) ?? ROLE_PACKET_DEFAULTS[0];
|
|
328
|
+
}
|
|
329
|
+
export function getFounderExecutionOrder() {
|
|
330
|
+
return EXECUTION_ORDER;
|
|
331
|
+
}
|
|
332
|
+
export function getFounderQueueTopology() {
|
|
333
|
+
return QUEUE_TOPOLOGY;
|
|
334
|
+
}
|
|
335
|
+
export function getFounderSourcePolicies() {
|
|
336
|
+
return SOURCE_POLICIES;
|
|
337
|
+
}
|
|
338
|
+
export function getFounderProgressionRubric() {
|
|
339
|
+
return PROGRESSION_RUBRIC;
|
|
340
|
+
}
|
|
341
|
+
export function getFounderBenchmarkOracles() {
|
|
342
|
+
return BENCHMARK_ORACLES;
|
|
343
|
+
}
|
|
344
|
+
export function evaluateFounderProgressionRubric(args) {
|
|
345
|
+
const signals = new Set();
|
|
346
|
+
if (args.hasUsefulPacket)
|
|
347
|
+
signals.add("useful_packet");
|
|
348
|
+
if (args.hasDelegatedTask)
|
|
349
|
+
signals.add("delegated_task");
|
|
350
|
+
if (args.hasShareableArtifact)
|
|
351
|
+
signals.add("shareable_artifact");
|
|
352
|
+
if (args.hasDiligencePack)
|
|
353
|
+
signals.add("diligence_pack");
|
|
354
|
+
if (args.hasBenchmarkProof)
|
|
355
|
+
signals.add("benchmark_proof");
|
|
356
|
+
if (args.hasAmbientMonitoring)
|
|
357
|
+
signals.add("ambient_monitoring");
|
|
358
|
+
if (args.hasRepeatedReuse)
|
|
359
|
+
signals.add("repeated_reuse");
|
|
360
|
+
if (args.readinessScore >= 48)
|
|
361
|
+
signals.add("wedge_defined");
|
|
362
|
+
if (args.readinessScore >= 55)
|
|
363
|
+
signals.add("install_path");
|
|
364
|
+
if (args.readinessScore >= 58)
|
|
365
|
+
signals.add("workflow_fit");
|
|
366
|
+
if (args.readinessScore >= 62)
|
|
367
|
+
signals.add("submission_ready");
|
|
368
|
+
if (args.readinessScore >= 70)
|
|
369
|
+
signals.add("team_install");
|
|
370
|
+
if (args.readinessScore >= 75)
|
|
371
|
+
signals.add("shared_history");
|
|
372
|
+
if (args.readinessScore >= 80)
|
|
373
|
+
signals.add("retention_signal");
|
|
374
|
+
if (args.readinessScore >= 84)
|
|
375
|
+
signals.add("channel_leverage");
|
|
376
|
+
if (args.readinessScore >= 86)
|
|
377
|
+
signals.add("partner_motion");
|
|
378
|
+
if (args.readinessScore >= 88)
|
|
379
|
+
signals.add("benchmark_program");
|
|
380
|
+
const stage = args.readinessScore >= 82
|
|
381
|
+
? "scale"
|
|
382
|
+
: args.readinessScore >= 70
|
|
383
|
+
? "leverage"
|
|
384
|
+
: args.readinessScore >= 58
|
|
385
|
+
? "readiness"
|
|
386
|
+
: args.readinessScore >= 45
|
|
387
|
+
? "foundation"
|
|
388
|
+
: "clarity";
|
|
389
|
+
const rubric = PROGRESSION_RUBRIC.find((entry) => entry.stageId === stage) ?? PROGRESSION_RUBRIC[0];
|
|
390
|
+
const mandatorySatisfied = rubric.mandatorySignals.filter((signal) => signals.has(signal));
|
|
391
|
+
const mandatoryMissing = rubric.mandatorySignals.filter((signal) => !signals.has(signal));
|
|
392
|
+
const optionalStrengths = rubric.optionalSignals.filter((signal) => signals.has(signal));
|
|
393
|
+
return {
|
|
394
|
+
currentStage: stage,
|
|
395
|
+
onTrack: mandatoryMissing.length === 0,
|
|
396
|
+
mandatorySatisfied,
|
|
397
|
+
mandatoryMissing,
|
|
398
|
+
optionalStrengths,
|
|
399
|
+
rationale: mandatoryMissing.length === 0
|
|
400
|
+
? `${rubric.label} is supported by the required operating signals.`
|
|
401
|
+
: `${rubric.label} is still missing ${mandatoryMissing.join(", ")}.`,
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
export function routeFounderPacket(args) {
|
|
405
|
+
const roleDefault = getFounderRolePacketDefault(args.role);
|
|
406
|
+
const needsMoreEvidence = args.hiddenRiskCount > 0 || args.readinessScore < 55;
|
|
407
|
+
const requiredEvidence = [];
|
|
408
|
+
if (needsMoreEvidence)
|
|
409
|
+
requiredEvidence.push("readiness_gaps");
|
|
410
|
+
if (args.vertical.includes("healthcare"))
|
|
411
|
+
requiredEvidence.push("regulatory_or_research_evidence");
|
|
412
|
+
if (!args.hasBenchmarkProof)
|
|
413
|
+
requiredEvidence.push("benchmark_proof");
|
|
414
|
+
const shouldMonitor = roleDefault.shouldMonitorByDefault || args.companyMode !== "external_company";
|
|
415
|
+
const shouldDelegate = roleDefault.shouldDelegateByDefault && args.readinessScore >= 55;
|
|
416
|
+
const shouldExport = args.hasShareableArtifact && !needsMoreEvidence;
|
|
417
|
+
return {
|
|
418
|
+
role: args.role,
|
|
419
|
+
companyMode: args.companyMode,
|
|
420
|
+
packetType: roleDefault.defaultPacketType,
|
|
421
|
+
artifactType: roleDefault.defaultArtifactType,
|
|
422
|
+
visibility: args.visibility === "public" && needsMoreEvidence ? "workspace" : args.visibility,
|
|
423
|
+
shouldMonitor,
|
|
424
|
+
shouldExport,
|
|
425
|
+
shouldDelegate,
|
|
426
|
+
needsMoreEvidence,
|
|
427
|
+
requiredEvidence,
|
|
428
|
+
rationale: args.companyMode === "own_company"
|
|
429
|
+
? "Own-company mode prioritizes progression, delegation, and monitoring over public export."
|
|
430
|
+
: args.companyMode === "mixed_comparison"
|
|
431
|
+
? "Mixed mode needs a packet that blends internal context with external competitive evidence."
|
|
432
|
+
: "External-company mode defaults to a research packet unless private context elevates it into an operating decision.",
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
export function buildFounderOperatingModel(args) {
|
|
436
|
+
const companyMode = detectFounderCompanyMode({
|
|
437
|
+
query: args.query,
|
|
438
|
+
canonicalEntity: args.canonicalEntity,
|
|
439
|
+
hasPrivateContext: args.hasPrivateContext,
|
|
440
|
+
});
|
|
441
|
+
return {
|
|
442
|
+
executionOrder: getFounderExecutionOrder(),
|
|
443
|
+
queueTopology: getFounderQueueTopology(),
|
|
444
|
+
sourcePolicies: getFounderSourcePolicies(),
|
|
445
|
+
roleDefault: getFounderRolePacketDefault(args.role),
|
|
446
|
+
packetRouter: routeFounderPacket({
|
|
447
|
+
role: args.role,
|
|
448
|
+
companyMode,
|
|
449
|
+
readinessScore: args.readinessScore,
|
|
450
|
+
hiddenRiskCount: args.hiddenRiskCount,
|
|
451
|
+
visibility: args.visibility,
|
|
452
|
+
hasShareableArtifact: args.hasShareableArtifact,
|
|
453
|
+
hasBenchmarkProof: args.hasBenchmarkProof,
|
|
454
|
+
vertical: args.vertical,
|
|
455
|
+
}),
|
|
456
|
+
progressionRubric: evaluateFounderProgressionRubric({
|
|
457
|
+
readinessScore: args.readinessScore,
|
|
458
|
+
hasUsefulPacket: true,
|
|
459
|
+
hasDelegatedTask: args.hasDelegatedTask,
|
|
460
|
+
hasShareableArtifact: args.hasShareableArtifact,
|
|
461
|
+
hasDiligencePack: args.hasDiligencePack,
|
|
462
|
+
hasBenchmarkProof: args.hasBenchmarkProof,
|
|
463
|
+
hasAmbientMonitoring: args.hasAmbientMonitoring,
|
|
464
|
+
hasRepeatedReuse: args.hasRepeatedReuse,
|
|
465
|
+
}),
|
|
466
|
+
benchmarkOracles: getFounderBenchmarkOracles(),
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
//# sourceMappingURL=founderOperatingModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"founderOperatingModel.js","sourceRoot":"","sources":["../../src/tools/founderOperatingModel.ts"],"names":[],"mappings":"AAkIA,MAAM,eAAe,GAA2B;IAC9C;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,wEAAwE;KACtF;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,iFAAiF;KAC/F;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,4FAA4F;KAC1G;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,2EAA2E;KACzF;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,mEAAmE;KACjF;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,kFAAkF;KAChG;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,qHAAqH;KACnI;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,iFAAiF;KAC/F;CACF,CAAC;AAEF,MAAM,cAAc,GAA6B;IAC/C;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,mFAAmF;QAC5F,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;QAChD,OAAO,EAAE,CAAC,0BAA0B,EAAE,mBAAmB,CAAC;KAC3D;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,8EAA8E;QACvF,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;QACvC,OAAO,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;KACjD;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,0EAA0E;QACnF,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;QACjC,OAAO,EAAE,CAAC,cAAc,EAAE,8BAA8B,CAAC;KAC1D;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,uFAAuF;QAChG,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;QACpC,OAAO,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;KACnD;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,+EAA+E;QACxF,QAAQ,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;QAC7C,OAAO,EAAE,CAAC,oBAAoB,CAAC;KAChC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,sEAAsE;QAC/E,QAAQ,EAAE,CAAC,iBAAiB,CAAC;QAC7B,OAAO,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC9C;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,2BAA2B;QAClC,OAAO,EAAE,yEAAyE;QAClF,QAAQ,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;QACjD,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAChD;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,oFAAoF;QAC7F,QAAQ,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;QACtD,OAAO,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC/C;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EAAE,uFAAuF;QAChG,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QACvD,OAAO,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAChD;CACF,CAAC;AAEF,MAAM,eAAe,GAA0B;IAC7C;QACE,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,QAAQ;QACtB,KAAK,EAAE,+GAA+G;KACvH;IACD;QACE,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,sHAAsH;KAC9H;IACD;QACE,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,QAAQ;QACtB,KAAK,EAAE,mGAAmG;KAC3G;IACD;QACE,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,QAAQ;QACtB,KAAK,EAAE,8GAA8G;KACtH;IACD;QACE,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,OAAO;QACrB,KAAK,EAAE,oFAAoF;KAC5F;IACD;QACE,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,OAAO;QACrB,KAAK,EAAE,6EAA6E;KACrF;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,iGAAiG;KACzG;IACD;QACE,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,kHAAkH;KAC1H;CACF,CAAC;AAEF,MAAM,oBAAoB,GAA+B;IACvD;QACE,IAAI,EAAE,SAAS;QACf,iBAAiB,EAAE,4BAA4B;QAC/C,mBAAmB,EAAE,eAAe;QACpC,sBAAsB,EAAE,IAAI;QAC5B,uBAAuB,EAAE,IAAI;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,0BAA0B;QAC7C,mBAAmB,EAAE,kBAAkB;QACvC,sBAAsB,EAAE,KAAK;QAC7B,uBAAuB,EAAE,KAAK;KAC/B;IACD;QACE,IAAI,EAAE,KAAK;QACX,iBAAiB,EAAE,iBAAiB;QACpC,mBAAmB,EAAE,eAAe;QACpC,sBAAsB,EAAE,IAAI;QAC5B,uBAAuB,EAAE,IAAI;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,iBAAiB,EAAE,iBAAiB;QACpC,mBAAmB,EAAE,eAAe;QACpC,sBAAsB,EAAE,IAAI;QAC5B,uBAAuB,EAAE,KAAK;KAC/B;IACD;QACE,IAAI,EAAE,SAAS;QACf,iBAAiB,EAAE,aAAa;QAChC,mBAAmB,EAAE,aAAa;QAClC,sBAAsB,EAAE,KAAK;QAC7B,uBAAuB,EAAE,KAAK;KAC/B;IACD;QACE,IAAI,EAAE,OAAO;QACb,iBAAiB,EAAE,kBAAkB;QACrC,mBAAmB,EAAE,kBAAkB;QACvC,sBAAsB,EAAE,IAAI;QAC5B,uBAAuB,EAAE,KAAK;KAC/B;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAoC;IAC1D;QACE,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,kBAAkB;QACzB,iBAAiB,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;QACzE,gBAAgB,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;QACpD,eAAe,EAAE,CAAC,oBAAoB,CAAC;KACxC;IACD;QACE,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,qBAAqB;QAC5B,iBAAiB,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC;QACtE,gBAAgB,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC;QACrE,eAAe,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC;KACxD;IACD;QACE,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,oBAAoB;QAC3B,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;QAC7E,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;QAC5E,eAAe,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;KACzD;IACD;QACE,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,mBAAmB;QAC1B,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;QACrF,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;QAC7E,eAAe,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACpD;IACD;QACE,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,gBAAgB;QACvB,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;QAChF,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;QAC5E,eAAe,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;KACzD;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAgC;IACrD;QACE,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,kEAAkE;QAC5E,mBAAmB,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,0BAA0B,CAAC;QACxF,mBAAmB,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;QAC/D,gBAAgB,EAAE,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KACxE;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,QAAQ,EAAE,yDAAyD;QACnE,mBAAmB,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,uBAAuB,CAAC;QACpG,mBAAmB,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;QACnE,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;KAC1E;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,2DAA2D;QACrE,mBAAmB,EAAE,CAAC,uBAAuB,EAAE,gCAAgC,EAAE,2BAA2B,CAAC;QAC7G,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QAChE,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;KACtE;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,oDAAoD;QAC9D,mBAAmB,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;QACzG,mBAAmB,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;QACrE,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,+BAA+B,CAAC;KACpF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,6DAA6D;QACvE,mBAAmB,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,4BAA4B,CAAC;QACnG,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;QAC9D,gBAAgB,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KACtE;CACF,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG;QACjB,YAAY;QACZ,aAAa;QACb,aAAa;QACb,aAAa;QACb,UAAU;QACV,WAAW;QACX,SAAS;QACT,eAAe;QACf,cAAc;QACd,SAAS;QACT,mBAAmB;QACnB,uBAAuB;QACvB,mCAAmC;QACnC,iBAAiB;QACjB,SAAS;QACT,iBAAiB;QACjB,aAAa;QACb,aAAa;KACd,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,aAAa,GACjB,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC/B,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,IAAI,aAAa,IAAI,iBAAiB;QAAE,OAAO,kBAAkB,CAAC;IAClE,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAA0B;IACpE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAShD;IACC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,IAAI,CAAC,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,gBAAgB;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,oBAAoB;QAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,gBAAgB;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,oBAAoB;QAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,gBAAgB;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE;QACrC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE;YACzB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE;gBACzB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE;oBACzB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,OAAO;QACL,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QACtC,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;QACjB,SAAS,EACP,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAC3B,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,kDAAkD;YACnE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,qBAAqB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IASlC;IACC,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC/E,MAAM,gBAAgB,GAAG,EAAc,CAAC;IACxC,IAAI,iBAAiB;QAAE,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,gBAAgB,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACnG,IAAI,CAAC,IAAI,CAAC,iBAAiB;QAAE,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEtE,MAAM,aAAa,GAAG,WAAW,CAAC,sBAAsB,IAAI,IAAI,CAAC,WAAW,KAAK,kBAAkB,CAAC;IACpG,MAAM,cAAc,GAAG,WAAW,CAAC,uBAAuB,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;IACxF,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,iBAAiB,CAAC;IAErE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,WAAW,CAAC,iBAAiB;QACzC,YAAY,EAAE,WAAW,CAAC,mBAAmB;QAC7C,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;QAC7F,aAAa;QACb,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,gBAAgB;QAChB,SAAS,EAAE,IAAI,CAAC,WAAW,KAAK,aAAa;YAC3C,CAAC,CAAC,0FAA0F;YAC5F,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,kBAAkB;gBACvC,CAAC,CAAC,4FAA4F;gBAC9F,CAAC,CAAC,oHAAoH;KAC3H,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAe1C;IACC,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC;IACH,OAAO;QACL,cAAc,EAAE,wBAAwB,EAAE;QAC1C,aAAa,EAAE,uBAAuB,EAAE;QACxC,cAAc,EAAE,wBAAwB,EAAE;QAC1C,WAAW,EAAE,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,YAAY,EAAE,kBAAkB,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW;YACX,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QACF,iBAAiB,EAAE,gCAAgC,CAAC;YAClD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC;QACF,gBAAgB,EAAE,0BAA0B,EAAE;KAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { buildFounderOperatingModel, detectFounderCompanyMode, getFounderBenchmarkOracles, getFounderExecutionOrder, getFounderProgressionRubric, getFounderQueueTopology, getFounderRolePacketDefault, getFounderSourcePolicies, routeFounderPacket, } from "./founderOperatingModel.js";
|
|
2
|
+
function normalizeRole(value) {
|
|
3
|
+
switch ((value ?? "founder").toLowerCase()) {
|
|
4
|
+
case "banker":
|
|
5
|
+
return "banker";
|
|
6
|
+
case "ceo":
|
|
7
|
+
return "ceo";
|
|
8
|
+
case "investor":
|
|
9
|
+
return "investor";
|
|
10
|
+
case "student":
|
|
11
|
+
return "student";
|
|
12
|
+
case "legal":
|
|
13
|
+
return "legal";
|
|
14
|
+
default:
|
|
15
|
+
return "founder";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const founderOperatingModelTools = [
|
|
19
|
+
{
|
|
20
|
+
name: "route_founder_packet",
|
|
21
|
+
description: "Route a founder/company request into the canonical company mode, packet type, artifact type, and next action policy.",
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: "object",
|
|
24
|
+
properties: {
|
|
25
|
+
role: { type: "string" },
|
|
26
|
+
query: { type: "string" },
|
|
27
|
+
canonicalEntity: { type: "string" },
|
|
28
|
+
hasPrivateContext: { type: "boolean" },
|
|
29
|
+
readinessScore: { type: "number" },
|
|
30
|
+
hiddenRiskCount: { type: "number" },
|
|
31
|
+
visibility: { type: "string", enum: ["internal", "workspace", "public"] },
|
|
32
|
+
hasShareableArtifact: { type: "boolean" },
|
|
33
|
+
hasBenchmarkProof: { type: "boolean" },
|
|
34
|
+
vertical: { type: "string" },
|
|
35
|
+
},
|
|
36
|
+
required: ["query"],
|
|
37
|
+
},
|
|
38
|
+
annotations: { readOnlyHint: true },
|
|
39
|
+
handler: async (rawArgs) => {
|
|
40
|
+
const args = rawArgs;
|
|
41
|
+
const role = normalizeRole(typeof args.role === "string" ? args.role : undefined);
|
|
42
|
+
const companyMode = detectFounderCompanyMode({
|
|
43
|
+
query: String(args.query ?? ""),
|
|
44
|
+
canonicalEntity: typeof args.canonicalEntity === "string" ? args.canonicalEntity : undefined,
|
|
45
|
+
hasPrivateContext: Boolean(args.hasPrivateContext),
|
|
46
|
+
});
|
|
47
|
+
return routeFounderPacket({
|
|
48
|
+
role,
|
|
49
|
+
companyMode,
|
|
50
|
+
readinessScore: typeof args.readinessScore === "number" ? args.readinessScore : 50,
|
|
51
|
+
hiddenRiskCount: typeof args.hiddenRiskCount === "number" ? args.hiddenRiskCount : 0,
|
|
52
|
+
visibility: (typeof args.visibility === "string" ? args.visibility : "workspace"),
|
|
53
|
+
hasShareableArtifact: Boolean(args.hasShareableArtifact),
|
|
54
|
+
hasBenchmarkProof: Boolean(args.hasBenchmarkProof),
|
|
55
|
+
vertical: typeof args.vertical === "string" ? args.vertical : "AI/software",
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "get_founder_execution_order",
|
|
61
|
+
description: "Return the canonical founder/company packet execution order so all surfaces follow the same run sequence.",
|
|
62
|
+
inputSchema: { type: "object", properties: {} },
|
|
63
|
+
annotations: { readOnlyHint: true },
|
|
64
|
+
handler: async () => ({ executionOrder: getFounderExecutionOrder() }),
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "get_founder_job_topology",
|
|
68
|
+
description: "Return the queue and job topology for founder ingestion, sweeps, deltas, packet refresh, exports, delegation, and benchmarks.",
|
|
69
|
+
inputSchema: { type: "object", properties: {} },
|
|
70
|
+
annotations: { readOnlyHint: true },
|
|
71
|
+
handler: async () => ({ queueTopology: getFounderQueueTopology() }),
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: "get_source_trust_policy",
|
|
75
|
+
description: "Return the source-level permission and trust policy for storage, summarization, and export across private and public source types.",
|
|
76
|
+
inputSchema: { type: "object", properties: {} },
|
|
77
|
+
annotations: { readOnlyHint: true },
|
|
78
|
+
handler: async () => ({ sourcePolicies: getFounderSourcePolicies() }),
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: "get_role_packet_defaults",
|
|
82
|
+
description: "Return the default packet, artifact, monitor, and delegation policy for a specific public role lens.",
|
|
83
|
+
inputSchema: {
|
|
84
|
+
type: "object",
|
|
85
|
+
properties: {
|
|
86
|
+
role: { type: "string" },
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
annotations: { readOnlyHint: true },
|
|
90
|
+
handler: async (rawArgs) => {
|
|
91
|
+
const args = rawArgs;
|
|
92
|
+
return getFounderRolePacketDefault(normalizeRole(args.role));
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: "detect_company_mode",
|
|
97
|
+
description: "Classify a request as own-company, external-company, or mixed-comparison mode before packet routing.",
|
|
98
|
+
inputSchema: {
|
|
99
|
+
type: "object",
|
|
100
|
+
properties: {
|
|
101
|
+
query: { type: "string" },
|
|
102
|
+
canonicalEntity: { type: "string" },
|
|
103
|
+
hasPrivateContext: { type: "boolean" },
|
|
104
|
+
},
|
|
105
|
+
required: ["query"],
|
|
106
|
+
},
|
|
107
|
+
annotations: { readOnlyHint: true },
|
|
108
|
+
handler: async (rawArgs) => detectFounderCompanyMode(rawArgs),
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: "get_founder_progression_rubric",
|
|
112
|
+
description: "Return the explicit founder progression rubric, including mandatory and optional signals for each stage.",
|
|
113
|
+
inputSchema: { type: "object", properties: {} },
|
|
114
|
+
annotations: { readOnlyHint: true },
|
|
115
|
+
handler: async () => ({ rubric: getFounderProgressionRubric() }),
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "get_benchmark_oracles",
|
|
119
|
+
description: "Return the oracle definitions for founder autonomy and workflow optimization benchmark lanes.",
|
|
120
|
+
inputSchema: { type: "object", properties: {} },
|
|
121
|
+
annotations: { readOnlyHint: true },
|
|
122
|
+
handler: async () => ({ benchmarkOracles: getFounderBenchmarkOracles() }),
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "build_founder_operating_model",
|
|
126
|
+
description: "Build the complete founder operating model: execution order, queue topology, packet routing, source trust policy, progression rubric, and benchmark oracles.",
|
|
127
|
+
inputSchema: {
|
|
128
|
+
type: "object",
|
|
129
|
+
properties: {
|
|
130
|
+
role: { type: "string" },
|
|
131
|
+
query: { type: "string" },
|
|
132
|
+
canonicalEntity: { type: "string" },
|
|
133
|
+
hasPrivateContext: { type: "boolean" },
|
|
134
|
+
readinessScore: { type: "number" },
|
|
135
|
+
hiddenRiskCount: { type: "number" },
|
|
136
|
+
visibility: { type: "string", enum: ["internal", "workspace", "public"] },
|
|
137
|
+
hasShareableArtifact: { type: "boolean" },
|
|
138
|
+
hasBenchmarkProof: { type: "boolean" },
|
|
139
|
+
hasDelegatedTask: { type: "boolean" },
|
|
140
|
+
hasDiligencePack: { type: "boolean" },
|
|
141
|
+
hasAmbientMonitoring: { type: "boolean" },
|
|
142
|
+
hasRepeatedReuse: { type: "boolean" },
|
|
143
|
+
vertical: { type: "string" },
|
|
144
|
+
},
|
|
145
|
+
required: ["query"],
|
|
146
|
+
},
|
|
147
|
+
annotations: { readOnlyHint: true },
|
|
148
|
+
handler: async (rawArgs) => {
|
|
149
|
+
const args = rawArgs;
|
|
150
|
+
return buildFounderOperatingModel({
|
|
151
|
+
role: normalizeRole(typeof args.role === "string" ? args.role : undefined),
|
|
152
|
+
query: String(args.query ?? ""),
|
|
153
|
+
canonicalEntity: typeof args.canonicalEntity === "string" ? args.canonicalEntity : undefined,
|
|
154
|
+
hasPrivateContext: Boolean(args.hasPrivateContext),
|
|
155
|
+
readinessScore: typeof args.readinessScore === "number" ? args.readinessScore : 50,
|
|
156
|
+
hiddenRiskCount: typeof args.hiddenRiskCount === "number" ? args.hiddenRiskCount : 0,
|
|
157
|
+
visibility: (typeof args.visibility === "string" ? args.visibility : "workspace"),
|
|
158
|
+
hasShareableArtifact: Boolean(args.hasShareableArtifact),
|
|
159
|
+
hasBenchmarkProof: Boolean(args.hasBenchmarkProof),
|
|
160
|
+
hasDelegatedTask: Boolean(args.hasDelegatedTask),
|
|
161
|
+
hasDiligencePack: Boolean(args.hasDiligencePack),
|
|
162
|
+
hasAmbientMonitoring: Boolean(args.hasAmbientMonitoring),
|
|
163
|
+
hasRepeatedReuse: Boolean(args.hasRepeatedReuse),
|
|
164
|
+
vertical: typeof args.vertical === "string" ? args.vertical : "AI/software",
|
|
165
|
+
});
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
];
|
|
169
|
+
//# sourceMappingURL=founderOperatingModelTools.js.map
|