hoomanjs 1.41.0 → 1.41.1
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 +26 -701
- package/dist/acp/acp-agent.js +27 -29
- package/dist/acp/acp-agent.js.map +1 -1
- package/dist/chat/app.js +19 -26
- package/dist/chat/app.js.map +1 -1
- package/dist/chat/components/StatusBar.js +5 -5
- package/dist/chat/components/StatusBar.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/agent/index.js +0 -6
- package/dist/core/agent/index.js.map +1 -1
- package/dist/core/agent/prompt-cache-plugin.d.ts +1 -1
- package/dist/core/agent/prompt-cache-plugin.js +1 -1
- package/dist/core/config.d.ts +3 -0
- package/dist/core/mcp/index.d.ts +3 -3
- package/dist/core/mcp/index.js +2 -2
- package/dist/core/mcp/index.js.map +1 -1
- package/dist/core/mcp/manager.d.ts +28 -0
- package/dist/core/mcp/manager.js +171 -2
- package/dist/core/mcp/manager.js.map +1 -1
- package/dist/core/models/anthropic.d.ts +4 -3
- package/dist/core/models/anthropic.js.map +1 -1
- package/dist/core/models/minimax.d.ts +2 -1
- package/dist/core/models/minimax.js +49 -7
- package/dist/core/models/minimax.js.map +1 -1
- package/dist/core/models/types.d.ts +10 -6
- package/dist/core/models/types.js +3 -2
- package/dist/core/models/types.js.map +1 -1
- package/dist/core/prompts/environment.d.ts +10 -1
- package/dist/core/prompts/environment.js +15 -1
- package/dist/core/prompts/environment.js.map +1 -1
- package/dist/core/prompts/static/environment.md +2 -1
- package/dist/core/prompts/static/web-search.md +1 -1
- package/dist/core/prompts/system.d.ts +6 -0
- package/dist/core/prompts/system.js +7 -1
- package/dist/core/prompts/system.js.map +1 -1
- package/dist/core/skills/built-in/hooman-mcp/SKILL.md +20 -0
- package/dist/core/tools/ask-user.d.ts +8 -0
- package/dist/core/tools/ask-user.js +8 -4
- package/dist/core/tools/ask-user.js.map +1 -1
- package/dist/core/tools/time.js +1 -1
- package/dist/core/tools/time.js.map +1 -1
- package/dist/daemon/questions.d.ts +18 -0
- package/dist/daemon/questions.js +44 -0
- package/dist/daemon/questions.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -2,9 +2,10 @@ import { AnthropicModel } from "@strands-agents/sdk/models/anthropic";
|
|
|
2
2
|
import type { AnthropicProviderOptions, LlmOptions } from "./types.js";
|
|
3
3
|
export type AnthropicModelParams = AnthropicProviderOptions & LlmOptions;
|
|
4
4
|
/**
|
|
5
|
-
* Anthropic-compatible thinking `type`. Real Claude uses `enabled`;
|
|
6
|
-
* Anthropic-compatible
|
|
7
|
-
* an explicit `budget_tokens` derived from the effort (defaulting to
|
|
5
|
+
* Anthropic-compatible thinking `type`. Real Claude uses `enabled`; some
|
|
6
|
+
* Anthropic-compatible backends use `adaptive`. In the `enabled` path we always
|
|
7
|
+
* send an explicit `budget_tokens` derived from the effort (defaulting to
|
|
8
|
+
* `medium`).
|
|
8
9
|
*/
|
|
9
10
|
export type ThinkingType = "enabled" | "adaptive";
|
|
10
11
|
export declare function create(providerOptions: AnthropicProviderOptions, llmOptions: LlmOptions, thinkingType?: ThinkingType): AnthropicModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAMtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAMtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAYrD,uEAAuE;AACvE,MAAM,oBAAoB,GACxB;IACE,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEJ,MAAM,UAAU,MAAM,CACpB,eAAyC,EACzC,UAAsB,EACtB,eAA6B,SAAS;IAEtC,MAAM,YAAY,GAChB,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO;QAChD,CAAC,CAAC;YACE,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,MAAM,GAAG,CAAC,GAAwC,EAAE;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACL,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;gBAC1D,aAAa,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,YAAY;gBAClB,aAAa,EAAE,uBAAuB,CAAC,MAAM,CAAC;aAC/C;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,+EAA+E;IAC/E,mEAAmE;IACnE,MAAM,eAAe,GACnB,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;IAE/D,OAAO,IAAI,cAAc,CAAC;QACxB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,EAAE,YAAY,EAAE;YAClB,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
1
2
|
import type { LlmOptions, MinimaxProviderOptions } from "./types.js";
|
|
2
|
-
export declare function create(providerOptions: MinimaxProviderOptions, llmOptions: LlmOptions):
|
|
3
|
+
export declare function create(providerOptions: MinimaxProviderOptions, llmOptions: LlmOptions): VercelModel;
|
|
@@ -1,11 +1,53 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
|
+
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
3
|
+
import { markTotalInclusiveInputUsage } from "./usage.js";
|
|
2
4
|
const DEFAULT_BASE_URL = "https://api.minimax.io/anthropic";
|
|
5
|
+
// MiniMax's adaptive thinking accepts effort via `output_config.effort`, which
|
|
6
|
+
// only takes low/medium/high; `minimal` collapses to `low`.
|
|
7
|
+
const OUTPUT_CONFIG_EFFORT = {
|
|
8
|
+
minimal: "low",
|
|
9
|
+
low: "low",
|
|
10
|
+
medium: "medium",
|
|
11
|
+
high: "high",
|
|
12
|
+
};
|
|
3
13
|
export function create(providerOptions, llmOptions) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
headers: providerOptions.headers,
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
const provider = createAnthropic({
|
|
15
|
+
baseURL: providerOptions.baseURL ?? DEFAULT_BASE_URL,
|
|
16
|
+
...(providerOptions.apiKey ? { apiKey: providerOptions.apiKey } : {}),
|
|
17
|
+
...(providerOptions.headers ? { headers: providerOptions.headers } : {}),
|
|
18
|
+
});
|
|
19
|
+
// Providing `reasoning` enables MiniMax thinking via the adaptive scheme
|
|
20
|
+
// (`thinking: { type: "adaptive" }` + `output_config.effort`); effort defaults
|
|
21
|
+
// to `medium`. `display` is forwarded when set. Omitting `reasoning` leaves
|
|
22
|
+
// thinking at the model default.
|
|
23
|
+
const reasoning = providerOptions.reasoning;
|
|
24
|
+
const anthropicProviderOptions = reasoning
|
|
25
|
+
? {
|
|
26
|
+
thinking: {
|
|
27
|
+
type: "adaptive",
|
|
28
|
+
...(reasoning.display ? { display: reasoning.display } : {}),
|
|
29
|
+
},
|
|
30
|
+
effort: OUTPUT_CONFIG_EFFORT[reasoning.effort ?? "medium"],
|
|
31
|
+
}
|
|
32
|
+
: undefined;
|
|
33
|
+
const config = {
|
|
34
|
+
...(llmOptions.temperature !== undefined
|
|
35
|
+
? { temperature: llmOptions.temperature }
|
|
36
|
+
: {}),
|
|
37
|
+
...(llmOptions.maxTokens !== undefined
|
|
38
|
+
? { maxTokens: llmOptions.maxTokens }
|
|
39
|
+
: {}),
|
|
40
|
+
...(anthropicProviderOptions
|
|
41
|
+
? { providerOptions: { anthropic: anthropicProviderOptions } }
|
|
42
|
+
: {}),
|
|
43
|
+
};
|
|
44
|
+
const model = new VercelModel({
|
|
45
|
+
provider: provider(llmOptions.model),
|
|
46
|
+
...config,
|
|
47
|
+
});
|
|
48
|
+
// The AI SDK Anthropic provider reports `inputTokens.total` inclusive of cache
|
|
49
|
+
// reads/writes (unlike the native Anthropic-style additive shape).
|
|
50
|
+
markTotalInclusiveInputUsage(model);
|
|
51
|
+
return model;
|
|
10
52
|
}
|
|
11
53
|
//# sourceMappingURL=minimax.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../../src/core/models/minimax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../../src/core/models/minimax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGhE,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D,+EAA+E;AAC/E,4DAA4D;AAC5D,MAAM,oBAAoB,GAGtB;IACF,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,eAAe,CAAC;QAC/B,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,gBAAgB;QACpD,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC,CAAC;IAEH,yEAAyE;IACzE,+EAA+E;IAC/E,4EAA4E;IAC5E,iCAAiC;IACjC,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,MAAM,wBAAwB,GAAG,SAAS;QACxC,CAAC,CAAC;YACE,QAAQ,EAAE;gBACR,IAAI,EAAE,UAAmB;gBACzB,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D;YACD,MAAM,EAAE,oBAAoB,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC;SAC3D;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,wBAAwB;YAC1B,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;IACH,+EAA+E;IAC/E,mEAAmE;IACnE,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -40,8 +40,8 @@ export type ReasoningOptions = {
|
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Effort -> `budget_tokens` for providers that take an explicit thinking budget
|
|
43
|
-
* (
|
|
44
|
-
*
|
|
43
|
+
* (the native Anthropic API, Bedrock Converse). We always send a budget rather
|
|
44
|
+
* than omitting it; `medium` is the default when no effort is set.
|
|
45
45
|
*/
|
|
46
46
|
export declare const REASONING_BUDGET_TOKENS: Record<ReasoningEffort, number>;
|
|
47
47
|
export type LlmOptions = {
|
|
@@ -132,12 +132,13 @@ export type GroqProviderOptions = {
|
|
|
132
132
|
};
|
|
133
133
|
export type MinimaxProviderOptions = {
|
|
134
134
|
apiKey?: string;
|
|
135
|
+
baseURL?: string;
|
|
135
136
|
headers?: Record<string, string>;
|
|
136
137
|
/**
|
|
137
|
-
* Reasoning controls. Providing `reasoning` enables
|
|
138
|
-
*
|
|
139
|
-
* to leave thinking
|
|
140
|
-
* `
|
|
138
|
+
* Reasoning controls. Providing `reasoning` enables MiniMax's adaptive
|
|
139
|
+
* thinking (`thinking: { type: "adaptive" }` with `output_config.effort`);
|
|
140
|
+
* omit `reasoning` to leave thinking at the model default. `effort` defaults
|
|
141
|
+
* to `medium` (`minimal` maps to `low`); `display` is forwarded when set.
|
|
141
142
|
*/
|
|
142
143
|
reasoning?: ReasoningOptions;
|
|
143
144
|
};
|
|
@@ -388,6 +389,7 @@ export declare const GroqProviderOptionsSchema: z.ZodObject<{
|
|
|
388
389
|
}, z.core.$strict>;
|
|
389
390
|
export declare const MinimaxProviderOptionsSchema: z.ZodObject<{
|
|
390
391
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
392
|
+
baseURL: z.ZodOptional<z.ZodString>;
|
|
391
393
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
392
394
|
reasoning: z.ZodOptional<z.ZodObject<{
|
|
393
395
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
@@ -646,6 +648,7 @@ export declare const ProviderOptionsSchemas: {
|
|
|
646
648
|
}, z.core.$strict>;
|
|
647
649
|
readonly minimax: z.ZodObject<{
|
|
648
650
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
651
|
+
baseURL: z.ZodOptional<z.ZodString>;
|
|
649
652
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
650
653
|
reasoning: z.ZodOptional<z.ZodObject<{
|
|
651
654
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
@@ -922,6 +925,7 @@ export declare const NamedProviderConfigSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
922
925
|
provider: z.ZodLiteral<LlmProvider.Minimax>;
|
|
923
926
|
options: z.ZodObject<{
|
|
924
927
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
928
|
+
baseURL: z.ZodOptional<z.ZodString>;
|
|
925
929
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
926
930
|
reasoning: z.ZodOptional<z.ZodObject<{
|
|
927
931
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
@@ -15,8 +15,8 @@ export var LlmProvider;
|
|
|
15
15
|
})(LlmProvider || (LlmProvider = {}));
|
|
16
16
|
/**
|
|
17
17
|
* Effort -> `budget_tokens` for providers that take an explicit thinking budget
|
|
18
|
-
* (
|
|
19
|
-
*
|
|
18
|
+
* (the native Anthropic API, Bedrock Converse). We always send a budget rather
|
|
19
|
+
* than omitting it; `medium` is the default when no effort is set.
|
|
20
20
|
*/
|
|
21
21
|
export const REASONING_BUDGET_TOKENS = {
|
|
22
22
|
minimal: 1024,
|
|
@@ -124,6 +124,7 @@ export const GroqProviderOptionsSchema = z
|
|
|
124
124
|
export const MinimaxProviderOptionsSchema = z
|
|
125
125
|
.object({
|
|
126
126
|
apiKey: NonEmptyStringSchema.optional(),
|
|
127
|
+
baseURL: NonEmptyStringSchema.optional(),
|
|
127
128
|
headers: HeadersSchema,
|
|
128
129
|
reasoning: ReasoningOptionsSchema.optional(),
|
|
129
130
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/models/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAN,IAAY,WAYX;AAZD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,0BAAW,CAAA;AACb,CAAC,EAZW,WAAW,KAAX,WAAW,QAYtB;AA8BD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAoC;IACtE,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/models/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,15 @@ type EnvironmentPromptContext = {
|
|
|
5
5
|
shell: string;
|
|
6
6
|
isGitRepo: boolean;
|
|
7
7
|
timeZone: string;
|
|
8
|
+
datetime: string;
|
|
8
9
|
};
|
|
9
|
-
|
|
10
|
+
/** Human-readable local date & time, e.g. "Saturday, July 4, 2026, 2:25 PM". */
|
|
11
|
+
export declare function formatPromptDateTime(date: Date): string;
|
|
12
|
+
/**
|
|
13
|
+
* Environment facts rendered into the system prompt. `at` is the moment the
|
|
14
|
+
* prompt is considered built; callers that rebuild the prompt during a session
|
|
15
|
+
* must pass a stable value so the rendered prefix stays byte-identical across
|
|
16
|
+
* turns (a changing prefix defeats provider prompt caching).
|
|
17
|
+
*/
|
|
18
|
+
export declare function getEnvironmentPromptContext(at?: Date): EnvironmentPromptContext;
|
|
10
19
|
export {};
|
|
@@ -35,7 +35,20 @@ function detectGitRepo(startDir) {
|
|
|
35
35
|
function detectTimeZone() {
|
|
36
36
|
return Intl.DateTimeFormat().resolvedOptions().timeZone || "unknown";
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
/** Human-readable local date & time, e.g. "Saturday, July 4, 2026, 2:25 PM". */
|
|
39
|
+
export function formatPromptDateTime(date) {
|
|
40
|
+
return new Intl.DateTimeFormat("en-US", {
|
|
41
|
+
dateStyle: "full",
|
|
42
|
+
timeStyle: "short",
|
|
43
|
+
}).format(date);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Environment facts rendered into the system prompt. `at` is the moment the
|
|
47
|
+
* prompt is considered built; callers that rebuild the prompt during a session
|
|
48
|
+
* must pass a stable value so the rendered prefix stays byte-identical across
|
|
49
|
+
* turns (a changing prefix defeats provider prompt caching).
|
|
50
|
+
*/
|
|
51
|
+
export function getEnvironmentPromptContext(at = new Date()) {
|
|
39
52
|
const cwd = process.cwd();
|
|
40
53
|
return {
|
|
41
54
|
cwd,
|
|
@@ -44,6 +57,7 @@ export function getEnvironmentPromptContext() {
|
|
|
44
57
|
shell: detectShell(),
|
|
45
58
|
isGitRepo: detectGitRepo(cwd),
|
|
46
59
|
timeZone: detectTimeZone(),
|
|
60
|
+
datetime: formatPromptDateTime(at),
|
|
47
61
|
};
|
|
48
62
|
}
|
|
49
63
|
//# sourceMappingURL=environment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/core/prompts/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,IAAI,IAAI,MAAM,EACd,OAAO,IAAI,SAAS,GACrB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/core/prompts/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,IAAI,IAAI,MAAM,EACd,OAAO,IAAI,SAAS,GACrB,MAAM,SAAS,CAAC;AAYjB,SAAS,cAAc;IACrB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5D,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,GAAG,SAAS,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,MAAM,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,KAAK;QACjB,OAAO,CAAC,GAAG,CAAC,OAAO;QACnB,OAAO,CAAC,GAAG,CAAC,OAAO;QACnB,SAAS,CAAC;IACZ,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC;AACvE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACtC,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAW,IAAI,IAAI,EAAE;IAErB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO;QACL,GAAG;QACH,QAAQ,EAAE,cAAc,EAAE;QAC1B,SAAS,EAAE,eAAe,EAAE;QAC5B,KAAK,EAAE,WAAW,EAAE;QACpB,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC;QAC7B,QAAQ,EAAE,cAAc,EAAE;QAC1B,QAAQ,EAAE,oBAAoB,CAAC,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC"}
|
|
@@ -8,5 +8,6 @@ Runtime environment captured when this prompt was built:
|
|
|
8
8
|
- OS version: `{{ environment.osVersion }}`
|
|
9
9
|
- Is git repository: `{{ environment.isGitRepo }}`
|
|
10
10
|
- Time zone: `{{ environment.timeZone }}`
|
|
11
|
+
- Date & time at session start: `{{ environment.datetime }}`
|
|
11
12
|
|
|
12
|
-
Use this to choose correct path handling, shell syntax, and platform-specific behavior.
|
|
13
|
+
Use this to choose correct path handling, shell syntax, and platform-specific behavior. The date & time above is from session start and goes stale in long sessions; use `get_current_time` whenever the precise current time matters.
|
|
@@ -7,5 +7,5 @@ You have access to a `web_search` tool for finding relevant webpages and snippet
|
|
|
7
7
|
- Use only supported inputs: `query`, optional `count`, `freshness`, `start_date`, `end_date`, `country`, and `safe_search`.
|
|
8
8
|
- Keep `query` focused on the topic, entity, source, and search operators. Do not invent provider-specific parameters.
|
|
9
9
|
- For relative-time requests such as "latest" or "this week", prefer `freshness` or a date range over stuffing date words into `query`.
|
|
10
|
-
-
|
|
10
|
+
- To interpret relative dates, start from the session-start date & time in the Environment section, and call `get_current_time` when the precise current time or a specific timezone matters.
|
|
11
11
|
- `web_search` returns result pages and snippets, not full article bodies.
|
|
@@ -9,6 +9,12 @@ export declare class System {
|
|
|
9
9
|
private readonly path;
|
|
10
10
|
private readonly config;
|
|
11
11
|
private readonly mode;
|
|
12
|
+
/**
|
|
13
|
+
* Captured once per instance so every `reload()` in a session renders the
|
|
14
|
+
* same date/time — a per-turn timestamp would change the prompt prefix on
|
|
15
|
+
* every request and defeat provider prompt caching.
|
|
16
|
+
*/
|
|
17
|
+
private readonly builtAt;
|
|
12
18
|
private data;
|
|
13
19
|
private sourceFingerprint;
|
|
14
20
|
private compiledTemplate;
|
|
@@ -36,6 +36,12 @@ export class System {
|
|
|
36
36
|
path;
|
|
37
37
|
config;
|
|
38
38
|
mode;
|
|
39
|
+
/**
|
|
40
|
+
* Captured once per instance so every `reload()` in a session renders the
|
|
41
|
+
* same date/time — a per-turn timestamp would change the prompt prefix on
|
|
42
|
+
* every request and defeat provider prompt caching.
|
|
43
|
+
*/
|
|
44
|
+
builtAt = new Date();
|
|
39
45
|
data = "";
|
|
40
46
|
sourceFingerprint = "";
|
|
41
47
|
compiledTemplate = null;
|
|
@@ -157,7 +163,7 @@ export class System {
|
|
|
157
163
|
return {
|
|
158
164
|
name: this.config.name,
|
|
159
165
|
llm: this.config.llm,
|
|
160
|
-
environment: getEnvironmentPromptContext(),
|
|
166
|
+
environment: getEnvironmentPromptContext(this.builtAt),
|
|
161
167
|
compaction: this.config.compaction,
|
|
162
168
|
mode: this.mode,
|
|
163
169
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/core/prompts/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;AAE/B,gEAAgE;AAChE,MAAM,mBAAmB,GAAG;IAC1B,aAAa;IACb,gBAAgB;IAChB,SAAS;IACT,aAAa;IACb,aAAa;IACb,eAAe;IACf,UAAU;IACV,eAAe;IACf,UAAU;IACV,WAAW;IACX,WAAW;IACX,cAAc;IACd,aAAa;CACL,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE;IAC1C,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAClD,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE;IAC1C,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE;CACpC,CAAC;AAIX,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACA,IAAI,CAAS;IACb,MAAM,CAAS;IACf,IAAI,CAAa;
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/core/prompts/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,3 +78,23 @@ Same shape as `streamable-http` but with `type: "sse"`. Use only for legacy remo
|
|
|
78
78
|
- Prefer `streamable-http` over `sse` for remote servers unless the user specifically needs SSE.
|
|
79
79
|
- For bearer tokens, use `headers.Authorization`; for local subprocess secrets, use `env`.
|
|
80
80
|
- If a server package's README gives a specific JSON block, adapt it into the `mcpServers` object and preserve the required command, args, env, URL, and headers.
|
|
81
|
+
|
|
82
|
+
## CLI Commands
|
|
83
|
+
|
|
84
|
+
Hooman ships `mcp` subcommands for OAuth-related maintenance of servers already defined in `~/.hooman/mcp.json`. These only apply to remote (`streamable-http`/`sse`) servers configured with OAuth — they do not add, remove, or edit server entries (that's a direct `mcp.json` edit, per above).
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
hooman mcp auth <server> # OAuth login for a configured MCP server
|
|
88
|
+
hooman mcp logout <server> # Clear stored OAuth credentials (defaults to scope "all")
|
|
89
|
+
hooman mcp logout <server> --scope all # Clear discovery, client registration, and tokens
|
|
90
|
+
hooman mcp logout <server> --scope client # Clear only the registered OAuth client
|
|
91
|
+
hooman mcp logout <server> --scope tokens # Clear only the stored access/refresh tokens
|
|
92
|
+
hooman mcp logout <server> --scope discovery # Clear only cached OAuth server metadata
|
|
93
|
+
hooman mcp auth-status # Show OAuth status for all configured MCP servers
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- `<server>` must match a key under `mcpServers` in `mcp.json`.
|
|
97
|
+
- `hooman mcp auth` starts the OAuth flow (opening a local callback server as needed) and stores credentials in `~/.hooman/mcp-oauth.json`.
|
|
98
|
+
- `hooman mcp logout` clears stored OAuth state without touching `mcp.json`; use it before re-authenticating with different credentials or when decommissioning a server.
|
|
99
|
+
- `hooman mcp auth-status` reports each server's OAuth state (e.g. authenticated, expired, not authenticated) without making network calls to the server itself beyond what's needed to read stored state.
|
|
100
|
+
- These commands operate on the home config (`~/.hooman/mcp.json`) only, not repo-local `.hooman/mcp.json` overlays.
|
|
@@ -26,6 +26,14 @@ export type AskUserResponse = {
|
|
|
26
26
|
answer: string;
|
|
27
27
|
} | {
|
|
28
28
|
kind: "dismissed";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The backend exists but could not reach a user for this particular call
|
|
32
|
+
* (e.g. a channel job whose originating server does not relay questions).
|
|
33
|
+
* Reported to the model the same as having no backend at all.
|
|
34
|
+
*/
|
|
35
|
+
| {
|
|
36
|
+
kind: "unavailable";
|
|
29
37
|
};
|
|
30
38
|
export type AskUserBackend = {
|
|
31
39
|
ask(request: AskUserRequest): Promise<AskUserResponse>;
|
|
@@ -31,12 +31,13 @@ export function createAskUserTools() {
|
|
|
31
31
|
.describe(`Between ${MIN_OPTIONS} and ${MAX_OPTIONS} short answer choices, recommended option first.`),
|
|
32
32
|
}),
|
|
33
33
|
callback: async (input, context) => {
|
|
34
|
+
const noUserAvailable = () => toJsonValue({
|
|
35
|
+
status: "no_user_available",
|
|
36
|
+
message: "No interactive user is available to answer questions in this environment. Proceed with your best judgement and state the assumption you made.",
|
|
37
|
+
});
|
|
34
38
|
const backend = getAskUserBackend(context?.agent);
|
|
35
39
|
if (!backend) {
|
|
36
|
-
return
|
|
37
|
-
status: "no_user_available",
|
|
38
|
-
message: "No interactive user is available to answer questions in this environment. Proceed with your best judgement and state the assumption you made.",
|
|
39
|
-
});
|
|
40
|
+
return noUserAvailable();
|
|
40
41
|
}
|
|
41
42
|
const response = await backend.ask({
|
|
42
43
|
question: input.question,
|
|
@@ -44,6 +45,9 @@ export function createAskUserTools() {
|
|
|
44
45
|
toolUseId: context?.toolUse.toolUseId,
|
|
45
46
|
signal: context?.agent.cancelSignal,
|
|
46
47
|
});
|
|
48
|
+
if (response.kind === "unavailable") {
|
|
49
|
+
return noUserAvailable();
|
|
50
|
+
}
|
|
47
51
|
if (response.kind === "dismissed") {
|
|
48
52
|
return toJsonValue({
|
|
49
53
|
status: "dismissed",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/core/tools/ask-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/core/tools/ask-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAyCtB,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA0B,CAAC;AAEvD,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,OAAuB;IAEvB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAyB;IAEzB,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,IAAI,CAAC;YACH,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,kMAAkM;YACpM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC;qBACR,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CACP,kEAAkE,CACnE;gBACH,OAAO,EAAE,CAAC;qBACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACxB,GAAG,CAAC,WAAW,CAAC;qBAChB,GAAG,CAAC,WAAW,CAAC;qBAChB,QAAQ,CACP,WAAW,WAAW,QAAQ,WAAW,kDAAkD,CAC5F;aACJ,CAAC;YACF,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAqB,EAAE,EAAE;gBAC/C,MAAM,eAAe,GAAG,GAAG,EAAE,CAC3B,WAAW,CAAC;oBACV,MAAM,EAAE,mBAAmB;oBAC3B,OAAO,EACL,+IAA+I;iBAClJ,CAAC,CAAC;gBACL,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,eAAe,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS;oBACrC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY;iBACpC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACpC,OAAO,eAAe,EAAE,CAAC;gBAC3B,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAClC,OAAO,WAAW,CAAC;wBACjB,MAAM,EAAE,WAAW;wBACnB,OAAO,EACL,+JAA+J;qBAClK,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,WAAW,CAAC;oBACjB,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
|
package/dist/core/tools/time.js
CHANGED
|
@@ -50,7 +50,7 @@ export function createTimeTools() {
|
|
|
50
50
|
return [
|
|
51
51
|
tool({
|
|
52
52
|
name: "get_current_time",
|
|
53
|
-
description: "Get the current time in a specific timezone.
|
|
53
|
+
description: "Get the current time, optionally in a specific timezone. The system prompt only carries the session-start date & time, so use this whenever the precise current time matters.",
|
|
54
54
|
inputSchema: z.object({
|
|
55
55
|
timezone: z
|
|
56
56
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/core/tools/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC;IACvC,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACnD,CAAC;AAED,SAAS,eAAe,CAAC,QAAiB;IACxC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,EAAY;IAC9B,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK;QAC9B,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE;QACtE,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE;QACjC,MAAM,EAAE,EAAE,CAAC,OAAO;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,cAAsB,EAAE,IAAY;IAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE;QACvD,IAAI,EAAE,cAAc;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,CAAC;QACT,WAAW,EAAE,CAAC;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAgB,EAAE,MAAgB;IAChE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,OAAO;QACL,IAAI,CAAC;YACH,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/core/tools/time.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Manager as McpManager } from "../core/mcp/index.js";
|
|
2
|
+
import type { AskUserBackend } from "../core/tools/ask-user.js";
|
|
3
|
+
/**
|
|
4
|
+
* `ask_user` backend for channel-driven daemon jobs: relays the question to
|
|
5
|
+
* the originating MCP server over the `hooman/channel/ask` capability (the
|
|
6
|
+
* question-flavoured sibling of `hooman/channel/permission`), so the server
|
|
7
|
+
* can surface it wherever the human actually is — a Slack thread, a Telegram
|
|
8
|
+
* chat, etc. — and post the answer back.
|
|
9
|
+
*
|
|
10
|
+
* Jobs without a channel origin, and servers that don't advertise the
|
|
11
|
+
* capability, report "unavailable" so the model proceeds on its own
|
|
12
|
+
* judgement, matching daemon behaviour before this backend existed.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createDaemonAskUserBackend(manager: McpManager, agent: {
|
|
15
|
+
appState: {
|
|
16
|
+
get(key: string): unknown;
|
|
17
|
+
};
|
|
18
|
+
}): AskUserBackend;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { readChannelOrigin } from "../core/approvals/channel-ask.js";
|
|
2
|
+
/**
|
|
3
|
+
* `ask_user` backend for channel-driven daemon jobs: relays the question to
|
|
4
|
+
* the originating MCP server over the `hooman/channel/ask` capability (the
|
|
5
|
+
* question-flavoured sibling of `hooman/channel/permission`), so the server
|
|
6
|
+
* can surface it wherever the human actually is — a Slack thread, a Telegram
|
|
7
|
+
* chat, etc. — and post the answer back.
|
|
8
|
+
*
|
|
9
|
+
* Jobs without a channel origin, and servers that don't advertise the
|
|
10
|
+
* capability, report "unavailable" so the model proceeds on its own
|
|
11
|
+
* judgement, matching daemon behaviour before this backend existed.
|
|
12
|
+
*/
|
|
13
|
+
export function createDaemonAskUserBackend(manager, agent) {
|
|
14
|
+
return {
|
|
15
|
+
ask: async (request) => {
|
|
16
|
+
const origin = readChannelOrigin(agent);
|
|
17
|
+
if (!origin?.server) {
|
|
18
|
+
return { kind: "unavailable" };
|
|
19
|
+
}
|
|
20
|
+
const supported = await manager
|
|
21
|
+
.supportsChannelAsk(origin.server)
|
|
22
|
+
.catch(() => false);
|
|
23
|
+
if (!supported) {
|
|
24
|
+
return { kind: "unavailable" };
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
return await manager.requestChannelAsk(origin.server, {
|
|
28
|
+
requestId: crypto.randomUUID(),
|
|
29
|
+
question: request.question,
|
|
30
|
+
options: request.options,
|
|
31
|
+
source: origin.source,
|
|
32
|
+
user: origin.user,
|
|
33
|
+
session: origin.session,
|
|
34
|
+
thread: origin.thread,
|
|
35
|
+
}, { signal: request.signal });
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// Relay failed or timed out; let the model proceed on its own.
|
|
39
|
+
return { kind: "unavailable" };
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=questions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/daemon/questions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAIrE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAmB,EACnB,KAAkD;IAElD,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACpB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACjC,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,OAAO;iBAC5B,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC;iBACjC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,iBAAiB,CACpC,MAAM,CAAC,MAAM,EACb;oBACE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;oBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC3B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;gBAC/D,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export { candidateWalkUpPaths, discoverWalkUpFiles, findGitRoot, } from "./core/
|
|
|
16
16
|
export { create as createAgent } from "./core/agent/index.js";
|
|
17
17
|
export { applySessionMode } from "./core/agent/sync-tool-registry-mode.js";
|
|
18
18
|
export { ModeAwareToolRegistry } from "./core/agent/mode-aware-tool-registry.js";
|
|
19
|
-
export { HOOMAN_CHANNEL, HOOMAN_CHANNEL_PERMISSION, Manager as McpManager, createMcpConfig, createMcpManager, createMcpOAuthService, createMcpOAuthStore, } from "./core/mcp/index.js";
|
|
20
|
-
export type { ChannelMessage, ChannelPermissionBehavior, ChannelSubscription, ChannelSubscriptionHandle, NamedMcpTransport, ServerAuthStatus, } from "./core/mcp/index.js";
|
|
19
|
+
export { HOOMAN_CHANNEL, HOOMAN_CHANNEL_ASK, HOOMAN_CHANNEL_PERMISSION, Manager as McpManager, createMcpConfig, createMcpManager, createMcpOAuthService, createMcpOAuthStore, } from "./core/mcp/index.js";
|
|
20
|
+
export type { ChannelAskOutcome, ChannelMessage, ChannelPermissionBehavior, ChannelSubscription, ChannelSubscriptionHandle, NamedMcpTransport, ServerAuthStatus, } from "./core/mcp/index.js";
|
|
21
21
|
export { Config as McpConfig, type McpServersFile } from "./core/mcp/config.js";
|
|
22
22
|
export { HoomanMcpOAuthProvider, McpOAuthConfigSchema, McpOAuthService, McpOAuthStore, StoredMcpOAuthClientSchema, StoredMcpOAuthDiscoverySchema, StoredMcpOAuthEntrySchema, StoredMcpOAuthFileSchema, StoredMcpOAuthTokensSchema, canonicalizeRemoteServerUrl, createRemoteTransportFingerprint, createRemoteTransportIdentity, startCallbackServer, } from "./core/mcp/oauth/index.js";
|
|
23
23
|
export type { BeginAuthorizationResult as McpBeginAuthorizationResult, McpOAuthConfig, OAuthRemoteTransport, StoredMcpOAuthClient, StoredMcpOAuthDiscovery, StoredMcpOAuthEntry, StoredMcpOAuthFile, StoredMcpOAuthTokens, } from "./core/mcp/oauth/index.js";
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ export { candidateWalkUpPaths, discoverWalkUpFiles, findGitRoot, } from "./core/
|
|
|
14
14
|
export { create as createAgent } from "./core/agent/index.js";
|
|
15
15
|
export { applySessionMode } from "./core/agent/sync-tool-registry-mode.js";
|
|
16
16
|
export { ModeAwareToolRegistry } from "./core/agent/mode-aware-tool-registry.js";
|
|
17
|
-
export { HOOMAN_CHANNEL, HOOMAN_CHANNEL_PERMISSION, Manager as McpManager, createMcpConfig, createMcpManager, createMcpOAuthService, createMcpOAuthStore, } from "./core/mcp/index.js";
|
|
17
|
+
export { HOOMAN_CHANNEL, HOOMAN_CHANNEL_ASK, HOOMAN_CHANNEL_PERMISSION, Manager as McpManager, createMcpConfig, createMcpManager, createMcpOAuthService, createMcpOAuthStore, } from "./core/mcp/index.js";
|
|
18
18
|
export { Config as McpConfig } from "./core/mcp/config.js";
|
|
19
19
|
export { HoomanMcpOAuthProvider, McpOAuthConfigSchema, McpOAuthService, McpOAuthStore, StoredMcpOAuthClientSchema, StoredMcpOAuthDiscoverySchema, StoredMcpOAuthEntrySchema, StoredMcpOAuthFileSchema, StoredMcpOAuthTokensSchema, canonicalizeRemoteServerUrl, createRemoteTransportFingerprint, createRemoteTransportIdentity, startCallbackServer, } from "./core/mcp/oauth/index.js";
|
|
20
20
|
export { McpTransportSchema, SseSchema, StdioSchema, StreamableHttpSchema, } from "./core/mcp/types.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,mDAAmD;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAcvE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,eAAe,EACf,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACZ,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,OAAO,IAAI,UAAU,EACrB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hoomanjs",
|
|
3
|
-
"version": "1.41.
|
|
3
|
+
"version": "1.41.1",
|
|
4
4
|
"description": "Hackable AI agent toolkit for building local CLI, ACP, MCP, and channel-driven workflows.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Vaibhav Pandey",
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"@agentclientprotocol/sdk": "^1.1.0",
|
|
73
|
+
"@ai-sdk/anthropic": "^3.0.92",
|
|
73
74
|
"@ai-sdk/azure": "^3.0.78",
|
|
74
75
|
"@ai-sdk/groq": "^3.0.35",
|
|
75
76
|
"@ai-sdk/moonshotai": "^2.0.26",
|