@reallyartificial/grain 0.2.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 +138 -0
- package/agentspec.schema.json +1186 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +117 -0
- package/dist/cli.js.map +1 -0
- package/dist/defaults.d.ts +8 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +117 -0
- package/dist/defaults.js.map +1 -0
- package/dist/grain.d.ts +78 -0
- package/dist/grain.d.ts.map +1 -0
- package/dist/grain.js +317 -0
- package/dist/grain.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/load.d.ts +11 -0
- package/dist/load.d.ts.map +1 -0
- package/dist/load.js +63 -0
- package/dist/load.js.map +1 -0
- package/dist/presets.d.ts +55 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +55 -0
- package/dist/presets.js.map +1 -0
- package/dist/prompt-generator.d.ts +10 -0
- package/dist/prompt-generator.d.ts.map +1 -0
- package/dist/prompt-generator.js +220 -0
- package/dist/prompt-generator.js.map +1 -0
- package/dist/types.d.ts +388 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -0
- package/dist/validate.d.ts +15 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +59 -0
- package/dist/validate.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grain.js","sourceRoot":"","sources":["../src/grain.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Grain } from "./grain.js";
|
|
2
|
+
export { Presets } from "./presets.js";
|
|
3
|
+
export { toBigFive } from "./types.js";
|
|
4
|
+
export type { ValidationError } from "./validate.js";
|
|
5
|
+
export type { AgentSpec, AgentMeta, ModelPreference, AgentIdentity, DomainExpertise, AgentRelationship, AgentVoice, PersonalityVector, LanguageStyle, BigFiveMapping, AgentCognition, ReasoningStyle, DecisionMaking, UncertaintyHandling, TaskStrategy, AgentCapabilities, ToolCapability, SkillDefinition, KnowledgeSource, OutputFormat, AgentBehavior, BehaviorRule, RuleCondition, RuleAction, Boundary, BehaviorTrigger, TriggerEvent, EscalationPolicy, EscalationCondition, AgentMemory, RetentionPolicy, ContextStrategy, StateSchema, AgentCommunication, ChannelConfig, InputProcessing, OutputProcessing, InterAgentConfig, AgentAdaptation, DriftBound, LearningConfig, FeedbackConfig, AgentObservability, LoggingConfig, MetricDefinition, SuccessCriterion, } from "./types.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,YAAY,EACV,SAAS,EACT,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/load.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AgentSpec } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Load an AgentSpec from a .agent.yaml or .agent.json file.
|
|
4
|
+
* Parses, validates against the JSON Schema, and returns a typed object.
|
|
5
|
+
*/
|
|
6
|
+
export declare function loadAgentSpec(filePath: string): AgentSpec;
|
|
7
|
+
/**
|
|
8
|
+
* Parse an AgentSpec from a YAML or JSON string.
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseAgentSpec(content: string, format?: "yaml" | "json"): AgentSpec;
|
|
11
|
+
//# sourceMappingURL=load.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAYzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,MAAe,GAAG,SAAS,CAI3F"}
|
package/dist/load.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { parse as parseYaml } from "yaml";
|
|
3
|
+
import { validateSpec, assertValid } from "./validate.js";
|
|
4
|
+
import { resolveDefaults } from "./defaults.js";
|
|
5
|
+
import { generateSystemPrompt } from "./prompt-generator.js";
|
|
6
|
+
/**
|
|
7
|
+
* Load an AgentSpec from a .agent.yaml or .agent.json file.
|
|
8
|
+
* Parses, validates against the JSON Schema, and returns a typed object.
|
|
9
|
+
*/
|
|
10
|
+
export function loadAgentSpec(filePath) {
|
|
11
|
+
const content = readFileSync(filePath, "utf-8");
|
|
12
|
+
let data;
|
|
13
|
+
if (filePath.endsWith(".json")) {
|
|
14
|
+
data = JSON.parse(content);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
data = parseYaml(content);
|
|
18
|
+
}
|
|
19
|
+
assertValid(data);
|
|
20
|
+
return resolveDefaults(data);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse an AgentSpec from a YAML or JSON string.
|
|
24
|
+
*/
|
|
25
|
+
export function parseAgentSpec(content, format = "yaml") {
|
|
26
|
+
const data = format === "json" ? JSON.parse(content) : parseYaml(content);
|
|
27
|
+
assertValid(data);
|
|
28
|
+
return resolveDefaults(data);
|
|
29
|
+
}
|
|
30
|
+
// CLI: load and display an agent spec file
|
|
31
|
+
if (process.argv[1] && import.meta.url.endsWith(process.argv[1].replace(/.*\//, ""))) {
|
|
32
|
+
const file = process.argv[2];
|
|
33
|
+
if (!file) {
|
|
34
|
+
console.error("Usage: tsx load.ts <path-to-agent-file>");
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const spec = loadAgentSpec(file);
|
|
39
|
+
console.log(`Loaded: ${spec.meta.name} (${spec.id}@${spec.version})\n`);
|
|
40
|
+
const errors = validateSpec(spec);
|
|
41
|
+
if (errors.length > 0) {
|
|
42
|
+
console.log("Warnings:");
|
|
43
|
+
for (const err of errors) {
|
|
44
|
+
console.log(` ${err.path}: ${err.message}`);
|
|
45
|
+
}
|
|
46
|
+
console.log();
|
|
47
|
+
}
|
|
48
|
+
console.log("=== DEFAULT PROMPT ===\n");
|
|
49
|
+
console.log(generateSystemPrompt(spec));
|
|
50
|
+
// Show channel-specific if channels exist
|
|
51
|
+
if (spec.voice.channelOverrides) {
|
|
52
|
+
for (const channel of Object.keys(spec.voice.channelOverrides)) {
|
|
53
|
+
console.log(`\n\n=== ${channel.toUpperCase()} PROMPT ===\n`);
|
|
54
|
+
console.log(generateSystemPrompt(spec, channel));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
console.error(e instanceof Error ? e.message : e);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=load.js.map
|
package/dist/load.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE/C,IAAI,IAAa,CAAA;IACjB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,eAAe,CAAC,IAA+B,CAAC,CAAA;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,SAA0B,MAAM;IAC9E,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACzE,WAAW,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,eAAe,CAAC,IAA+B,CAAC,CAAA;AACzD,CAAC;AAED,2CAA2C;AAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAA;QAEvE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACxB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YAC9C,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAA;QAEvC,0CAA0C;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;gBAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare const Presets: {
|
|
2
|
+
readonly personality: {
|
|
3
|
+
readonly professional: {
|
|
4
|
+
formality: number;
|
|
5
|
+
warmth: number;
|
|
6
|
+
humor: number;
|
|
7
|
+
assertiveness: number;
|
|
8
|
+
verbosity: number;
|
|
9
|
+
confidence: number;
|
|
10
|
+
concreteness: number;
|
|
11
|
+
urgency: number;
|
|
12
|
+
};
|
|
13
|
+
readonly friendly: {
|
|
14
|
+
formality: number;
|
|
15
|
+
warmth: number;
|
|
16
|
+
humor: number;
|
|
17
|
+
assertiveness: number;
|
|
18
|
+
verbosity: number;
|
|
19
|
+
confidence: number;
|
|
20
|
+
concreteness: number;
|
|
21
|
+
urgency: number;
|
|
22
|
+
};
|
|
23
|
+
readonly expert: {
|
|
24
|
+
formality: number;
|
|
25
|
+
warmth: number;
|
|
26
|
+
humor: number;
|
|
27
|
+
assertiveness: number;
|
|
28
|
+
verbosity: number;
|
|
29
|
+
confidence: number;
|
|
30
|
+
concreteness: number;
|
|
31
|
+
urgency: number;
|
|
32
|
+
};
|
|
33
|
+
readonly creative: {
|
|
34
|
+
formality: number;
|
|
35
|
+
warmth: number;
|
|
36
|
+
humor: number;
|
|
37
|
+
assertiveness: number;
|
|
38
|
+
verbosity: number;
|
|
39
|
+
confidence: number;
|
|
40
|
+
concreteness: number;
|
|
41
|
+
urgency: number;
|
|
42
|
+
};
|
|
43
|
+
readonly executor: {
|
|
44
|
+
formality: number;
|
|
45
|
+
warmth: number;
|
|
46
|
+
humor: number;
|
|
47
|
+
assertiveness: number;
|
|
48
|
+
verbosity: number;
|
|
49
|
+
confidence: number;
|
|
50
|
+
concreteness: number;
|
|
51
|
+
urgency: number;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDV,CAAA"}
|
package/dist/presets.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export const Presets = {
|
|
2
|
+
personality: {
|
|
3
|
+
professional: {
|
|
4
|
+
formality: 0.7,
|
|
5
|
+
warmth: 0.5,
|
|
6
|
+
humor: 0.1,
|
|
7
|
+
assertiveness: 0.6,
|
|
8
|
+
verbosity: 0.5,
|
|
9
|
+
confidence: 0.7,
|
|
10
|
+
concreteness: 0.7,
|
|
11
|
+
urgency: 0.4,
|
|
12
|
+
},
|
|
13
|
+
friendly: {
|
|
14
|
+
formality: 0.3,
|
|
15
|
+
warmth: 0.8,
|
|
16
|
+
humor: 0.4,
|
|
17
|
+
assertiveness: 0.4,
|
|
18
|
+
verbosity: 0.6,
|
|
19
|
+
confidence: 0.6,
|
|
20
|
+
concreteness: 0.6,
|
|
21
|
+
urgency: 0.3,
|
|
22
|
+
},
|
|
23
|
+
expert: {
|
|
24
|
+
formality: 0.5,
|
|
25
|
+
warmth: 0.3,
|
|
26
|
+
humor: 0.1,
|
|
27
|
+
assertiveness: 0.8,
|
|
28
|
+
verbosity: 0.4,
|
|
29
|
+
confidence: 0.9,
|
|
30
|
+
concreteness: 0.9,
|
|
31
|
+
urgency: 0.5,
|
|
32
|
+
},
|
|
33
|
+
creative: {
|
|
34
|
+
formality: 0.2,
|
|
35
|
+
warmth: 0.7,
|
|
36
|
+
humor: 0.7,
|
|
37
|
+
assertiveness: 0.6,
|
|
38
|
+
verbosity: 0.7,
|
|
39
|
+
confidence: 0.6,
|
|
40
|
+
concreteness: 0.4,
|
|
41
|
+
urgency: 0.3,
|
|
42
|
+
},
|
|
43
|
+
executor: {
|
|
44
|
+
formality: 0.4,
|
|
45
|
+
warmth: 0.2,
|
|
46
|
+
humor: 0.0,
|
|
47
|
+
assertiveness: 0.9,
|
|
48
|
+
verbosity: 0.1,
|
|
49
|
+
confidence: 0.9,
|
|
50
|
+
concreteness: 1.0,
|
|
51
|
+
urgency: 0.8,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,WAAW,EAAE;QACX,YAAY,EAAE;YACZ,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,GAAG;YAClB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,GAAG;SACe;QAE7B,QAAQ,EAAE;YACR,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,GAAG;YAClB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,GAAG;SACe;QAE7B,MAAM,EAAE;YACN,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,GAAG;YAClB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,GAAG;SACe;QAE7B,QAAQ,EAAE;YACR,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,GAAG;YAClB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,GAAG;SACe;QAE7B,QAAQ,EAAE;YACR,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,aAAa,EAAE,GAAG;YAClB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,GAAG;SACe;KAC9B;CACO,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AgentSpec } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Generates a system prompt from structured AgentSpec data.
|
|
4
|
+
* Implements the canonical algorithm from SPECIFICATION.md.
|
|
5
|
+
*
|
|
6
|
+
* Uses 5-level graduated semantic anchoring for personality dimensions,
|
|
7
|
+
* inspired by SAC (Specific Attribute Control) research.
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateSystemPrompt(spec: AgentSpec, channel?: string): string;
|
|
10
|
+
//# sourceMappingURL=prompt-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-generator.d.ts","sourceRoot":"","sources":["../src/prompt-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAA+D,MAAM,YAAY,CAAA;AAExG;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAU9E"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a system prompt from structured AgentSpec data.
|
|
3
|
+
* Implements the canonical algorithm from SPECIFICATION.md.
|
|
4
|
+
*
|
|
5
|
+
* Uses 5-level graduated semantic anchoring for personality dimensions,
|
|
6
|
+
* inspired by SAC (Specific Attribute Control) research.
|
|
7
|
+
*/
|
|
8
|
+
export function generateSystemPrompt(spec, channel) {
|
|
9
|
+
const sections = [];
|
|
10
|
+
sections.push(generateIdentitySection(spec));
|
|
11
|
+
sections.push(generateVoiceSection(spec, channel));
|
|
12
|
+
sections.push(generateCognitionSection(spec));
|
|
13
|
+
sections.push(generateBehaviorSection(spec));
|
|
14
|
+
sections.push(generateBoundariesSection(spec));
|
|
15
|
+
return sections.filter(Boolean).join("\n\n");
|
|
16
|
+
}
|
|
17
|
+
function generateIdentitySection(spec) {
|
|
18
|
+
const { identity } = spec;
|
|
19
|
+
const lines = [];
|
|
20
|
+
lines.push(`You are ${identity.name}, a ${identity.role}.`);
|
|
21
|
+
lines.push(`Your primary purpose: ${identity.purpose.primary}`);
|
|
22
|
+
if (identity.purpose.secondary?.length) {
|
|
23
|
+
lines.push(`Secondary objectives: ${identity.purpose.secondary.join("; ")}`);
|
|
24
|
+
}
|
|
25
|
+
if (identity.expertise.length) {
|
|
26
|
+
const expertAreas = identity.expertise
|
|
27
|
+
.filter(e => e.proficiency > 0.7)
|
|
28
|
+
.map(e => e.domain);
|
|
29
|
+
if (expertAreas.length) {
|
|
30
|
+
lines.push(`You have deep expertise in: ${expertAreas.join(", ")}.`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return lines.join("\n");
|
|
34
|
+
}
|
|
35
|
+
function generateVoiceSection(spec, channel) {
|
|
36
|
+
let personality = { ...spec.voice.personality };
|
|
37
|
+
let language = { ...spec.voice.language };
|
|
38
|
+
if (channel && spec.voice.channelOverrides?.[channel]) {
|
|
39
|
+
const override = spec.voice.channelOverrides[channel];
|
|
40
|
+
personality = { ...personality, ...override };
|
|
41
|
+
language = { ...language, ...override };
|
|
42
|
+
}
|
|
43
|
+
const lines = ["## Communication Style"];
|
|
44
|
+
lines.push(...personalityToDirectives(personality));
|
|
45
|
+
lines.push(...languageToDirectives(language));
|
|
46
|
+
return lines.join("\n");
|
|
47
|
+
}
|
|
48
|
+
const PERSONALITY_DIRECTIVES = {
|
|
49
|
+
formality: [
|
|
50
|
+
{ max: 0.2, directive: "- Be very casual. Use slang, contractions, and an informal register freely." },
|
|
51
|
+
{ max: 0.4, directive: "- Be conversational and approachable. Minimal formalities, relaxed tone." },
|
|
52
|
+
{ max: 0.6, directive: "- Use a balanced tone — professional but approachable." },
|
|
53
|
+
{ max: 0.8, directive: "- Be professional and polished. Use measured, clear language." },
|
|
54
|
+
{ max: 1.01, directive: "- Maintain a highly formal, precise tone. Use institutional register and proper structure." },
|
|
55
|
+
],
|
|
56
|
+
warmth: [
|
|
57
|
+
{ max: 0.2, directive: "- Be direct and clinical. Focus purely on facts and outcomes, not feelings." },
|
|
58
|
+
{ max: 0.4, directive: "- Be polite but task-focused. Acknowledge emotions only when they directly affect the task." },
|
|
59
|
+
{ max: 0.6, directive: "- Be friendly. Show basic courtesy and acknowledge the human behind the request." },
|
|
60
|
+
{ max: 0.8, directive: "- Be warm and empathetic. Acknowledge feelings and show genuine care before addressing problems." },
|
|
61
|
+
{ max: 1.01, directive: "- Lead with empathy. Mirror the user's emotional state, use inclusive language ('let's', 'we can'), and validate feelings before solutions." },
|
|
62
|
+
],
|
|
63
|
+
humor: [
|
|
64
|
+
{ max: 0.2, directive: "- Stay serious and focused. No jokes, wordplay, or playful language." },
|
|
65
|
+
{ max: 0.4, directive: "- Keep things mostly serious. Light tone is acceptable but avoid overt humor." },
|
|
66
|
+
{ max: 0.6, directive: "- A touch of wit is fine when it serves clarity, but don't force it." },
|
|
67
|
+
{ max: 0.8, directive: "- Use humor and wit naturally. Lighten the mood when appropriate." },
|
|
68
|
+
{ max: 1.01, directive: "- Be playful and witty throughout. Use wordplay, gentle teasing, and humor as a core communication tool." },
|
|
69
|
+
],
|
|
70
|
+
assertiveness: [
|
|
71
|
+
{ max: 0.2, directive: "- Be passive and deferential. Always wait for explicit direction. Never presume." },
|
|
72
|
+
{ max: 0.4, directive: "- Be reactive. Offer options but let the user drive decisions." },
|
|
73
|
+
{ max: 0.6, directive: "- Balance initiative with deference. Suggest directions but ask before acting." },
|
|
74
|
+
{ max: 0.8, directive: "- Be proactive. Make clear recommendations and push conversations forward." },
|
|
75
|
+
{ max: 1.01, directive: "- Be highly assertive. Take initiative, make strong recommendations, and challenge weak reasoning when you see it." },
|
|
76
|
+
],
|
|
77
|
+
verbosity: [
|
|
78
|
+
{ max: 0.2, directive: "- Be extremely terse. Single sentences when possible. No preamble, no filler." },
|
|
79
|
+
{ max: 0.4, directive: "- Keep responses brief and focused. Get to the point quickly." },
|
|
80
|
+
{ max: 0.6, directive: "- Use a moderate level of detail. Explain enough for clarity without over-elaborating." },
|
|
81
|
+
{ max: 0.8, directive: "- Provide detailed, thorough explanations. Include context and reasoning." },
|
|
82
|
+
{ max: 1.01, directive: "- Be comprehensive. Explore nuances, provide rich context, examples, and multiple angles on every point." },
|
|
83
|
+
],
|
|
84
|
+
confidence: [
|
|
85
|
+
{ max: 0.2, directive: "- Hedge heavily. Use qualifiers ('perhaps', 'it might be', 'one possible'). Communicate uncertainty as the default." },
|
|
86
|
+
{ max: 0.4, directive: "- Show appropriate uncertainty. Qualify statements where evidence is incomplete." },
|
|
87
|
+
{ max: 0.6, directive: "- Be moderately confident. State things clearly but acknowledge limitations when relevant." },
|
|
88
|
+
{ max: 0.8, directive: "- Be decisive. State things clearly without excessive hedging." },
|
|
89
|
+
{ max: 1.01, directive: "- Be maximally decisive. Commit to positions. Eliminate hedging language entirely. Project authority." },
|
|
90
|
+
],
|
|
91
|
+
concreteness: [
|
|
92
|
+
{ max: 0.2, directive: "- Stay abstract and conceptual. Focus on frameworks, principles, and high-level thinking." },
|
|
93
|
+
{ max: 0.4, directive: "- Lean toward concepts and theory. Use examples sparingly." },
|
|
94
|
+
{ max: 0.6, directive: "- Mix abstract concepts with concrete examples as appropriate." },
|
|
95
|
+
{ max: 0.8, directive: "- Use concrete examples, specific numbers, and actionable steps." },
|
|
96
|
+
{ max: 1.01, directive: "- Be hyper-concrete. Every point gets a specific example, exact number, or step-by-step action. No hand-waving." },
|
|
97
|
+
],
|
|
98
|
+
urgency: [
|
|
99
|
+
{ max: 0.2, directive: "- Take time to be thorough. Prioritize completeness and quality over speed. Never rush." },
|
|
100
|
+
{ max: 0.4, directive: "- Be measured and deliberate. Thoroughness over haste." },
|
|
101
|
+
{ max: 0.6, directive: "- Balance thoroughness with efficiency. Cover what matters, skip what doesn't." },
|
|
102
|
+
{ max: 0.8, directive: "- Move quickly. Bias toward action and shipping over perfection." },
|
|
103
|
+
{ max: 1.01, directive: "- Maximum urgency. Get to the answer immediately. Skip context unless asked. Action over analysis." },
|
|
104
|
+
],
|
|
105
|
+
};
|
|
106
|
+
function personalityToDirectives(p) {
|
|
107
|
+
const directives = [];
|
|
108
|
+
for (const dim of Object.keys(PERSONALITY_DIRECTIVES)) {
|
|
109
|
+
const value = p[dim];
|
|
110
|
+
const levels = PERSONALITY_DIRECTIVES[dim];
|
|
111
|
+
for (const level of levels) {
|
|
112
|
+
if (value < level.max || (level.max > 1 && value <= 1)) {
|
|
113
|
+
directives.push(level.directive);
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return directives;
|
|
119
|
+
}
|
|
120
|
+
function languageToDirectives(l) {
|
|
121
|
+
const directives = [];
|
|
122
|
+
if (l.sentenceLength === "short")
|
|
123
|
+
directives.push("- Use short, punchy sentences.");
|
|
124
|
+
else if (l.sentenceLength === "long")
|
|
125
|
+
directives.push("- Use longer, more flowing sentences when explaining.");
|
|
126
|
+
if (l.jargonLevel === "none")
|
|
127
|
+
directives.push("- Avoid technical jargon. Explain in plain language.");
|
|
128
|
+
else if (l.jargonLevel === "heavy")
|
|
129
|
+
directives.push("- Use domain-specific terminology freely — your audience is technical.");
|
|
130
|
+
if (l.emojiUsage === "frequently")
|
|
131
|
+
directives.push("- Use emoji to add personality and visual breaks.");
|
|
132
|
+
else if (l.emojiUsage === "never")
|
|
133
|
+
directives.push("- Never use emoji.");
|
|
134
|
+
if (l.structure === "bullets")
|
|
135
|
+
directives.push("- Prefer bullet points and lists over dense paragraphs.");
|
|
136
|
+
else if (l.structure === "prose")
|
|
137
|
+
directives.push("- Write in flowing prose rather than bullet points.");
|
|
138
|
+
if (l.usesAnalogies)
|
|
139
|
+
directives.push("- Use analogies and metaphors to explain complex ideas.");
|
|
140
|
+
return directives;
|
|
141
|
+
}
|
|
142
|
+
function generateCognitionSection(spec) {
|
|
143
|
+
const { cognition } = spec;
|
|
144
|
+
const lines = ["## Thinking Approach"];
|
|
145
|
+
const { reasoningStyle, decisionMaking, uncertainty } = cognition;
|
|
146
|
+
if (reasoningStyle.showReasoning) {
|
|
147
|
+
lines.push("- Show your reasoning process step by step.");
|
|
148
|
+
}
|
|
149
|
+
if (reasoningStyle.multiPerspective) {
|
|
150
|
+
lines.push("- Consider multiple perspectives before concluding.");
|
|
151
|
+
}
|
|
152
|
+
if (reasoningStyle.analysisDepth === "deep" || reasoningStyle.analysisDepth === "exhaustive") {
|
|
153
|
+
lines.push("- Analyze problems deeply before responding. Don't settle for surface-level answers.");
|
|
154
|
+
}
|
|
155
|
+
if (decisionMaking.autonomy === "fully-autonomous") {
|
|
156
|
+
lines.push("- Make decisions autonomously. Only ask when truly blocked.");
|
|
157
|
+
}
|
|
158
|
+
else if (decisionMaking.autonomy === "always-ask") {
|
|
159
|
+
lines.push("- Always confirm with the user before taking significant actions.");
|
|
160
|
+
}
|
|
161
|
+
if (uncertainty.communicateUncertainty) {
|
|
162
|
+
lines.push("- Explicitly state your confidence level when uncertain.");
|
|
163
|
+
}
|
|
164
|
+
if (uncertainty.lowConfidenceAction === "ask") {
|
|
165
|
+
lines.push(`- If your confidence drops below ${Math.round(uncertainty.confidenceFloor * 100)}%, ask for clarification rather than guessing.`);
|
|
166
|
+
}
|
|
167
|
+
return lines.join("\n");
|
|
168
|
+
}
|
|
169
|
+
function generateBehaviorSection(spec) {
|
|
170
|
+
const { rules } = spec.behavior;
|
|
171
|
+
if (!rules.length)
|
|
172
|
+
return "";
|
|
173
|
+
const lines = ["## Behavioral Rules"];
|
|
174
|
+
const sorted = [...rules].sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
175
|
+
for (const rule of sorted) {
|
|
176
|
+
const condition = conditionToText(rule.condition);
|
|
177
|
+
const action = actionToText(rule.action);
|
|
178
|
+
lines.push(`- ${condition}: ${action}`);
|
|
179
|
+
}
|
|
180
|
+
return lines.join("\n");
|
|
181
|
+
}
|
|
182
|
+
function conditionToText(condition) {
|
|
183
|
+
switch (condition.type) {
|
|
184
|
+
case "always": return "Always";
|
|
185
|
+
case "when-topic": return `When discussing ${condition.topics.join(" or ")}`;
|
|
186
|
+
case "when-sentiment": return `When the user seems ${condition.sentiment}`;
|
|
187
|
+
case "when-context": return `In the context of ${condition.context}`;
|
|
188
|
+
case "when-user-role": return `When the user is a ${condition.roles.join(" or ")}`;
|
|
189
|
+
case "when-capability-missing": return `When unable to ${condition.capability}`;
|
|
190
|
+
case "when-confidence-below": return `When confidence is below ${Math.round(condition.threshold * 100)}%`;
|
|
191
|
+
case "compound": {
|
|
192
|
+
const parts = condition.conditions.map(conditionToText);
|
|
193
|
+
return parts.join(condition.operator === "and" ? " AND " : " OR ");
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function actionToText(action) {
|
|
198
|
+
switch (action.type) {
|
|
199
|
+
case "respond-with-style": return "adjust communication style accordingly";
|
|
200
|
+
case "use-tool": return `use the ${action.tool} tool`;
|
|
201
|
+
case "escalate": return `escalate to ${action.target} (${action.reason})`;
|
|
202
|
+
case "refuse": return `decline with: "${action.message}"`;
|
|
203
|
+
case "redirect": return `redirect to ${action.target}`;
|
|
204
|
+
case "adjust-depth": return `provide ${action.depth}-level analysis`;
|
|
205
|
+
case "require-confirmation": return "ask for confirmation before proceeding";
|
|
206
|
+
case "log-event": return `log ${action.event}`;
|
|
207
|
+
case "custom": return `execute ${action.handler}`;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
function generateBoundariesSection(spec) {
|
|
211
|
+
const hard = spec.behavior.boundaries.filter(b => b.enforcement === "hard");
|
|
212
|
+
if (!hard.length)
|
|
213
|
+
return "";
|
|
214
|
+
const lines = ["## Hard Boundaries (Never Violate)"];
|
|
215
|
+
for (const boundary of hard) {
|
|
216
|
+
lines.push(`- NEVER: ${boundary.description}`);
|
|
217
|
+
}
|
|
218
|
+
return lines.join("\n");
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=prompt-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-generator.js","sourceRoot":"","sources":["../src/prompt-generator.ts"],"names":[],"mappings":"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"}
|