lua-cli 3.14.1 → 3.15.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/api/agent.api.service.d.ts +12 -0
- package/dist/api/agent.api.service.d.ts.map +1 -1
- package/dist/api/agent.api.service.js +13 -0
- package/dist/api/agent.api.service.js.map +1 -1
- package/dist/api/http.client.d.ts.map +1 -1
- package/dist/api/http.client.js +31 -4
- package/dist/api/http.client.js.map +1 -1
- package/dist/api/persona.api.service.d.ts +3 -2
- package/dist/api/persona.api.service.d.ts.map +1 -1
- package/dist/api/persona.api.service.js +1 -1
- package/dist/api/persona.api.service.js.map +1 -1
- package/dist/api/postprocessor.api.service.d.ts +3 -0
- package/dist/api/postprocessor.api.service.d.ts.map +1 -1
- package/dist/api/postprocessor.api.service.js.map +1 -1
- package/dist/api/preprocessor.api.service.d.ts +4 -0
- package/dist/api/preprocessor.api.service.d.ts.map +1 -1
- package/dist/api/preprocessor.api.service.js +1 -0
- package/dist/api/preprocessor.api.service.js.map +1 -1
- package/dist/api-exports.d.ts +2 -1
- package/dist/api-exports.d.ts.map +1 -1
- package/dist/api-exports.js.map +1 -1
- package/dist/cli/command-definitions.d.ts.map +1 -1
- package/dist/cli/command-definitions.js +10 -0
- package/dist/cli/command-definitions.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +255 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/persona.d.ts.map +1 -1
- package/dist/commands/persona.js +3 -2
- package/dist/commands/persona.js.map +1 -1
- package/dist/commands/production.d.ts.map +1 -1
- package/dist/commands/production.js +8 -2
- package/dist/commands/production.js.map +1 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +7 -3
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +3 -2
- package/dist/commands/sync.js.map +1 -1
- package/dist/compiler/plugins/agent.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/agent.plugin.js +10 -5
- package/dist/compiler/plugins/agent.plugin.js.map +1 -1
- package/dist/compiler/plugins/postprocessor.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/postprocessor.plugin.js +8 -2
- package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -1
- package/dist/compiler/plugins/preprocessor.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/preprocessor.plugin.js +6 -3
- package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -1
- package/dist/compiler/plugins/skill.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/skill.plugin.js +6 -2
- package/dist/compiler/plugins/skill.plugin.js.map +1 -1
- package/dist/compiler/source-writer.d.ts +13 -8
- package/dist/compiler/source-writer.d.ts.map +1 -1
- package/dist/compiler/source-writer.js +24 -12
- package/dist/compiler/source-writer.js.map +1 -1
- package/dist/compiler/types.d.ts +11 -5
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/compiler/types.js.map +1 -1
- package/dist/compiler/utils/ast-helpers.d.ts +11 -0
- package/dist/compiler/utils/ast-helpers.d.ts.map +1 -1
- package/dist/compiler/utils/ast-helpers.js +27 -0
- package/dist/compiler/utils/ast-helpers.js.map +1 -1
- package/dist/errors/auth.error.d.ts +19 -1
- package/dist/errors/auth.error.d.ts.map +1 -1
- package/dist/errors/auth.error.js +4 -1
- package/dist/errors/auth.error.js.map +1 -1
- package/dist/interfaces/agent.d.ts +34 -4
- package/dist/interfaces/agent.d.ts.map +1 -1
- package/dist/interfaces/chat.d.ts +2 -1
- package/dist/interfaces/chat.d.ts.map +1 -1
- package/dist/interfaces/init.d.ts +3 -2
- package/dist/interfaces/init.d.ts.map +1 -1
- package/dist/interfaces/persona.d.ts +2 -1
- package/dist/interfaces/persona.d.ts.map +1 -1
- package/dist/interfaces/skills.d.ts +4 -3
- package/dist/interfaces/skills.d.ts.map +1 -1
- package/dist/primitives/agent.handler.d.ts +3 -3
- package/dist/primitives/agent.handler.d.ts.map +1 -1
- package/dist/primitives/agent.handler.js +15 -1
- package/dist/primitives/agent.handler.js.map +1 -1
- package/dist/primitives/postprocessor.handler.d.ts +5 -0
- package/dist/primitives/postprocessor.handler.d.ts.map +1 -1
- package/dist/primitives/postprocessor.handler.js +13 -0
- package/dist/primitives/postprocessor.handler.js.map +1 -1
- package/dist/primitives/preprocessor.handler.d.ts +2 -2
- package/dist/primitives/preprocessor.handler.d.ts.map +1 -1
- package/dist/primitives/preprocessor.handler.js +3 -2
- package/dist/primitives/preprocessor.handler.js.map +1 -1
- package/dist/primitives/skill.handler.d.ts.map +1 -1
- package/dist/primitives/skill.handler.js +8 -2
- package/dist/primitives/skill.handler.js.map +1 -1
- package/dist/services/auth.d.ts.map +1 -1
- package/dist/services/auth.js +4 -1
- package/dist/services/auth.js.map +1 -1
- package/dist/services/sandbox.service.d.ts +2 -1
- package/dist/services/sandbox.service.d.ts.map +1 -1
- package/dist/services/sandbox.service.js.map +1 -1
- package/dist/types/skill.d.ts +12 -3
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/types/skill.js +17 -0
- package/dist/types/skill.js.map +1 -1
- package/dist/utils/artifact-loader.d.ts +2 -1
- package/dist/utils/artifact-loader.d.ts.map +1 -1
- package/dist/utils/artifact-loader.js.map +1 -1
- package/dist/utils/backup-helpers.d.ts.map +1 -1
- package/dist/utils/backup-helpers.js +12 -2
- package/dist/utils/backup-helpers.js.map +1 -1
- package/dist/utils/cli.d.ts.map +1 -1
- package/dist/utils/cli.js +34 -1
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/init-agent.d.ts +2 -1
- package/dist/utils/init-agent.d.ts.map +1 -1
- package/dist/utils/init-agent.js.map +1 -1
- package/dist/utils/init-helpers.d.ts +2 -1
- package/dist/utils/init-helpers.d.ts.map +1 -1
- package/dist/utils/init-helpers.js +3 -1
- package/dist/utils/init-helpers.js.map +1 -1
- package/dist/utils/init-prompts.d.ts +20 -1
- package/dist/utils/init-prompts.d.ts.map +1 -1
- package/dist/utils/init-prompts.js +88 -0
- package/dist/utils/init-prompts.js.map +1 -1
- package/dist/utils/sync-display.d.ts +2 -1
- package/dist/utils/sync-display.d.ts.map +1 -1
- package/dist/utils/sync-display.js +5 -1
- package/dist/utils/sync-display.js.map +1 -1
- package/dist/utils/sync-fetch.d.ts +6 -4
- package/dist/utils/sync-fetch.d.ts.map +1 -1
- package/dist/utils/sync-fetch.js +31 -1
- package/dist/utils/sync-fetch.js.map +1 -1
- package/docs/api/LuaAgent.md +21 -3
- package/docs/api/LuaSkill.md +22 -4
- package/node_modules/@lua/shared-types/dist/index.d.mts +57 -1
- package/node_modules/@lua/shared-types/dist/index.d.ts +57 -1
- package/node_modules/@lua/shared-types/dist/index.js +65 -2
- package/node_modules/@lua/shared-types/dist/index.mjs +59 -1
- package/node_modules/@lua/shared-types/src/index.ts +1 -0
- package/node_modules/@lua/shared-types/src/persona-text.type.ts +92 -0
- package/package.json +1 -1
- package/template/package.json +1 -1
package/dist/utils/sync-fetch.js
CHANGED
|
@@ -23,10 +23,40 @@ function normalizeForComparison(str) {
|
|
|
23
23
|
.replace(/\r\n/g, '\n')
|
|
24
24
|
.replace(/\r/g, '\n');
|
|
25
25
|
}
|
|
26
|
+
function canonicalizeForm(value) {
|
|
27
|
+
if (value === null)
|
|
28
|
+
return 'null';
|
|
29
|
+
// Normalize strings the same way on both branches so the canonical form
|
|
30
|
+
// stays internally consistent — a server string with CRLF endings vs. a
|
|
31
|
+
// local string with LF endings should canonicalize identically.
|
|
32
|
+
if (typeof value === 'string')
|
|
33
|
+
return normalizeForComparison(value);
|
|
34
|
+
const keys = Object.keys(value).sort();
|
|
35
|
+
return JSON.stringify(keys.reduce((obj, key) => {
|
|
36
|
+
const k = key;
|
|
37
|
+
obj[k] = typeof value[k] === 'string' ? normalizeForComparison(value[k]) : value[k];
|
|
38
|
+
return obj;
|
|
39
|
+
}, {}));
|
|
40
|
+
}
|
|
26
41
|
export function comparePersona(serverPersona, localPersona) {
|
|
27
42
|
if (serverPersona === null)
|
|
28
43
|
return false;
|
|
29
|
-
|
|
44
|
+
const serverCanonical = canonicalizeForm(serverPersona);
|
|
45
|
+
const localCanonical = canonicalizeForm(localPersona);
|
|
46
|
+
if (typeof serverPersona === 'string' && typeof localPersona === 'string') {
|
|
47
|
+
return normalizeForComparison(serverPersona) !== normalizeForComparison(localPersona);
|
|
48
|
+
}
|
|
49
|
+
return serverCanonical !== localCanonical;
|
|
50
|
+
}
|
|
51
|
+
export function compareSkillContext(serverContext, localContext) {
|
|
52
|
+
if (serverContext === null)
|
|
53
|
+
return false;
|
|
54
|
+
const serverCanonical = canonicalizeForm(serverContext);
|
|
55
|
+
const localCanonical = canonicalizeForm(localContext);
|
|
56
|
+
if (typeof serverContext === 'string' && typeof localContext === 'string') {
|
|
57
|
+
return normalizeForComparison(serverContext) !== normalizeForComparison(localContext);
|
|
58
|
+
}
|
|
59
|
+
return serverCanonical !== localCanonical;
|
|
30
60
|
}
|
|
31
61
|
export async function fetchServerPersona(apiKey, agentId) {
|
|
32
62
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-fetch.js","sourceRoot":"","sources":["../../src/utils/sync-fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-fetch.js","sourceRoot":"","sources":["../../src/utils/sync-fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAgBvE,SAAS,sBAAsB,CAAC,GAAW;IACzC,OAAO,GAAG;SACP,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA4C;IACpE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,wEAAwE;IACxE,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAwB,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,GAAyB,CAAC;QACpC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,aAAiC,EAAE,YAAyB;IACzF,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,eAAe,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,sBAAsB,CAAC,aAAa,CAAC,KAAK,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,eAAe,KAAK,cAAc,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAAsC,EAAE,YAA8B;IACxG,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,eAAe,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,sBAAsB,CAAC,aAAa,CAAC,KAAK,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,eAAe,KAAK,cAAc,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,yBAAyB,EAAE,CAAC;QACrE,IAAI,eAAe,EAAE,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAe;IACrE,MAAM,YAAY,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,EAAE,YAAY,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,UAAU,EAAE,OAAO,IAAI,IAAI;QAC1C,YAAY;QACZ,aAAa,EAAE,UAAU,EAAE,OAAO;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAe;IACpE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAAe;IACnE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,OAAe,EACf,eAA4C;IAE5C,MAAM,SAAS,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;IACvC,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,CAAC,KAAK,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC1F,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnD,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAe;IACpE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,sCAAsC;IACvE,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,+CAA+C;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,OAAe,EACf,eAA4C;IAE5C,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxG,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;IACpD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,KAAK,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5F,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;AAC1E,CAAC;AA4DD,yEAAyE;AACzE,SAAS,oBAAoB,CAAC,QAA8B,EAAE,eAA+B;IAC3F,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,CAAC;QAChG,IAAI,KAAK,EAAE,OAAO;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC3C,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,YAAY,EAAE,OAAO;QAAE,OAAO,YAAY,CAAC,OAAO,CAAC;IACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;AACxD,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,OAAe;IACzE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9G,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACtC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAC1C,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClC,eAAe,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACpD,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACtD,YAAY,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAC/C,CAAC,CAAC;IAEH,MAAM,MAAM,GACV,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM;QAC1C,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAgC,CAAC;SACxE,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,QAAQ,GACZ,WAAW,EAAE,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ;QAChD,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAgC,EAAE,CAAC,CAAC,eAAe,CAAC;SAC3F,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,IAAI,GACR,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI;QACpC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAgC,EAAE,CAAC,CAAC,eAAe,CAAC;SAC3F,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,aAAa,GACjB,gBAAgB,EAAE,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,aAAa;QAC/D,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAgC,EAAE,CAAC,CAAC,eAAe,CAAC;SAC3F,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,cAAc,GAClB,iBAAiB,EAAE,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,cAAc;QAClE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAgC,EAAE,CAAC,CAAC,eAAe,CAAC;SAC3F,CAAC,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IAET,yFAAyF;IACzF,oFAAoF;IACpF,MAAM,UAAU,GACd,aAAa,EAAE,OAAO,IAAI,aAAa,CAAC,IAAI;QAC1C,CAAC,CAAC,aAAa,CAAC,IAAI;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAgC,EAChC,UAAoF,EACpF,WAA8E;IAE9E,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI;gBACJ,MAAM,EAAE,mBAAmB;gBAC3B,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI;gBACJ,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,QAAQ,EAAE,UAAU,CAAC,EAAE;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI;gBACJ,MAAM,EAAE,iBAAiB;gBACzB,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,QAAQ,EAAE,UAAU,CAAC,EAAE;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAe,EACf,WAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAyB;QAClC,GAAG,iBAAiB,CAClB,OAAO,EACP,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAClG,MAAM,CAAC,MAAM,CACd;QACD,GAAG,iBAAiB,CAClB,SAAS,EACT,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EACtG,MAAM,CAAC,QAAQ,CAChB;QACD,GAAG,iBAAiB,CAClB,KAAK,EACL,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAC9F,MAAM,CAAC,IAAI,CACZ;QACD,GAAG,iBAAiB,CAClB,cAAc,EACd,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAChH,MAAM,CAAC,aAAa,CACrB;QACD,GAAG,iBAAiB,CAClB,eAAe,EACf,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,eAAe;SAC5B,CAAC,CAAC,EACH,MAAM,CAAC,cAAc,CACtB;QACD,GAAG,iBAAiB,CAClB,WAAW,EACX,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EACrG,MAAM,CAAC,UAAU,CAClB;KACF,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AAC/C,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,OAAe,EACf,eAA4C;IAE5C,MAAM,eAAe,GAAG,kBAAkB,EAAE,IAAI,IAAI,CAAC;IACrD,MAAM,KAAK,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxG,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,cAAc;IAE/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAC/D,CAAC"}
|
package/docs/api/LuaAgent.md
CHANGED
|
@@ -24,7 +24,7 @@ interface LuaAgentConfig {
|
|
|
24
24
|
name: string;
|
|
25
25
|
|
|
26
26
|
/** Agent persona - defines behavior and personality */
|
|
27
|
-
persona: string;
|
|
27
|
+
persona: string | { base?: string; voice?: string; text?: string };
|
|
28
28
|
|
|
29
29
|
/** AI model to use - static string or dynamic resolver function (v3.6.0+) */
|
|
30
30
|
model?: string | ((request: LuaRequest) => string | Promise<string>);
|
|
@@ -58,8 +58,8 @@ class LuaAgent {
|
|
|
58
58
|
- **Example:** `'customer-support-agent'`, `'sales-assistant'`
|
|
59
59
|
|
|
60
60
|
### `persona` (required)
|
|
61
|
-
- **Type:** `string`
|
|
62
|
-
- **Description:** Defines the agent's personality, behavior, tone, and capabilities
|
|
61
|
+
- **Type:** `string | { base?: string; voice?: string; text?: string }`
|
|
62
|
+
- **Description:** Defines the agent's personality, behavior, tone, and capabilities. Can be a simple string (applies everywhere) or an object with channel-specific instructions.
|
|
63
63
|
- **Should Include:**
|
|
64
64
|
- Who the agent is
|
|
65
65
|
- What role they play
|
|
@@ -67,6 +67,24 @@ class LuaAgent {
|
|
|
67
67
|
- What they can and cannot do
|
|
68
68
|
- Any specific behaviors or rules
|
|
69
69
|
|
|
70
|
+
**Channel-aware persona (advanced):** You can pass an object with `base`, `voice`, and `text` keys to give the agent different instructions on different channels. `base` is always rendered. `voice` is appended on voice calls; `text` is appended on text channels (web, WhatsApp, SMS). Both are optional. By default a single string works on every channel — only reach for the object form when you have a measurably different persona need on voice vs text.
|
|
71
|
+
|
|
72
|
+
**Examples:**
|
|
73
|
+
|
|
74
|
+
Simple string (applies everywhere):
|
|
75
|
+
```typescript
|
|
76
|
+
persona: 'You are a friendly customer support agent. Be patient and professional.'
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Channel-aware object (recommended for multi-channel agents):
|
|
80
|
+
```typescript
|
|
81
|
+
persona: {
|
|
82
|
+
base: 'You are a helpful customer support agent.',
|
|
83
|
+
voice: 'Keep responses concise and conversational for voice calls.',
|
|
84
|
+
text: 'You can use longer explanations and formatting in text channels.'
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
70
88
|
### `model` (optional, v3.6.0+)
|
|
71
89
|
- **Type:** `string | ((request: LuaRequest) => string | Promise<string>)`
|
|
72
90
|
- **Description:** AI model to use for this agent. Can be a static string (`'provider/model'`) or a resolver function that dynamically selects the model per request.
|
package/docs/api/LuaSkill.md
CHANGED
|
@@ -30,7 +30,7 @@ interface LuaSkillConfig {
|
|
|
30
30
|
description: string;
|
|
31
31
|
|
|
32
32
|
/** Detailed context for when to use these tools */
|
|
33
|
-
context: string;
|
|
33
|
+
context: string | { base?: string; voice?: string; text?: string };
|
|
34
34
|
|
|
35
35
|
/** Array of tools to include */
|
|
36
36
|
tools?: LuaTool[];
|
|
@@ -51,9 +51,27 @@ interface LuaSkillConfig {
|
|
|
51
51
|
- **Best Practice:** 1-2 sentences, clear and concise
|
|
52
52
|
|
|
53
53
|
### `context` (required)
|
|
54
|
-
- **Type:** `string`
|
|
55
|
-
- **Description:** Detailed guidance for the AI on when/how to use these tools
|
|
56
|
-
- **Best Practice:** Include use cases, examples, and boundaries
|
|
54
|
+
- **Type:** `string | { base?: string; voice?: string; text?: string }`
|
|
55
|
+
- **Description:** Detailed guidance for the AI on when/how to use these tools. Can be a simple string (applies everywhere) or an object with channel-specific instructions.
|
|
56
|
+
- **Best Practice:** Include use cases, examples, and boundaries. Start with a simple string; only use the object form if you need different tool guidance on voice vs text.
|
|
57
|
+
|
|
58
|
+
**Channel-aware context (advanced):** You can pass an object with `base`, `voice`, and `text` keys to guide tool usage differently by channel. `base` is always rendered. `voice` is appended on voice calls; `text` is appended on text channels (web, WhatsApp, SMS). Both are optional.
|
|
59
|
+
|
|
60
|
+
**Examples:**
|
|
61
|
+
|
|
62
|
+
Simple string (applies everywhere):
|
|
63
|
+
```typescript
|
|
64
|
+
context: 'Use these payment tools to help customers complete transactions. Always confirm amounts before processing.'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Channel-aware object (for channel-specific tool guidance):
|
|
68
|
+
```typescript
|
|
69
|
+
context: {
|
|
70
|
+
base: 'Use these payment tools to help customers complete transactions.',
|
|
71
|
+
voice: 'Keep payment guidance brief and conversational. Ask verbally to confirm amounts.',
|
|
72
|
+
text: 'Provide detailed payment instructions with step-by-step guidance. Display amounts clearly.'
|
|
73
|
+
}
|
|
74
|
+
```
|
|
57
75
|
|
|
58
76
|
### `tools` (optional)
|
|
59
77
|
- **Type:** `LuaTool[]`
|
|
@@ -7,6 +7,62 @@ import { FinishReason, LanguageModelUsage, ReasoningOutput, CallWarning, UserCon
|
|
|
7
7
|
*/
|
|
8
8
|
type Channel = 'web' | 'meeting' | 'whatsapp' | 'facebook' | 'instagram' | 'slack' | 'teams' | 'messagebird' | 'front' | 'api' | 'dev' | 'email' | 'rcs' | 'sms' | 'mms' | 'device' | string;
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Polymorphic shape used by `LuaAgent.persona`. String form is the legacy
|
|
12
|
+
* single-channel persona; object form lets the customer split prose per
|
|
13
|
+
* channel (`base` always rendered; `voice` appended on voice; `text`
|
|
14
|
+
* appended on text channels).
|
|
15
|
+
*/
|
|
16
|
+
type PersonaText = string | {
|
|
17
|
+
base?: string;
|
|
18
|
+
voice?: string;
|
|
19
|
+
text?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Same shape as `PersonaText`, exported separately because skill `context`
|
|
23
|
+
* and agent `persona` play different semantic roles. Sharing the structural
|
|
24
|
+
* shape today keeps the runtime lean; future divergence is a one-line change.
|
|
25
|
+
*/
|
|
26
|
+
type SkillContextText = string | {
|
|
27
|
+
base?: string;
|
|
28
|
+
voice?: string;
|
|
29
|
+
text?: string;
|
|
30
|
+
};
|
|
31
|
+
declare function isPersonaTextObject(value: unknown): value is {
|
|
32
|
+
base?: string;
|
|
33
|
+
voice?: string;
|
|
34
|
+
text?: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Flatten `PersonaText` or `SkillContextText` to a plain string suitable for
|
|
38
|
+
* LLM prompt injection. `base` is always emitted; `voice` is appended on
|
|
39
|
+
* voice channels and `text` on text channels. Strict — missing channel keys
|
|
40
|
+
* render nothing (no cross-channel fallback).
|
|
41
|
+
*/
|
|
42
|
+
declare function flattenPersonaText(input: PersonaText | SkillContextText | null | undefined, isVoice?: boolean): string;
|
|
43
|
+
/**
|
|
44
|
+
* Channel-agnostic flatten — concatenates every non-empty channel's content
|
|
45
|
+
* (base + voice + text) for paths that aren't a render-time prompt injection,
|
|
46
|
+
* e.g. AI persona enhancement (storytelling, instructions, website-derived).
|
|
47
|
+
* Use this whenever the call has no channel context but still wants the full
|
|
48
|
+
* persona content — `flattenPersonaText` would silently drop voice or text
|
|
49
|
+
* branches because it defaults to text-channel rendering.
|
|
50
|
+
*/
|
|
51
|
+
declare function flattenPersonaTextAll(input: PersonaText | SkillContextText | null | undefined): string;
|
|
52
|
+
/**
|
|
53
|
+
* True when the persona has ANY non-empty content on any channel. Used at
|
|
54
|
+
* push/skip boundaries where channel context is not yet known.
|
|
55
|
+
*/
|
|
56
|
+
declare function hasPersonaTextContent(input: PersonaText | SkillContextText | null | undefined): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Convert a PersonaText into a TypeScript source-code literal suitable
|
|
59
|
+
* for ts-morph setInitializer or template rendering.
|
|
60
|
+
*
|
|
61
|
+
* - String form → `"..."` (double-quoted) or template literal (when newlines present)
|
|
62
|
+
* - Object form → `{ base: ..., voice: ..., text: ... }` with same per-key rule
|
|
63
|
+
*/
|
|
64
|
+
declare function personaToLiteral(persona: PersonaText): string;
|
|
65
|
+
|
|
10
66
|
/**
|
|
11
67
|
* MIME types supported by Unstructured.io for document text extraction.
|
|
12
68
|
* Source: https://docs.unstructured.io/api-reference/supported-file-types
|
|
@@ -470,4 +526,4 @@ interface ChatErrorChunk {
|
|
|
470
526
|
timestamp: number;
|
|
471
527
|
}
|
|
472
528
|
|
|
473
|
-
export { AGENT_LOG_SOURCES, type AgentInvocationInput, type AgentInvocationOutput, type AgentLogMetadata, type AgentLogSource, type AiGenerateInput, type AiGenerateOutput, type AiGenerateSource, type AiGenerateToolCall, type AiGenerateToolResult, type ApprovedModelDef, type BatchingConfig, CLIENT_TOOLS_MAX, CLIENT_TOOL_PREFIX, type CachedDeviceCommand, type CachedDeviceDefinition, type CachedDeviceTrigger, type CachedDeviceTriggerDefinition, type Channel, type ChatErrorChunk, type ClientToolDef, type CommandHashData, type CommandState, type CommandStreamEntry, type DeviceCommandDefinition, type DeviceCommandMessage, type DeviceInfo, type DeviceResponseMessage, type DeviceStatus, type DeviceTriggerAckMessage, type DeviceTriggerMessage, type GovernanceConfig, REQUIRED_ENUMS, REQUIRED_NESTED_APIS, REQUIRED_PLATFORM_APIS, REQUIRED_PRIMITIVE_SHIMS, REQUIRED_UTILITIES, type ResponseStreamEntry, type TriggerStreamEntry, UNSTRUCTURED_SUPPORTED_MEDIA_TYPES, aiGenerateInputFromSimplified, buildDefaultPersona };
|
|
529
|
+
export { AGENT_LOG_SOURCES, type AgentInvocationInput, type AgentInvocationOutput, type AgentLogMetadata, type AgentLogSource, type AiGenerateInput, type AiGenerateOutput, type AiGenerateSource, type AiGenerateToolCall, type AiGenerateToolResult, type ApprovedModelDef, type BatchingConfig, CLIENT_TOOLS_MAX, CLIENT_TOOL_PREFIX, type CachedDeviceCommand, type CachedDeviceDefinition, type CachedDeviceTrigger, type CachedDeviceTriggerDefinition, type Channel, type ChatErrorChunk, type ClientToolDef, type CommandHashData, type CommandState, type CommandStreamEntry, type DeviceCommandDefinition, type DeviceCommandMessage, type DeviceInfo, type DeviceResponseMessage, type DeviceStatus, type DeviceTriggerAckMessage, type DeviceTriggerMessage, type GovernanceConfig, type PersonaText, REQUIRED_ENUMS, REQUIRED_NESTED_APIS, REQUIRED_PLATFORM_APIS, REQUIRED_PRIMITIVE_SHIMS, REQUIRED_UTILITIES, type ResponseStreamEntry, type SkillContextText, type TriggerStreamEntry, UNSTRUCTURED_SUPPORTED_MEDIA_TYPES, aiGenerateInputFromSimplified, buildDefaultPersona, flattenPersonaText, flattenPersonaTextAll, hasPersonaTextContent, isPersonaTextObject, personaToLiteral };
|
|
@@ -7,6 +7,62 @@ import { FinishReason, LanguageModelUsage, ReasoningOutput, CallWarning, UserCon
|
|
|
7
7
|
*/
|
|
8
8
|
type Channel = 'web' | 'meeting' | 'whatsapp' | 'facebook' | 'instagram' | 'slack' | 'teams' | 'messagebird' | 'front' | 'api' | 'dev' | 'email' | 'rcs' | 'sms' | 'mms' | 'device' | string;
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Polymorphic shape used by `LuaAgent.persona`. String form is the legacy
|
|
12
|
+
* single-channel persona; object form lets the customer split prose per
|
|
13
|
+
* channel (`base` always rendered; `voice` appended on voice; `text`
|
|
14
|
+
* appended on text channels).
|
|
15
|
+
*/
|
|
16
|
+
type PersonaText = string | {
|
|
17
|
+
base?: string;
|
|
18
|
+
voice?: string;
|
|
19
|
+
text?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Same shape as `PersonaText`, exported separately because skill `context`
|
|
23
|
+
* and agent `persona` play different semantic roles. Sharing the structural
|
|
24
|
+
* shape today keeps the runtime lean; future divergence is a one-line change.
|
|
25
|
+
*/
|
|
26
|
+
type SkillContextText = string | {
|
|
27
|
+
base?: string;
|
|
28
|
+
voice?: string;
|
|
29
|
+
text?: string;
|
|
30
|
+
};
|
|
31
|
+
declare function isPersonaTextObject(value: unknown): value is {
|
|
32
|
+
base?: string;
|
|
33
|
+
voice?: string;
|
|
34
|
+
text?: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Flatten `PersonaText` or `SkillContextText` to a plain string suitable for
|
|
38
|
+
* LLM prompt injection. `base` is always emitted; `voice` is appended on
|
|
39
|
+
* voice channels and `text` on text channels. Strict — missing channel keys
|
|
40
|
+
* render nothing (no cross-channel fallback).
|
|
41
|
+
*/
|
|
42
|
+
declare function flattenPersonaText(input: PersonaText | SkillContextText | null | undefined, isVoice?: boolean): string;
|
|
43
|
+
/**
|
|
44
|
+
* Channel-agnostic flatten — concatenates every non-empty channel's content
|
|
45
|
+
* (base + voice + text) for paths that aren't a render-time prompt injection,
|
|
46
|
+
* e.g. AI persona enhancement (storytelling, instructions, website-derived).
|
|
47
|
+
* Use this whenever the call has no channel context but still wants the full
|
|
48
|
+
* persona content — `flattenPersonaText` would silently drop voice or text
|
|
49
|
+
* branches because it defaults to text-channel rendering.
|
|
50
|
+
*/
|
|
51
|
+
declare function flattenPersonaTextAll(input: PersonaText | SkillContextText | null | undefined): string;
|
|
52
|
+
/**
|
|
53
|
+
* True when the persona has ANY non-empty content on any channel. Used at
|
|
54
|
+
* push/skip boundaries where channel context is not yet known.
|
|
55
|
+
*/
|
|
56
|
+
declare function hasPersonaTextContent(input: PersonaText | SkillContextText | null | undefined): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Convert a PersonaText into a TypeScript source-code literal suitable
|
|
59
|
+
* for ts-morph setInitializer or template rendering.
|
|
60
|
+
*
|
|
61
|
+
* - String form → `"..."` (double-quoted) or template literal (when newlines present)
|
|
62
|
+
* - Object form → `{ base: ..., voice: ..., text: ... }` with same per-key rule
|
|
63
|
+
*/
|
|
64
|
+
declare function personaToLiteral(persona: PersonaText): string;
|
|
65
|
+
|
|
10
66
|
/**
|
|
11
67
|
* MIME types supported by Unstructured.io for document text extraction.
|
|
12
68
|
* Source: https://docs.unstructured.io/api-reference/supported-file-types
|
|
@@ -470,4 +526,4 @@ interface ChatErrorChunk {
|
|
|
470
526
|
timestamp: number;
|
|
471
527
|
}
|
|
472
528
|
|
|
473
|
-
export { AGENT_LOG_SOURCES, type AgentInvocationInput, type AgentInvocationOutput, type AgentLogMetadata, type AgentLogSource, type AiGenerateInput, type AiGenerateOutput, type AiGenerateSource, type AiGenerateToolCall, type AiGenerateToolResult, type ApprovedModelDef, type BatchingConfig, CLIENT_TOOLS_MAX, CLIENT_TOOL_PREFIX, type CachedDeviceCommand, type CachedDeviceDefinition, type CachedDeviceTrigger, type CachedDeviceTriggerDefinition, type Channel, type ChatErrorChunk, type ClientToolDef, type CommandHashData, type CommandState, type CommandStreamEntry, type DeviceCommandDefinition, type DeviceCommandMessage, type DeviceInfo, type DeviceResponseMessage, type DeviceStatus, type DeviceTriggerAckMessage, type DeviceTriggerMessage, type GovernanceConfig, REQUIRED_ENUMS, REQUIRED_NESTED_APIS, REQUIRED_PLATFORM_APIS, REQUIRED_PRIMITIVE_SHIMS, REQUIRED_UTILITIES, type ResponseStreamEntry, type TriggerStreamEntry, UNSTRUCTURED_SUPPORTED_MEDIA_TYPES, aiGenerateInputFromSimplified, buildDefaultPersona };
|
|
529
|
+
export { AGENT_LOG_SOURCES, type AgentInvocationInput, type AgentInvocationOutput, type AgentLogMetadata, type AgentLogSource, type AiGenerateInput, type AiGenerateOutput, type AiGenerateSource, type AiGenerateToolCall, type AiGenerateToolResult, type ApprovedModelDef, type BatchingConfig, CLIENT_TOOLS_MAX, CLIENT_TOOL_PREFIX, type CachedDeviceCommand, type CachedDeviceDefinition, type CachedDeviceTrigger, type CachedDeviceTriggerDefinition, type Channel, type ChatErrorChunk, type ClientToolDef, type CommandHashData, type CommandState, type CommandStreamEntry, type DeviceCommandDefinition, type DeviceCommandMessage, type DeviceInfo, type DeviceResponseMessage, type DeviceStatus, type DeviceTriggerAckMessage, type DeviceTriggerMessage, type GovernanceConfig, type PersonaText, REQUIRED_ENUMS, REQUIRED_NESTED_APIS, REQUIRED_PLATFORM_APIS, REQUIRED_PRIMITIVE_SHIMS, REQUIRED_UTILITIES, type ResponseStreamEntry, type SkillContextText, type TriggerStreamEntry, UNSTRUCTURED_SUPPORTED_MEDIA_TYPES, aiGenerateInputFromSimplified, buildDefaultPersona, flattenPersonaText, flattenPersonaTextAll, hasPersonaTextContent, isPersonaTextObject, personaToLiteral };
|
|
@@ -30,10 +30,68 @@ __export(index_exports, {
|
|
|
30
30
|
REQUIRED_UTILITIES: () => REQUIRED_UTILITIES,
|
|
31
31
|
UNSTRUCTURED_SUPPORTED_MEDIA_TYPES: () => UNSTRUCTURED_SUPPORTED_MEDIA_TYPES,
|
|
32
32
|
aiGenerateInputFromSimplified: () => aiGenerateInputFromSimplified,
|
|
33
|
-
buildDefaultPersona: () => buildDefaultPersona
|
|
33
|
+
buildDefaultPersona: () => buildDefaultPersona,
|
|
34
|
+
flattenPersonaText: () => flattenPersonaText,
|
|
35
|
+
flattenPersonaTextAll: () => flattenPersonaTextAll,
|
|
36
|
+
hasPersonaTextContent: () => hasPersonaTextContent,
|
|
37
|
+
isPersonaTextObject: () => isPersonaTextObject,
|
|
38
|
+
personaToLiteral: () => personaToLiteral
|
|
34
39
|
});
|
|
35
40
|
module.exports = __toCommonJS(index_exports);
|
|
36
41
|
|
|
42
|
+
// src/persona-text.type.ts
|
|
43
|
+
function isPersonaTextObject(value) {
|
|
44
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
45
|
+
const obj = value;
|
|
46
|
+
for (const k of Object.keys(obj)) {
|
|
47
|
+
if (k !== "base" && k !== "voice" && k !== "text") return false;
|
|
48
|
+
if (obj[k] !== void 0 && typeof obj[k] !== "string") return false;
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
__name(isPersonaTextObject, "isPersonaTextObject");
|
|
53
|
+
function flattenPersonaText(input, isVoice = false) {
|
|
54
|
+
if (input == null) return "";
|
|
55
|
+
if (typeof input === "string") return input;
|
|
56
|
+
const parts = [];
|
|
57
|
+
if (input.base) parts.push(input.base);
|
|
58
|
+
const channelText = isVoice ? input.voice : input.text;
|
|
59
|
+
if (channelText) parts.push(channelText);
|
|
60
|
+
return parts.join("\n\n");
|
|
61
|
+
}
|
|
62
|
+
__name(flattenPersonaText, "flattenPersonaText");
|
|
63
|
+
function flattenPersonaTextAll(input) {
|
|
64
|
+
if (input == null) return "";
|
|
65
|
+
if (typeof input === "string") return input;
|
|
66
|
+
const parts = [];
|
|
67
|
+
if (input.base) parts.push(input.base);
|
|
68
|
+
if (input.voice) parts.push(input.voice);
|
|
69
|
+
if (input.text) parts.push(input.text);
|
|
70
|
+
return parts.join("\n\n");
|
|
71
|
+
}
|
|
72
|
+
__name(flattenPersonaTextAll, "flattenPersonaTextAll");
|
|
73
|
+
function hasPersonaTextContent(input) {
|
|
74
|
+
if (input == null) return false;
|
|
75
|
+
if (typeof input === "string") return input.trim().length > 0;
|
|
76
|
+
return Boolean(input.base?.trim() || input.voice?.trim() || input.text?.trim());
|
|
77
|
+
}
|
|
78
|
+
__name(hasPersonaTextContent, "hasPersonaTextContent");
|
|
79
|
+
function personaToLiteral(persona) {
|
|
80
|
+
const formatValue = /* @__PURE__ */ __name((v) => {
|
|
81
|
+
if (v.includes("\n")) {
|
|
82
|
+
return "`" + v.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$") + "`";
|
|
83
|
+
}
|
|
84
|
+
return '"' + v.replace(/\\/g, "\\\\").replace(/"/g, '\\"') + '"';
|
|
85
|
+
}, "formatValue");
|
|
86
|
+
if (typeof persona === "string") return formatValue(persona);
|
|
87
|
+
const parts = [];
|
|
88
|
+
if (persona.base !== void 0) parts.push(`base: ${formatValue(persona.base)}`);
|
|
89
|
+
if (persona.voice !== void 0) parts.push(`voice: ${formatValue(persona.voice)}`);
|
|
90
|
+
if (persona.text !== void 0) parts.push(`text: ${formatValue(persona.text)}`);
|
|
91
|
+
return `{ ${parts.join(", ")} }`;
|
|
92
|
+
}
|
|
93
|
+
__name(personaToLiteral, "personaToLiteral");
|
|
94
|
+
|
|
37
95
|
// src/unstructured-types.ts
|
|
38
96
|
var UNSTRUCTURED_SUPPORTED_MEDIA_TYPES = /* @__PURE__ */ new Set([
|
|
39
97
|
// PDF
|
|
@@ -296,5 +354,10 @@ var AGENT_LOG_SOURCES = [
|
|
|
296
354
|
REQUIRED_UTILITIES,
|
|
297
355
|
UNSTRUCTURED_SUPPORTED_MEDIA_TYPES,
|
|
298
356
|
aiGenerateInputFromSimplified,
|
|
299
|
-
buildDefaultPersona
|
|
357
|
+
buildDefaultPersona,
|
|
358
|
+
flattenPersonaText,
|
|
359
|
+
flattenPersonaTextAll,
|
|
360
|
+
hasPersonaTextContent,
|
|
361
|
+
isPersonaTextObject,
|
|
362
|
+
personaToLiteral
|
|
300
363
|
});
|
|
@@ -1,6 +1,59 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
|
|
4
|
+
// src/persona-text.type.ts
|
|
5
|
+
function isPersonaTextObject(value) {
|
|
6
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
7
|
+
const obj = value;
|
|
8
|
+
for (const k of Object.keys(obj)) {
|
|
9
|
+
if (k !== "base" && k !== "voice" && k !== "text") return false;
|
|
10
|
+
if (obj[k] !== void 0 && typeof obj[k] !== "string") return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
__name(isPersonaTextObject, "isPersonaTextObject");
|
|
15
|
+
function flattenPersonaText(input, isVoice = false) {
|
|
16
|
+
if (input == null) return "";
|
|
17
|
+
if (typeof input === "string") return input;
|
|
18
|
+
const parts = [];
|
|
19
|
+
if (input.base) parts.push(input.base);
|
|
20
|
+
const channelText = isVoice ? input.voice : input.text;
|
|
21
|
+
if (channelText) parts.push(channelText);
|
|
22
|
+
return parts.join("\n\n");
|
|
23
|
+
}
|
|
24
|
+
__name(flattenPersonaText, "flattenPersonaText");
|
|
25
|
+
function flattenPersonaTextAll(input) {
|
|
26
|
+
if (input == null) return "";
|
|
27
|
+
if (typeof input === "string") return input;
|
|
28
|
+
const parts = [];
|
|
29
|
+
if (input.base) parts.push(input.base);
|
|
30
|
+
if (input.voice) parts.push(input.voice);
|
|
31
|
+
if (input.text) parts.push(input.text);
|
|
32
|
+
return parts.join("\n\n");
|
|
33
|
+
}
|
|
34
|
+
__name(flattenPersonaTextAll, "flattenPersonaTextAll");
|
|
35
|
+
function hasPersonaTextContent(input) {
|
|
36
|
+
if (input == null) return false;
|
|
37
|
+
if (typeof input === "string") return input.trim().length > 0;
|
|
38
|
+
return Boolean(input.base?.trim() || input.voice?.trim() || input.text?.trim());
|
|
39
|
+
}
|
|
40
|
+
__name(hasPersonaTextContent, "hasPersonaTextContent");
|
|
41
|
+
function personaToLiteral(persona) {
|
|
42
|
+
const formatValue = /* @__PURE__ */ __name((v) => {
|
|
43
|
+
if (v.includes("\n")) {
|
|
44
|
+
return "`" + v.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$") + "`";
|
|
45
|
+
}
|
|
46
|
+
return '"' + v.replace(/\\/g, "\\\\").replace(/"/g, '\\"') + '"';
|
|
47
|
+
}, "formatValue");
|
|
48
|
+
if (typeof persona === "string") return formatValue(persona);
|
|
49
|
+
const parts = [];
|
|
50
|
+
if (persona.base !== void 0) parts.push(`base: ${formatValue(persona.base)}`);
|
|
51
|
+
if (persona.voice !== void 0) parts.push(`voice: ${formatValue(persona.voice)}`);
|
|
52
|
+
if (persona.text !== void 0) parts.push(`text: ${formatValue(persona.text)}`);
|
|
53
|
+
return `{ ${parts.join(", ")} }`;
|
|
54
|
+
}
|
|
55
|
+
__name(personaToLiteral, "personaToLiteral");
|
|
56
|
+
|
|
4
57
|
// src/unstructured-types.ts
|
|
5
58
|
var UNSTRUCTURED_SUPPORTED_MEDIA_TYPES = /* @__PURE__ */ new Set([
|
|
6
59
|
// PDF
|
|
@@ -262,5 +315,10 @@ export {
|
|
|
262
315
|
REQUIRED_UTILITIES,
|
|
263
316
|
UNSTRUCTURED_SUPPORTED_MEDIA_TYPES,
|
|
264
317
|
aiGenerateInputFromSimplified,
|
|
265
|
-
buildDefaultPersona
|
|
318
|
+
buildDefaultPersona,
|
|
319
|
+
flattenPersonaText,
|
|
320
|
+
flattenPersonaTextAll,
|
|
321
|
+
hasPersonaTextContent,
|
|
322
|
+
isPersonaTextObject,
|
|
323
|
+
personaToLiteral
|
|
266
324
|
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polymorphic shape used by `LuaAgent.persona`. String form is the legacy
|
|
3
|
+
* single-channel persona; object form lets the customer split prose per
|
|
4
|
+
* channel (`base` always rendered; `voice` appended on voice; `text`
|
|
5
|
+
* appended on text channels).
|
|
6
|
+
*/
|
|
7
|
+
export type PersonaText = string | { base?: string; voice?: string; text?: string };
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Same shape as `PersonaText`, exported separately because skill `context`
|
|
11
|
+
* and agent `persona` play different semantic roles. Sharing the structural
|
|
12
|
+
* shape today keeps the runtime lean; future divergence is a one-line change.
|
|
13
|
+
*/
|
|
14
|
+
export type SkillContextText = string | { base?: string; voice?: string; text?: string };
|
|
15
|
+
|
|
16
|
+
export function isPersonaTextObject(value: unknown): value is { base?: string; voice?: string; text?: string } {
|
|
17
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value)) return false;
|
|
18
|
+
const obj = value as Record<string, unknown>;
|
|
19
|
+
for (const k of Object.keys(obj)) {
|
|
20
|
+
if (k !== 'base' && k !== 'voice' && k !== 'text') return false;
|
|
21
|
+
if (obj[k] !== undefined && typeof obj[k] !== 'string') return false;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Flatten `PersonaText` or `SkillContextText` to a plain string suitable for
|
|
28
|
+
* LLM prompt injection. `base` is always emitted; `voice` is appended on
|
|
29
|
+
* voice channels and `text` on text channels. Strict — missing channel keys
|
|
30
|
+
* render nothing (no cross-channel fallback).
|
|
31
|
+
*/
|
|
32
|
+
export function flattenPersonaText(input: PersonaText | SkillContextText | null | undefined, isVoice = false): string {
|
|
33
|
+
if (input == null) return '';
|
|
34
|
+
if (typeof input === 'string') return input;
|
|
35
|
+
const parts: string[] = [];
|
|
36
|
+
if (input.base) parts.push(input.base);
|
|
37
|
+
const channelText = isVoice ? input.voice : input.text;
|
|
38
|
+
if (channelText) parts.push(channelText);
|
|
39
|
+
return parts.join('\n\n');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Channel-agnostic flatten — concatenates every non-empty channel's content
|
|
44
|
+
* (base + voice + text) for paths that aren't a render-time prompt injection,
|
|
45
|
+
* e.g. AI persona enhancement (storytelling, instructions, website-derived).
|
|
46
|
+
* Use this whenever the call has no channel context but still wants the full
|
|
47
|
+
* persona content — `flattenPersonaText` would silently drop voice or text
|
|
48
|
+
* branches because it defaults to text-channel rendering.
|
|
49
|
+
*/
|
|
50
|
+
export function flattenPersonaTextAll(input: PersonaText | SkillContextText | null | undefined): string {
|
|
51
|
+
if (input == null) return '';
|
|
52
|
+
if (typeof input === 'string') return input;
|
|
53
|
+
const parts: string[] = [];
|
|
54
|
+
if (input.base) parts.push(input.base);
|
|
55
|
+
if (input.voice) parts.push(input.voice);
|
|
56
|
+
if (input.text) parts.push(input.text);
|
|
57
|
+
return parts.join('\n\n');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* True when the persona has ANY non-empty content on any channel. Used at
|
|
62
|
+
* push/skip boundaries where channel context is not yet known.
|
|
63
|
+
*/
|
|
64
|
+
export function hasPersonaTextContent(input: PersonaText | SkillContextText | null | undefined): boolean {
|
|
65
|
+
if (input == null) return false;
|
|
66
|
+
if (typeof input === 'string') return input.trim().length > 0;
|
|
67
|
+
return Boolean(input.base?.trim() || input.voice?.trim() || input.text?.trim());
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Convert a PersonaText into a TypeScript source-code literal suitable
|
|
72
|
+
* for ts-morph setInitializer or template rendering.
|
|
73
|
+
*
|
|
74
|
+
* - String form → `"..."` (double-quoted) or template literal (when newlines present)
|
|
75
|
+
* - Object form → `{ base: ..., voice: ..., text: ... }` with same per-key rule
|
|
76
|
+
*/
|
|
77
|
+
export function personaToLiteral(persona: PersonaText): string {
|
|
78
|
+
const formatValue = (v: string): string => {
|
|
79
|
+
if (v.includes('\n')) {
|
|
80
|
+
return '`' + v.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$/g, '\\$') + '`';
|
|
81
|
+
}
|
|
82
|
+
return '"' + v.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"';
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
if (typeof persona === 'string') return formatValue(persona);
|
|
86
|
+
|
|
87
|
+
const parts: string[] = [];
|
|
88
|
+
if (persona.base !== undefined) parts.push(`base: ${formatValue(persona.base)}`);
|
|
89
|
+
if (persona.voice !== undefined) parts.push(`voice: ${formatValue(persona.voice)}`);
|
|
90
|
+
if (persona.text !== undefined) parts.push(`text: ${formatValue(persona.text)}`);
|
|
91
|
+
return `{ ${parts.join(', ')} }`;
|
|
92
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lua-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.15.0",
|
|
4
4
|
"description": "Build, test, and deploy AI agents with custom tools, webhooks, and scheduled jobs. Features LuaAgent unified configuration, streaming chat, and batch deployment.",
|
|
5
5
|
"readmeFilename": "README.md",
|
|
6
6
|
"main": "dist/api-exports.js",
|