rhachet 1.3.4 → 1.4.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/dist/contract/cli/invokeAsk.js +12 -2
- package/dist/contract/cli/invokeAsk.js.map +1 -1
- package/dist/contract/sdk.d.ts +1 -0
- package/dist/contract/sdk.js +3 -1
- package/dist/contract/sdk.js.map +1 -1
- package/dist/domain/objects/Role.d.ts +1 -1
- package/dist/domain/objects/RoleContext.d.ts +1 -1
- package/dist/domain/objects/RoleSkillArgGetter.d.ts +83 -71
- package/dist/domain/objects/RoleSkillArgGetter.js.map +1 -1
- package/dist/domain/objects/RoleTrait.d.ts +5 -5
- package/dist/domain/objects/RoleTrait.js.map +1 -1
- package/dist/logic/invoke/getSkillThreads.js +4 -4
- package/dist/logic/invoke/getSkillThreads.js.map +1 -1
- package/dist/logic/role/genRoleSkill.d.ts +12 -0
- package/dist/logic/role/genRoleSkill.js +19 -0
- package/dist/logic/role/genRoleSkill.js.map +1 -0
- package/dist/logic/role/genRoleSkill.test.d.ts +1 -0
- package/dist/logic/role/genRoleSkill.test.js +79 -0
- package/dist/logic/role/genRoleSkill.test.js.map +1 -0
- package/dist/logic/stitch/invokeImagineStitcher.js +13 -0
- package/dist/logic/stitch/invokeImagineStitcher.js.map +1 -1
- package/package.json +2 -2
|
@@ -30,7 +30,10 @@ const invokeAsk = ({ program, registries, }) => {
|
|
|
30
30
|
});
|
|
31
31
|
// register the dynamic inputs
|
|
32
32
|
for (const [key, meta] of Object.entries(skill.threads.lookup)) {
|
|
33
|
-
|
|
33
|
+
const isOptional = meta.type.startsWith('?');
|
|
34
|
+
const typeParsed = isOptional ? meta.type.slice(1) : meta.type;
|
|
35
|
+
const typeLabel = isOptional ? `[${typeParsed}]` : `<${typeParsed}>`;
|
|
36
|
+
thisCommand.option(`-${meta.char}, --${key} ${typeLabel}`, meta.desc);
|
|
34
37
|
}
|
|
35
38
|
// re-parse with updated option definitions
|
|
36
39
|
thisCommand.parseOptions(thisCommand.parent?.args ?? []);
|
|
@@ -68,7 +71,14 @@ const invokeAsk = ({ program, registries, }) => {
|
|
|
68
71
|
from: { lookup: { env } },
|
|
69
72
|
});
|
|
70
73
|
// execute the weave
|
|
71
|
-
console.log(
|
|
74
|
+
console.log('');
|
|
75
|
+
console.log('');
|
|
76
|
+
console.log('🎙️ heard');
|
|
77
|
+
console.log('');
|
|
78
|
+
console.log(argvWithAsk.ask);
|
|
79
|
+
console.log('');
|
|
80
|
+
console.log('🫡 on it!');
|
|
81
|
+
console.log('');
|
|
72
82
|
await (0, sdk_1.enweaveOneStitcher)({
|
|
73
83
|
stitcher: skill.route,
|
|
74
84
|
threads,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokeAsk.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAsk.ts"],"names":[],"mappings":";;;AACA,mDAA0E;AAG1E,sEAAmE;AACnE,wEAAqE;AACrE,wEAAqE;AACrE,gCAA4C;AAE5C;;;GAGG;AACI,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,UAAU,GAIX,EAAQ,EAAE;IACT,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,KAAK,CAAC;SACd,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SACrD,cAAc,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACrC,kBAAkB,CAAC,IAAI,CAAC;SACxB,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE9B,oDAAoD;IACpD,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhC,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK;YACR,gCAAe,CAAC,KAAK,CACnB,mBAAmB,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,IAAI,GAAG,EAC1D;gBACE,IAAI;gBACJ,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;aAClE,CACF,CAAC;QAEJ,8BAA8B;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,
|
|
1
|
+
{"version":3,"file":"invokeAsk.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAsk.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/sdk.d.ts
CHANGED
|
@@ -14,3 +14,4 @@ export { genStepImagineViaTemplate } from '../logic/template/genStepImagineViaTe
|
|
|
14
14
|
export { ContextStitchTrail } from '../logic/stitch/withStitchTrail';
|
|
15
15
|
export { getStitch } from '../logic/thread/getStitch';
|
|
16
16
|
export { enrollThread } from '../logic/role/enrollThread';
|
|
17
|
+
export { genRoleSkill } from '../logic/role/genRoleSkill';
|
package/dist/contract/sdk.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.enrollThread = exports.getStitch = exports.genStepImagineViaTemplate = exports.useTemplate = exports.getTemplateVarsFromRoleInherit = exports.getTemplateValFromArtifacts = exports.genTemplate = exports.asStitcherFlat = exports.asStitcher = exports.enweaveOneStitcher = exports.genStitchRoute = exports.genStitchFanout = exports.genStitchCycle = exports.genStitchChoice = void 0;
|
|
17
|
+
exports.genRoleSkill = exports.enrollThread = exports.getStitch = exports.genStepImagineViaTemplate = exports.useTemplate = exports.getTemplateVarsFromRoleInherit = exports.getTemplateValFromArtifacts = exports.genTemplate = exports.asStitcherFlat = exports.asStitcher = exports.enweaveOneStitcher = exports.genStitchRoute = exports.genStitchFanout = exports.genStitchCycle = exports.genStitchChoice = void 0;
|
|
18
18
|
__exportStar(require("../domain/objects"), exports);
|
|
19
19
|
var genStitchChoice_1 = require("../logic/weave/compose/genStitchChoice");
|
|
20
20
|
Object.defineProperty(exports, "genStitchChoice", { enumerable: true, get: function () { return genStitchChoice_1.genStitchChoice; } });
|
|
@@ -44,4 +44,6 @@ var getStitch_1 = require("../logic/thread/getStitch");
|
|
|
44
44
|
Object.defineProperty(exports, "getStitch", { enumerable: true, get: function () { return getStitch_1.getStitch; } });
|
|
45
45
|
var enrollThread_1 = require("../logic/role/enrollThread");
|
|
46
46
|
Object.defineProperty(exports, "enrollThread", { enumerable: true, get: function () { return enrollThread_1.enrollThread; } });
|
|
47
|
+
var genRoleSkill_1 = require("../logic/role/genRoleSkill");
|
|
48
|
+
Object.defineProperty(exports, "genRoleSkill", { enumerable: true, get: function () { return genRoleSkill_1.genRoleSkill; } });
|
|
47
49
|
//# sourceMappingURL=sdk.js.map
|
package/dist/contract/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/contract/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAElC,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AACvB,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AAEvB,wEAAuE;AAA9D,wHAAA,kBAAkB,OAAA;AAE3B,gEAA+D;AAAtD,wGAAA,UAAU,OAAA;AACnB,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,6FAA4F;AAAnF,0IAAA,2BAA2B,OAAA;AACpC,mGAAkG;AAAzF,gJAAA,8BAA8B,OAAA;AACvC,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,yFAAwF;AAA/E,sIAAA,yBAAyB,OAAA;AAGlC,uDAAsD;AAA7C,sGAAA,SAAS,OAAA;AAClB,2DAA0D;AAAjD,4GAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/contract/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAElC,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AACvB,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AAEvB,wEAAuE;AAA9D,wHAAA,kBAAkB,OAAA;AAE3B,gEAA+D;AAAtD,wGAAA,UAAU,OAAA;AACnB,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,6FAA4F;AAAnF,0IAAA,2BAA2B,OAAA;AACpC,mGAAkG;AAAzF,gJAAA,8BAA8B,OAAA;AACvC,6DAA4D;AAAnD,0GAAA,WAAW,OAAA;AACpB,yFAAwF;AAA/E,sIAAA,yBAAyB,OAAA;AAGlC,uDAAsD;AAA7C,sGAAA,SAAS,OAAA;AAClB,2DAA0D;AAAjD,4GAAA,YAAY,OAAA;AAErB,2DAA0D;AAAjD,4GAAA,YAAY,OAAA"}
|
|
@@ -35,7 +35,7 @@ export interface Role {
|
|
|
35
35
|
* .what = the traits inherent to the role
|
|
36
36
|
* .why = declares how the role goes about things
|
|
37
37
|
*/
|
|
38
|
-
traits: RoleTrait
|
|
38
|
+
traits: RoleTrait[];
|
|
39
39
|
/**
|
|
40
40
|
* .what = the skills known by the role
|
|
41
41
|
* .why = declares what the role can do
|
|
@@ -28,7 +28,7 @@ export interface RoleContextSkill {
|
|
|
28
28
|
* .what = the context that each role carries with it
|
|
29
29
|
* .why = provides each role with a set of traits (inherent truths) and skills (learned abilities) to influence how they approach decisions, actions, and interpretations
|
|
30
30
|
*/
|
|
31
|
-
export interface RoleContext<TRole extends ThreadRole, TStash extends Record<string, any> | undefined> extends ThreadContextRole<TRole> {
|
|
31
|
+
export interface RoleContext<TRole extends ThreadRole, TStash extends Record<string, any> | undefined = Record<string, any> | undefined> extends ThreadContextRole<TRole> {
|
|
32
32
|
role: TRole;
|
|
33
33
|
/**
|
|
34
34
|
* .what = the persistent traits and skills that define how this role behaves
|
|
@@ -2,6 +2,7 @@ import { DomainLiteral } from 'domain-objects';
|
|
|
2
2
|
import { Empty } from 'type-fns';
|
|
3
3
|
import { GStitcher } from './Stitcher';
|
|
4
4
|
import { Threads } from './Threads';
|
|
5
|
+
type WithOptionPrefix<T extends string> = T | `?${T}`;
|
|
5
6
|
/**
|
|
6
7
|
* .what = a generic specification for how to collect, verify, and instantiate skill arguments
|
|
7
8
|
* .why =
|
|
@@ -17,41 +18,45 @@ export interface RoleSkillArgGetter<TOutput, TVariables extends Record<string, a
|
|
|
17
18
|
/**
|
|
18
19
|
* .what = declares how to collect required inputs (from CLI, env, etc)
|
|
19
20
|
*/
|
|
20
|
-
lookup:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
21
|
+
lookup: {
|
|
22
|
+
[K in keyof Omit<TVariables, 'ask'>]: {
|
|
23
|
+
/**
|
|
24
|
+
* .what = where to get lookup from
|
|
25
|
+
*/
|
|
26
|
+
source: 'process.env';
|
|
27
|
+
/**
|
|
28
|
+
* .what = a description of the input
|
|
29
|
+
*/
|
|
30
|
+
desc: string;
|
|
31
|
+
/**
|
|
32
|
+
* .what = what envar key to dereference
|
|
33
|
+
*/
|
|
34
|
+
envar: string;
|
|
35
|
+
/**
|
|
36
|
+
* .what = what type to expect
|
|
37
|
+
* .note = prefix with `?` to designate as optional
|
|
38
|
+
*/
|
|
39
|
+
type: WithOptionPrefix<'string'>;
|
|
40
|
+
} | {
|
|
41
|
+
/**
|
|
42
|
+
* .what = where to get lookup from
|
|
43
|
+
*/
|
|
44
|
+
source: 'process.argv';
|
|
45
|
+
/**
|
|
46
|
+
* .what = a description of the input
|
|
47
|
+
*/
|
|
48
|
+
desc: string;
|
|
49
|
+
/**
|
|
50
|
+
* .what = what shorthand char alias to use, if from process.argv
|
|
51
|
+
*/
|
|
52
|
+
char?: string;
|
|
53
|
+
/**
|
|
54
|
+
* .what = what type to expect
|
|
55
|
+
* .note = prefix with `?` to designate as optional
|
|
56
|
+
*/
|
|
57
|
+
type: WithOptionPrefix<'string'>;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
55
60
|
/**
|
|
56
61
|
* .what = assures the input from lookup or passin was correctly declared
|
|
57
62
|
*/
|
|
@@ -76,24 +81,27 @@ export interface RoleSkillThreadsGetter<TOutput extends Threads<any>, TVariables
|
|
|
76
81
|
* .what = how to lookup the required inputs for thread instantiation
|
|
77
82
|
* .example = { target: { char: t, desc: "the target file or dir to upsert against", shape: "string" } }
|
|
78
83
|
*/
|
|
79
|
-
lookup:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
84
|
+
lookup: {
|
|
85
|
+
[K in keyof Omit<TVariables, 'ask'>]: {
|
|
86
|
+
/**
|
|
87
|
+
* .what = where to get lookup from
|
|
88
|
+
*/
|
|
89
|
+
source: 'process.argv';
|
|
90
|
+
/**
|
|
91
|
+
* .what = a description of the input
|
|
92
|
+
*/
|
|
93
|
+
desc: string;
|
|
94
|
+
/**
|
|
95
|
+
* .what = what shorthand single char alias to use
|
|
96
|
+
*/
|
|
97
|
+
char?: string;
|
|
98
|
+
/**
|
|
99
|
+
* .what = what type to expect
|
|
100
|
+
* .note = prefix with `?` to designate as optional
|
|
101
|
+
*/
|
|
102
|
+
type: WithOptionPrefix<'string'>;
|
|
103
|
+
};
|
|
104
|
+
} & {
|
|
97
105
|
ask?: Empty;
|
|
98
106
|
};
|
|
99
107
|
}
|
|
@@ -114,24 +122,28 @@ export interface RoleSkillContextGetter<TOutput extends GStitcher['context'], TV
|
|
|
114
122
|
* .what = how to lookup the required inputs for context instantiation
|
|
115
123
|
* .example = { openaiApiKey: { envar: "PREP_OPENAI_KEY" } }
|
|
116
124
|
*/
|
|
117
|
-
lookup:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
125
|
+
lookup: {
|
|
126
|
+
[K in keyof TVariables]: {
|
|
127
|
+
/**
|
|
128
|
+
* .what = where to get lookup from
|
|
129
|
+
*/
|
|
130
|
+
source: 'process.env';
|
|
131
|
+
/**
|
|
132
|
+
* .what = a description of the input
|
|
133
|
+
*/
|
|
134
|
+
desc: string;
|
|
135
|
+
/**
|
|
136
|
+
* .what = what envar key to dereference
|
|
137
|
+
*/
|
|
138
|
+
envar: string;
|
|
139
|
+
/**
|
|
140
|
+
* .what = what type to expect
|
|
141
|
+
* .note = prefix with `?` to designate as optional
|
|
142
|
+
*/
|
|
143
|
+
type: WithOptionPrefix<'string'>;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
135
146
|
}
|
|
136
147
|
export declare class RoleSkillContextGetter<TOutput extends GStitcher['context'], TVariables extends Record<string, string>> extends DomainLiteral<RoleSkillContextGetter<TOutput, TVariables>> implements RoleSkillContextGetter<TOutput, TVariables> {
|
|
137
148
|
}
|
|
149
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoleSkillArgGetter.js","sourceRoot":"","sources":["../../../src/domain/objects/RoleSkillArgGetter.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;
|
|
1
|
+
{"version":3,"file":"RoleSkillArgGetter.js","sourceRoot":"","sources":["../../../src/domain/objects/RoleSkillArgGetter.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAkI/C,MAAa,sBAIX,SAAQ,8BAA0D;CACT;AAL3D,wDAK2D;AA6C3D,MAAa,sBAIX,SAAQ,8BAA0D;CACT;AAL3D,wDAK2D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DomainEntity } from 'domain-objects';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Artifact } from 'rhachet-artifact';
|
|
3
|
+
import { GitFile } from 'rhachet-artifact-git';
|
|
4
4
|
/**
|
|
5
5
|
* .what = a trait is a reusable behavioral modifier for a role
|
|
6
6
|
* - it's adopted as an inherent truth of any actor which assumes the role
|
|
@@ -13,7 +13,7 @@ import { Template } from './Template';
|
|
|
13
13
|
* - treat consistency as top priority
|
|
14
14
|
* - prefer given/when/then test suites
|
|
15
15
|
*/
|
|
16
|
-
export interface RoleTrait
|
|
16
|
+
export interface RoleTrait {
|
|
17
17
|
/**
|
|
18
18
|
* .what = short identifier for this trait
|
|
19
19
|
* .example = "asksQuestions"
|
|
@@ -27,8 +27,8 @@ export interface RoleTrait<TVariables extends Serializable> {
|
|
|
27
27
|
/**
|
|
28
28
|
* .what = the brief that houses this trait's declaration
|
|
29
29
|
*/
|
|
30
|
-
brief:
|
|
30
|
+
brief: Artifact<typeof GitFile>;
|
|
31
31
|
}
|
|
32
|
-
export declare class RoleTrait
|
|
32
|
+
export declare class RoleTrait extends DomainEntity<RoleTrait> implements RoleTrait {
|
|
33
33
|
static unique: readonly ["slug"];
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoleTrait.js","sourceRoot":"","sources":["../../../src/domain/objects/RoleTrait.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;
|
|
1
|
+
{"version":3,"file":"RoleTrait.js","sourceRoot":"","sources":["../../../src/domain/objects/RoleTrait.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAkC9C,MAAa,SAAU,SAAQ,6BAAuB;;AAAtD,8BAEC;AADe,gBAAM,GAAG,CAAC,MAAM,CAAU,CAAC"}
|
|
@@ -26,17 +26,17 @@ const getSkillThreads = async (input) => {
|
|
|
26
26
|
// grab all the requested ones
|
|
27
27
|
for (const [key, spec] of Object.entries(getter.lookup)) {
|
|
28
28
|
const val = argv[key] ?? (spec.char ? argv[spec.char] : undefined);
|
|
29
|
-
if (val
|
|
29
|
+
if (val !== undefined)
|
|
30
|
+
collected[key] = val;
|
|
31
|
+
if (val === undefined && !spec.type.startsWith('?'))
|
|
30
32
|
helpful_errors_1.BadRequestError.throw(`missing required arg --${key} (-${spec.char})`, {
|
|
31
33
|
key,
|
|
32
34
|
spec,
|
|
33
35
|
});
|
|
34
|
-
}
|
|
35
|
-
collected[key] = val;
|
|
36
36
|
}
|
|
37
37
|
// verify they look right
|
|
38
38
|
if (!getter.assess(collected))
|
|
39
|
-
helpful_errors_1.UnexpectedCodePathError.throw('
|
|
39
|
+
helpful_errors_1.UnexpectedCodePathError.throw('getter.assess=false; did you forget to update your .assess function in the skill declaration?', { from, collected });
|
|
40
40
|
// instantiate
|
|
41
41
|
return await getter.instantiate(collected);
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSkillThreads.js","sourceRoot":"","sources":["../../../src/logic/invoke/getSkillThreads.ts"],"names":[],"mappings":";;;AAAA,mDAA0E;AAM1E;;;GAGG;AACI,MAAM,eAAe,GAAG,KAAK,EAGlC,KAMD,EAAoB,EAAE;IACrB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAE/B,sBAAsB;IACtB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,gCAAe,CAAC,KAAK,CACnB,kDAAkD,EAClD,EAAE,IAAI,EAAE,CACT,CAAC;QACJ,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAE9B,+DAA+D;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG;YACN,gCAAe,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,sCAAsC;QACtC,MAAM,SAAS,GAA2B,EAAE,GAAG,EAAE,CAAC;QAElD,8BAA8B;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,GAAG,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"getSkillThreads.js","sourceRoot":"","sources":["../../../src/logic/invoke/getSkillThreads.ts"],"names":[],"mappings":";;;AAAA,mDAA0E;AAM1E;;;GAGG;AACI,MAAM,eAAe,GAAG,KAAK,EAGlC,KAMD,EAAoB,EAAE;IACrB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAE/B,sBAAsB;IACtB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,gCAAe,CAAC,KAAK,CACnB,kDAAkD,EAClD,EAAE,IAAI,EAAE,CACT,CAAC;QACJ,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAE9B,+DAA+D;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG;YACN,gCAAe,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,sCAAsC;QACtC,MAAM,SAAS,GAA2B,EAAE,GAAG,EAAE,CAAC;QAElD,8BAA8B;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YAC5C,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACjD,gCAAe,CAAC,KAAK,CAAC,0BAA0B,GAAG,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE;oBACrE,GAAG;oBACH,IAAI;iBACL,CAAC,CAAC;QACP,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3B,wCAAuB,CAAC,KAAK,CAC3B,+FAA+F,EAC/F,EAAE,IAAI,EAAE,SAAS,EAAE,CACpB,CAAC;QAEJ,cAAc;QACd,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,wCAAuB,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AAzDW,QAAA,eAAe,mBAyD1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GStitcher, Stitcher, RoleSkillThreadsGetter, RoleSkillContextGetter, RoleSkill } from '../../domain/objects';
|
|
2
|
+
/**
|
|
3
|
+
* .what = factory for role skills
|
|
4
|
+
* .why = ensures narrow type coupling between getter inputs
|
|
5
|
+
*/
|
|
6
|
+
export declare const genRoleSkill: <TStitcher extends GStitcher<any, any, any>, TThreadsVars extends Record<string, string>, TContextVars extends Record<string, string>>(input: {
|
|
7
|
+
slug: string;
|
|
8
|
+
readme: string;
|
|
9
|
+
route: Stitcher<TStitcher>;
|
|
10
|
+
threads: RoleSkillThreadsGetter<TStitcher['threads'], TThreadsVars>;
|
|
11
|
+
context: RoleSkillContextGetter<TStitcher['context'], TContextVars>;
|
|
12
|
+
}) => RoleSkill<TStitcher>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.genRoleSkill = void 0;
|
|
4
|
+
const objects_1 = require("../../domain/objects");
|
|
5
|
+
/**
|
|
6
|
+
* .what = factory for role skills
|
|
7
|
+
* .why = ensures narrow type coupling between getter inputs
|
|
8
|
+
*/
|
|
9
|
+
const genRoleSkill = (input) => {
|
|
10
|
+
return objects_1.RoleSkill.build({
|
|
11
|
+
slug: input.slug,
|
|
12
|
+
readme: input.readme,
|
|
13
|
+
route: input.route,
|
|
14
|
+
threads: input.threads,
|
|
15
|
+
context: input.context,
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.genRoleSkill = genRoleSkill;
|
|
19
|
+
//# sourceMappingURL=genRoleSkill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genRoleSkill.js","sourceRoot":"","sources":["../../../src/logic/role/genRoleSkill.ts"],"names":[],"mappings":";;;AAAA,kDAM8B;AAE9B;;;GAGG;AACI,MAAM,YAAY,GAAG,CAI1B,KAMD,EAAwB,EAAE;IACzB,OAAO,mBAAS,CAAC,KAAK,CAAC;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAY;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const test_fns_1 = require("test-fns");
|
|
4
|
+
const objects_1 = require("../../domain/objects");
|
|
5
|
+
const enrollThread_1 = require("./enrollThread");
|
|
6
|
+
const genRoleSkill_1 = require("./genRoleSkill");
|
|
7
|
+
describe('genRoleSkill', () => {
|
|
8
|
+
(0, test_fns_1.given)('a valid set of lookup, assess, and instantiate handlers', () => {
|
|
9
|
+
const skill = (0, genRoleSkill_1.genRoleSkill)({
|
|
10
|
+
slug: 'demo',
|
|
11
|
+
readme: 'demo readme',
|
|
12
|
+
route: {},
|
|
13
|
+
threads: {
|
|
14
|
+
lookup: {
|
|
15
|
+
foo: {
|
|
16
|
+
source: 'process.argv',
|
|
17
|
+
desc: 'some arg',
|
|
18
|
+
char: 'f',
|
|
19
|
+
type: 'string',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
assess: (input) => typeof input.foo === 'string',
|
|
23
|
+
instantiate: async (input) => {
|
|
24
|
+
return {
|
|
25
|
+
caller: await (0, enrollThread_1.enrollThread)({
|
|
26
|
+
role: 'caller',
|
|
27
|
+
stash: { foo: input.foo },
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
context: {
|
|
33
|
+
lookup: {
|
|
34
|
+
bar: {
|
|
35
|
+
source: 'process.env',
|
|
36
|
+
desc: 'some env var',
|
|
37
|
+
envar: 'DEMO_ENV',
|
|
38
|
+
type: 'string',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
assess: (input) => typeof input.bar === 'string',
|
|
42
|
+
instantiate: (input) => {
|
|
43
|
+
return {
|
|
44
|
+
demoCtx: input.bar,
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
(0, test_fns_1.when)('the skill is instantiated', () => {
|
|
50
|
+
(0, test_fns_1.then)('it should produce a valid RoleSkill object', () => {
|
|
51
|
+
expect(skill).toBeInstanceOf(objects_1.RoleSkill);
|
|
52
|
+
expect(skill.slug).toBe('demo');
|
|
53
|
+
expect(skill.readme).toContain('demo readme');
|
|
54
|
+
});
|
|
55
|
+
(0, test_fns_1.then)('its thread assess should validate correct input', () => {
|
|
56
|
+
const valid = { foo: 'hello' };
|
|
57
|
+
const invalid = { foo: 123 };
|
|
58
|
+
expect(skill.threads.assess(valid)).toBe(true);
|
|
59
|
+
expect(skill.threads.assess(invalid)).toBe(false);
|
|
60
|
+
});
|
|
61
|
+
(0, test_fns_1.then)('its context assess should validate correct input', () => {
|
|
62
|
+
const valid = { bar: 'world' };
|
|
63
|
+
const invalid = { bar: false };
|
|
64
|
+
expect(skill.context.assess(valid)).toBe(true);
|
|
65
|
+
expect(skill.context.assess(invalid)).toBe(false);
|
|
66
|
+
});
|
|
67
|
+
(0, test_fns_1.then)('its thread instantiation should return the correct output', async () => {
|
|
68
|
+
const result = await skill.threads.instantiate({ foo: 'hi' });
|
|
69
|
+
expect(result.caller).toBeDefined();
|
|
70
|
+
expect(result.caller.context.stash.foo).toBe('hi');
|
|
71
|
+
});
|
|
72
|
+
(0, test_fns_1.then)('its context instantiation should return the correct output', async () => {
|
|
73
|
+
const ctx = await skill.context.instantiate({ bar: 'baz' });
|
|
74
|
+
expect(ctx.log);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=genRoleSkill.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genRoleSkill.test.js","sourceRoot":"","sources":["../../../src/logic/role/genRoleSkill.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.invokeImagineStitcher = void 0;
|
|
4
|
+
const uni_time_1 = require("@ehmpathy/uni-time");
|
|
4
5
|
/**
|
|
5
6
|
* .what = invokes the imagine stitcher by invocation of stitcher mechanisms
|
|
6
7
|
*/
|
|
7
8
|
const invokeImagineStitcher = async (input, context) => {
|
|
8
9
|
const { stitcher, threads } = input;
|
|
10
|
+
// todo: generalize logs
|
|
11
|
+
const beganAt = (0, uni_time_1.asUniDateTime)(new Date());
|
|
12
|
+
console.log(`🧠 imagine.began:${input.stitcher.slug}`, { beganAt });
|
|
9
13
|
// enprompt the thread
|
|
10
14
|
const prompt = await stitcher.enprompt({ threads });
|
|
11
15
|
// invoke the imagination
|
|
@@ -16,6 +20,15 @@ const invokeImagineStitcher = async (input, context) => {
|
|
|
16
20
|
promptIn: prompt,
|
|
17
21
|
promptOut: imagined,
|
|
18
22
|
});
|
|
23
|
+
// todo: generalize logs
|
|
24
|
+
const endedAt = (0, uni_time_1.asUniDateTime)(new Date());
|
|
25
|
+
const duration = (0, uni_time_1.getDuration)({
|
|
26
|
+
of: { range: { since: beganAt, until: endedAt } },
|
|
27
|
+
});
|
|
28
|
+
console.log(`🧠 imagine.ended:${input.stitcher.slug}`, {
|
|
29
|
+
endedAt,
|
|
30
|
+
duration,
|
|
31
|
+
});
|
|
19
32
|
// expose the stitch
|
|
20
33
|
return stitch;
|
|
21
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokeImagineStitcher.js","sourceRoot":"","sources":["../../../src/logic/stitch/invokeImagineStitcher.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"invokeImagineStitcher.js","sourceRoot":"","sources":["../../../src/logic/stitch/invokeImagineStitcher.ts"],"names":[],"mappings":";;;AAAA,iDAAgE;AAMhE;;GAEG;AACI,MAAM,qBAAqB,GAAG,KAAK,EACxC,KAGC,EACD,OAA6B,EACmC,EAAE;IAClE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEpC,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpE,sBAAsB;IACtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpD,yBAAyB;IACzB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzD,8BAA8B;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC/B,OAAO;QACP,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC;QAC3B,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;KAClD,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;QACrD,OAAO;QACP,QAAQ;KACT,CAAC,CAAC;IAEH,oBAAoB;IACpB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAtCW,QAAA,qBAAqB,yBAsChC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "rhachet",
|
|
3
3
|
"author": "ehmpathy",
|
|
4
4
|
"description": "A framework for reliable, thorough thought. Weave threads of thought via stitches.",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.4.0",
|
|
6
6
|
"repository": "ehmpathy/rhachet",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/rhachet",
|
|
8
8
|
"keywords": [
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"helpful-errors": "1.3.8",
|
|
60
60
|
"openai": "5.8.2",
|
|
61
61
|
"rhachet-artifact": "1.0.0",
|
|
62
|
-
"rhachet-artifact-git": "1.0.
|
|
62
|
+
"rhachet-artifact-git": "1.0.2",
|
|
63
63
|
"serde-fns": "1.3.0",
|
|
64
64
|
"test-fns": "1.5.0",
|
|
65
65
|
"type-fns": "1.19.0",
|