phaibel 4.0.35 → 4.0.36

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.
Files changed (56) hide show
  1. package/README.md +26 -31
  2. package/dist/commands/chat.d.ts.map +1 -1
  3. package/dist/commands/chat.js +39 -53
  4. package/dist/commands/chat.js.map +1 -1
  5. package/dist/context/context-tree-serializer.d.ts +8 -0
  6. package/dist/context/context-tree-serializer.d.ts.map +1 -0
  7. package/dist/context/context-tree-serializer.js +150 -0
  8. package/dist/context/context-tree-serializer.js.map +1 -0
  9. package/dist/context/context-tree.d.ts +67 -0
  10. package/dist/context/context-tree.d.ts.map +1 -0
  11. package/dist/context/context-tree.js +207 -0
  12. package/dist/context/context-tree.js.map +1 -0
  13. package/dist/context/scope-classifier.d.ts +9 -0
  14. package/dist/context/scope-classifier.d.ts.map +1 -0
  15. package/dist/context/scope-classifier.js +43 -0
  16. package/dist/context/scope-classifier.js.map +1 -0
  17. package/dist/feral/bootstrap.d.ts.map +1 -1
  18. package/dist/feral/bootstrap.js +9 -1
  19. package/dist/feral/bootstrap.js.map +1 -1
  20. package/dist/feral/catalog/usage-catalog-source.d.ts +7 -0
  21. package/dist/feral/catalog/usage-catalog-source.d.ts.map +1 -0
  22. package/dist/feral/catalog/usage-catalog-source.js +48 -0
  23. package/dist/feral/catalog/usage-catalog-source.js.map +1 -0
  24. package/dist/feral/node-code/data/chart-token-usage-node-code.d.ts +11 -0
  25. package/dist/feral/node-code/data/chart-token-usage-node-code.d.ts.map +1 -0
  26. package/dist/feral/node-code/data/chart-token-usage-node-code.js +130 -0
  27. package/dist/feral/node-code/data/chart-token-usage-node-code.js.map +1 -0
  28. package/dist/feral/node-code/data/query-token-usage-node-code.d.ts +10 -0
  29. package/dist/feral/node-code/data/query-token-usage-node-code.d.ts.map +1 -0
  30. package/dist/feral/node-code/data/query-token-usage-node-code.js +45 -0
  31. package/dist/feral/node-code/data/query-token-usage-node-code.js.map +1 -0
  32. package/dist/llm/providers/claude.d.ts.map +1 -1
  33. package/dist/llm/providers/claude.js +5 -0
  34. package/dist/llm/providers/claude.js.map +1 -1
  35. package/dist/llm/providers/openai.d.ts.map +1 -1
  36. package/dist/llm/providers/openai.js +9 -0
  37. package/dist/llm/providers/openai.js.map +1 -1
  38. package/dist/llm/token-usage.d.ts +39 -0
  39. package/dist/llm/token-usage.d.ts.map +1 -0
  40. package/dist/llm/token-usage.js +156 -0
  41. package/dist/llm/token-usage.js.map +1 -0
  42. package/dist/service/api-router.d.ts.map +1 -1
  43. package/dist/service/api-router.js +41 -0
  44. package/dist/service/api-router.js.map +1 -1
  45. package/dist/service/cron/scheduler.d.ts.map +1 -1
  46. package/dist/service/cron/scheduler.js +8 -0
  47. package/dist/service/cron/scheduler.js.map +1 -1
  48. package/dist/service/cron/world-model-synthesis.d.ts +22 -0
  49. package/dist/service/cron/world-model-synthesis.d.ts.map +1 -0
  50. package/dist/service/cron/world-model-synthesis.js +194 -0
  51. package/dist/service/cron/world-model-synthesis.js.map +1 -0
  52. package/dist/service/web-client.html +323 -1
  53. package/dist/service/web-server.d.ts.map +1 -1
  54. package/dist/service/web-server.js +1 -0
  55. package/dist/service/web-server.js.map +1 -1
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -5,37 +5,32 @@ An AI-powered personal assistant that manages your tasks, events, notes, goals,
5
5
  Choose from 4 personalities and name your agent to make it truly yours.
6
6
 
7
7
  ```
8
- ___ __
9
- @@@@@@%%%%%%%%%%%%%%%%%##############%%#######%%%%%%%%%%%%%%@@@@@@@@@@@%%#########*+*#+++=:::::::::-
10
- @@@@@@@@%%%%%%%%%%%%#################%###********#######%%%@@@@@@%%####**##*+=-:::.:-+==+=::::::::::
11
- @@@@@@@@@@@@%%%%%%%%%%%%%########***###**********###%%%%@@%%%%###*****+=-:::........-+====::::::::::
12
- @@@@%*=+%@%%%%%%%%%%%%%%%%######****##******####%%%%%%%%#####*+++=-:::..............:+=-==::::::::::
13
- @@@@@##%@@@%%%%%%%%%%%%%%%%%##########*+*#%%%%%%%%%##*****+=+==-:...................:+=-=-::::::::::
14
- @@@@@@@@@@@@@@@@%%%%%%%%%%%%%#########++*%@%%%##***++=--::..:--::...................:=--=-::.:::::::
15
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%#+=+####***+-::........:--::...................:=--=-:::::----:
16
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###%*==+*****+=-:.-*%%%%%%%##*-:...................:=---===++**+===
17
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*****=-=++===::=#%@@@@@@@%####%*=:............:::--++---==++***+===
18
- @@@@@@@@@@@@%%%%%%%%%%%%%%@%#+==++---==----#@@@@@@%@@@%%##%%%##=..........:---==++-:-==+++++==--
19
- @@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%#*=--==-:-=--:=@@@@@@@@@@@@@%%##%@%%%*:......::-----=++-:-====+++=---
20
- @@@@@%%%%%%%%%%%%%%%%%%%%%#%#%%#+---==-:---:-*@@@@@@@@%#*++====*%%%#*-......-------=++-:-==+++++=---
21
- @@@@@@%%%%%%%%%%###############*=---==-:---::*@@@%#***++===-----*##*+-......:---====++-:-===++++=---
22
- @@%%%%%%%%%%#############***###*=-:--=-::--::*@@##**++++++==----+****-......:---====*+-:-===++++=---
23
- %%%%%%%%%%%############*******#*=:::--:::--::-%%###**++++==------=**#=:.....:----===+=::-====+++=-::
24
- %%%%%%%%%%%#######*******++****+-:::--:::-::::-%##**++++++*###*=::=*==+.....:---====+=::-=====+==-::
25
- %%%%%%%######*********++++++++*+-:::--:::-:::::=##%%@%#*+*%%@%#+=:-+=*=.....:------=+=::-====+++=-::
26
- %%%%%#######*********+++++++++*+-:::--:::-::::-=%%%%@%%*-=+**+=--::--+=.....:---====+=::---===+==--:
27
- %%%%%#######*******++++++++==+++-:::--:::-::::-+%##***#*-:--==-----:--:.....:------=+=::-====+++=---
28
- %%%%%%%%%%####*****+++++++====+=-:::--:::-::::*%@%****#*-:-=+=------:.......:------=+=::---======--:
29
- %%%%%@@%%%%###****++++++======+=-::::-:::-::-=**%@%***###+*====------......::------=+=::-=====++=---
30
- %%%%%%@@@%%########**++=======+=::::--:::-=+*%@@@@@%###%##+++**=-===-......:-------=+=::---======---
31
- @@@@@@@@@%%%%%%##*****++======+=::::--::-+++=++++@+#%%%%%%*+========-:.....:-----===+=::-====+++=---
32
- %%%%%%%@@%%%%%%#*+++++++======+=::::--::+**###%@@%:-*%#####+==--=++=--.:...:-------=+=::--====++=---
33
- %%%%%%@@@%%%%%%####**++=========::.::-:=**+=+***%%*::-*##**++=+*#*+=:..=*-.:-------=+=::---======---
34
- %@@@@@@@@@@@@%%####**++===+***+=::.::-=++++#%@@@@%*:::-#%%%##****+-:..-%#%*--------=+=::--====+===--
35
- @@@@@@@@@@@%%%%%%%#***++=+*##*+=::.::-**+=+%%@@@#+::::-*%%##***+-::::=%%%%%%#+=----=+=::---=======--
36
- @@@@@@@@%%%%%%%%%%%#*+++++++++==-::::=*+=-+#%%@%+-:-+%%**####+--::::=%%%%%@@@@%%#*==+=::--========--
37
- @%%@@@@@@@@%%%%#####*++==+*###*=-:::-=*+=-=+===+*#%@@@@**#%%*=-:::-=%@@%%@@@@@@@@%%%#+-:---=======--
38
- %%%@%%%%@@%%%%##%####*+++*%@%%#+-:::-+*+==-=-==#@@@@@@@%@@@@%@%*=-=%%@@@@@@@@@@@@@@@@%%%%%*+========
8
+ ____ _ _ _ _
9
+ | _ \| |__ __ _(_) |__ ___| |
10
+ | |_) | '_ \ / _` | | '_ \ / _ \ |
11
+ | __/| | | | (_| | | |_) | __/ |
12
+ |_| |_| |_|\__,_|_|_.__/ \___|_|
13
+
14
+ Your Intelligent Personal Assistant
15
+
16
+ ┌─────────────────────────────────────────────┐
17
+ │ "remind me to call the dentist tomorrow" │
18
+ └──────────────────┬──────────────────────────┘
19
+
20
+
21
+ ┌──────────┐ ┌──────────┐ ┌──────────┐
22
+ │ Classify │─▶│ Create │─▶│ Set Due │
23
+ │ Request │ │ Task │ │ Date │
24
+ └──────────┘ └──────────┘ └────┬─────┘
25
+
26
+ ┌─────────────┘
27
+
28
+ ┌──────────┐ ┌──────────┐
29
+ │ Link to │─▶│ Respond │
30
+ │ Calendar │ │ to User │
31
+ └──────────┘ └──────────┘
32
+
33
+ Every request builds a unique process graph.
39
34
  ```
40
35
 
41
36
  ## Quick Start
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AA+LA,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACnB;AAmBD,wBAAsB,iBAAiB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EACnC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAC1D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,EACtE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EACnC,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAkMA,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACnB;AAmBD,wBAAsB,iBAAiB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EACnC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAC1D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,EACtE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EACnC,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
@@ -21,9 +21,12 @@ import { ChatLogger, generateChatId } from '../utils/chat-logger.js';
21
21
  import { parseJsonResponse } from '../utils/json-parser.js';
22
22
  import { writeExecutionLog } from '../utils/execution-logger.js';
23
23
  import { loadEntityTypes } from '../entities/entity-type-config.js';
24
- import { listEntities } from '../entities/entity.js';
25
24
  import { getUserName } from '../state/manager.js';
26
25
  import { getVaultContext } from '../context/reader.js';
26
+ import { getEntityIndex } from '../entities/entity-index.js';
27
+ import { buildContextTree, expandContextTree } from '../context/context-tree.js';
28
+ import { serializeContextTree } from '../context/context-tree-serializer.js';
29
+ import { classifyScope } from '../context/scope-classifier.js';
27
30
  // ─────────────────────────────────────────────────────────────────────────────
28
31
  // IN-MEMORY PROCESS SOURCE
29
32
  // ─────────────────────────────────────────────────────────────────────────────
@@ -234,6 +237,19 @@ async function _feralChatHeadlessInner(userInput, status, onProcess, onQuestion,
234
237
  `- current_date: ${today}`,
235
238
  `- user_timezone: ${userTimezone} (UTC${tzOffset})`,
236
239
  ].join('\n');
240
+ // ── Build context tree ───────────────────────────────────────────
241
+ const entityIndex = getEntityIndex();
242
+ if (!entityIndex.isBuilt)
243
+ await entityIndex.build();
244
+ const globalsMap = {
245
+ user_name: userName,
246
+ current_date: today,
247
+ user_timezone: `${userTimezone} (UTC${tzOffset})`,
248
+ };
249
+ const scope = classifyScope(userInput, entityTypes, entityIndex.getStats());
250
+ const contextTree = await buildContextTree(scope, globalsMap);
251
+ let contextTreeStr = serializeContextTree(contextTree);
252
+ debug('chat', `Context tree: scope=${scope.type}, tokens≈${Math.ceil(contextTreeStr.length / 4)}`);
237
253
  const allNodes = runtime.catalog.getAllCatalogNodes();
238
254
  // Build catalog summary for LLM
239
255
  const catalogSummary = allNodes
@@ -335,23 +351,11 @@ Return ONLY the JSON object, no markdown fences.`,
335
351
  role: 'user',
336
352
  content: `The user said: "${userInput}"
337
353
  ${historyBlock}
338
- GLOBAL VARIABLES:
339
- ${globalsBlock}
354
+ ${contextTreeStr}
340
355
 
341
- ${vaultContext ? `VAULT CONTEXT (from .vault.md files — project goals, notes, and preferences):\n${vaultContext}\n` : ''}ENTITY TYPES:
342
- The agent manages these entity types. When the user mentions something that maps to an entity, prefer creating it:
343
- ${entityTypes.map(t => {
344
- const fieldDesc = t.fields.length > 0
345
- ? ` Fields: ${t.fields.map(f => {
346
- if (f.type === 'enum' && f.values)
347
- return `${f.key}:enum(${f.values.join('|')})`;
348
- return `${f.key}:${f.type}`;
349
- }).join(', ')}.`
350
- : '';
351
- return `- ${t.name} (plural: ${t.plural})${t.description ? ` — ${t.description}` : ''}.${fieldDesc}`;
352
- }).join('\n')}
353
-
354
- Each entity type has create_*, list_*, find_*, update_*, delete_*, complete_* catalog nodes, plus set_${'{type}'}_{field} nodes for each field.
356
+ ENTITY TYPE CONVENTIONS:
357
+ The agent manages the entity types listed above. When the user mentions something that maps to an entity, prefer creating it.
358
+ Each entity type has create_*, list_*, find_*, update_*, delete_*, complete_* catalog nodes, plus set_{type}_{field} nodes for each field.
355
359
  For example: create_task, list_tasks, find_note, set_task_status, complete_task, etc.
356
360
 
357
361
  IMPORTANT CAPABILITIES:
@@ -457,51 +461,34 @@ Return ONLY the JSON object, no markdown fences.`,
457
461
  // ── STEP 1.5: Information gathering (skipped in headless mode) ──
458
462
  // In headless mode we don't prompt for follow-ups — proceed with what we have
459
463
  const gatheredInfoStr = '';
460
- // ── Gather existing entity titles for nodes that reference them ──
464
+ // ── Expand context tree with entity types referenced by selected nodes ──
461
465
  // When find_*, link_*, update_*, complete_*, set_* nodes are selected,
462
- // the LLM needs to know exact titles to avoid hallucinating them.
466
+ // the LLM needs leaf data for those types to avoid hallucinating titles.
463
467
  const refNodePattern = /^(find_|link_|update_|complete_|set_|add_tag_|search_)/;
464
- const referencedTypes = new Set();
468
+ const additionalTypes = [];
465
469
  for (const key of nodeSelection.nodes) {
466
470
  if (refNodePattern.test(key)) {
467
- // Extract entity type from node key (e.g. "find_task" → "task", "link_entities" → all)
468
471
  const parts = key.split('_');
469
472
  if (key === 'link_entities') {
470
- // link_entities can reference any type — add all
471
- for (const et of entityTypes)
472
- referencedTypes.add(et.name);
473
+ for (const et of entityTypes) {
474
+ if (!contextTree.branches.some(b => b.entityType === et.name && b.leaves.length > 0)) {
475
+ additionalTypes.push(et.name);
476
+ }
477
+ }
473
478
  }
474
479
  else if (parts.length >= 2) {
475
480
  const typeName = parts.slice(1).join('_');
476
- // Validate it's a known entity type (or plural form)
477
481
  const match = entityTypes.find(et => et.name === typeName || et.plural === typeName);
478
- if (match)
479
- referencedTypes.add(match.name);
480
- }
481
- }
482
- }
483
- let existingEntitiesBlock = '';
484
- if (referencedTypes.size > 0) {
485
- const blocks = [];
486
- for (const typeName of referencedTypes) {
487
- try {
488
- const entities = await listEntities(typeName);
489
- if (entities.length > 0) {
490
- const titles = entities
491
- .slice(0, 50)
492
- .map(e => ` - "${e.meta.title || e.meta.id}"`)
493
- .join('\n');
494
- blocks.push(`${typeName}:\n${titles}`);
482
+ if (match && !contextTree.branches.some(b => b.entityType === match.name && b.leaves.length > 0)) {
483
+ additionalTypes.push(match.name);
495
484
  }
496
485
  }
497
- catch {
498
- // Entity type dir may not exist
499
- }
500
- }
501
- if (blocks.length > 0) {
502
- existingEntitiesBlock = `\nEXISTING ENTITIES IN VAULT (use these exact titles when referencing existing entities):\n${blocks.join('\n')}\n`;
503
486
  }
504
487
  }
488
+ if (additionalTypes.length > 0) {
489
+ await expandContextTree(contextTree, additionalTypes);
490
+ contextTreeStr = serializeContextTree(contextTree);
491
+ }
505
492
  // ── ORCHESTRATION LOOP ────────────────────────────────────────────
506
493
  // Iteratively: generate process → run → check completion → repeat
507
494
  const MAX_ITERATIONS = 3;
@@ -519,11 +506,10 @@ Return ONLY the JSON object, no markdown fences.`,
519
506
  const step2Response = await llm.chat([{
520
507
  role: 'user',
521
508
  content: `Build a Feral process to handle: "${remainingWork}"
522
- ${historyBlock}${gatheredInfoStr}${previousResultsStr}${existingEntitiesBlock}
523
- GLOBAL VARIABLES:
524
- ${globalsBlock}
509
+ ${historyBlock}${gatheredInfoStr}${previousResultsStr}
510
+ ${contextTreeStr}
525
511
 
526
- ${vaultContext ? `VAULT CONTEXT (from .vault.md files — project goals, notes, and preferences):\n${vaultContext}\n` : ''}SELECTED CATALOG NODES (you must only use nodes from this list):
512
+ SELECTED CATALOG NODES (you must only use nodes from this list):
527
513
  ${selectedNodeDetails}
528
514
 
529
515
  NODE CONFIGURATION DETAILS:
@@ -546,7 +532,7 @@ PROCESS FORMAT RULES:
546
532
  14. To complete/finish an entity, use the complete_* catalog node (e.g. complete_task)
547
533
  15. ONLY use configuration keys that appear in the NODE CONFIGURATION DETAILS above — do not invent keys. The create_* nodes ONLY accept: entity_type, entity_title, entity_body, tags, extra_fields. Do NOT put field names like startDate, priority, status, location directly in configuration.
548
534
  16. To set entity-specific fields (e.g. startDate, endDate, priority, status, location, email): For single-entity processes, put field values in the process "context" object and list field names in extra_fields. Example: "context": { "startDate": "2026-03-25T14:00:00-06:00", "endDate": "2026-03-25T15:00:00-06:00", "location": "Office" } with extra_fields: "startDate,endDate,location". For multi-entity processes where different entities need different values for the same field (e.g. task status="open" vs goal status="active"), use set_context_value nodes between the create nodes to change the value. DATE FORMAT RULES: date fields → YYYY-MM-DD, datetime fields → ISO 8601 with timezone offset. The set_context_value config keys are: "context_path" (the field name), "value" (the value), and "value_type" (REQUIRED for date/datetime).
549
- 17. When referencing existing entities (find_*, link_*, update_*, complete_*, set_*), use EXACT titles from the EXISTING ENTITIES list — do NOT guess or paraphrase entity titles
535
+ 17. When referencing existing entities (find_*, link_*, update_*, complete_*, set_*), use EXACT titles from the entity leaves in the CONTEXT TREE — do NOT guess or paraphrase entity titles
550
536
  18. CRITICAL: Use the correct entity type catalog node. An event (appointment, meeting, scheduled activity) MUST use create_event, NOT create_task. A task (action item, todo) MUST use create_task, NOT create_event. Never substitute one entity type for another.
551
537
  19. When setting enum fields (in context object or via set_context_value), use ONLY the valid values from the ENTITY TYPES schema above. For example, task status must be one of [open, in-progress, done, blocked] — do NOT use "todo", "complete", or other values. If unsure, omit the field and let the default apply.
552
538
  20. Events ALWAYS require BOTH startDate AND endDate (both are datetime type). Use ISO 8601 with timezone offset: "YYYY-MM-DDTHH:mm:ssZ" (e.g. "2026-03-25T14:00:00-06:00"). If the user doesn't mention a time, default to 09:00 start and 10:00 end in their timezone. If the user only mentions one date, set endDate to 1 hour after startDate. Put both in the process context object and include both in extra_fields: "startDate,endDate".
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ContextTree } from './context-tree.js';
2
+ export declare function estimateTokens(text: string): number;
3
+ /**
4
+ * Serialize a ContextTree into a structured text format for LLM consumption.
5
+ * Respects a token budget — truncates leaves if the output would be too large.
6
+ */
7
+ export declare function serializeContextTree(tree: ContextTree): string;
8
+ //# sourceMappingURL=context-tree-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-tree-serializer.d.ts","sourceRoot":"","sources":["../../src/context/context-tree-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAuD,MAAM,mBAAmB,CAAC;AAa1G,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AA2GD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAuC9D"}
@@ -0,0 +1,150 @@
1
+ // ─────────────────────────────────────────────────────────────────────────────
2
+ // Context Tree Serializer — Token-efficient text format for LLM consumption
3
+ //
4
+ // Converts a ContextTree into structured markdown that the LLM can parse
5
+ // naturally, with budget-aware truncation.
6
+ // ─────────────────────────────────────────────────────────────────────────────
7
+ // ─────────────────────────────────────────────────────────────────────────────
8
+ // CONSTANTS
9
+ // ─────────────────────────────────────────────────────────────────────────────
10
+ const MAX_CONTEXT_TREE_TOKENS = 8000;
11
+ const CHARS_PER_TOKEN = 4;
12
+ // ─────────────────────────────────────────────────────────────────────────────
13
+ // SERIALIZER
14
+ // ─────────────────────────────────────────────────────────────────────────────
15
+ export function estimateTokens(text) {
16
+ return Math.ceil(text.length / CHARS_PER_TOKEN);
17
+ }
18
+ function serializeTrunk(tree) {
19
+ const lines = [];
20
+ if (tree.trunk.vaultContext) {
21
+ lines.push('## Trunk (Vault Root)');
22
+ lines.push(tree.trunk.vaultContext);
23
+ lines.push('');
24
+ }
25
+ lines.push('## Globals');
26
+ for (const [key, value] of Object.entries(tree.trunk.globals)) {
27
+ lines.push(`- ${key}: ${value}`);
28
+ }
29
+ lines.push(`- total_entities: ${tree.trunk.stats.totalEntities}`);
30
+ lines.push(`- entity_types: ${tree.trunk.stats.entityTypes.join(', ')}`);
31
+ lines.push('');
32
+ return lines.join('\n');
33
+ }
34
+ function serializeLeafMeta(leaf) {
35
+ // Build compact inline metadata
36
+ const metaParts = [];
37
+ const skipKeys = new Set(['id', 'title', 'entityType', 'created', 'updated', 'tags', 'summary', '_filepath', 'links', 'bodySnippet']);
38
+ for (const [key, value] of Object.entries(leaf.meta)) {
39
+ if (skipKeys.has(key))
40
+ continue;
41
+ if (value === undefined || value === null || value === '')
42
+ continue;
43
+ if (Array.isArray(value) || typeof value === 'object')
44
+ continue;
45
+ metaParts.push(`${key}=${value}`);
46
+ }
47
+ const metaStr = metaParts.length > 0 ? ` [${metaParts.join(', ')}]` : '';
48
+ const tagsStr = leaf.tags.length > 0 ? ` ${leaf.tags.map(t => `#${t}`).join(' ')}` : '';
49
+ const summaryStr = leaf.summary ? ` — ${leaf.summary}` : '';
50
+ return `- "${leaf.title}"${metaStr}${tagsStr}${summaryStr}`;
51
+ }
52
+ function serializeBranch(branch) {
53
+ const lines = [];
54
+ lines.push(`## Branch: ${branch.plural} (${branch.leafCount} items)`);
55
+ if (branch.description)
56
+ lines.push(branch.description);
57
+ // Fields
58
+ if (branch.fields.length > 0) {
59
+ const fieldDescs = branch.fields.map(f => {
60
+ if (f.values)
61
+ return `${f.key}:enum(${f.values.join('|')})`;
62
+ return `${f.key}:${f.type}`;
63
+ });
64
+ lines.push(`Fields: ${fieldDescs.join(', ')}`);
65
+ }
66
+ // Subdirectory context
67
+ if (branch.subdirectoryContext) {
68
+ lines.push('');
69
+ lines.push(branch.subdirectoryContext);
70
+ }
71
+ // Leaves
72
+ if (branch.leaves.length > 0) {
73
+ lines.push('');
74
+ lines.push('### Entities:');
75
+ for (const leaf of branch.leaves) {
76
+ if (leaf.content !== undefined) {
77
+ // Full content mode
78
+ lines.push(`#### ${leaf.title} (${leaf.key})`);
79
+ const tagsStr = leaf.tags.length > 0 ? `Tags: ${leaf.tags.map(t => `#${t}`).join(' ')}` : '';
80
+ if (tagsStr)
81
+ lines.push(tagsStr);
82
+ if (leaf.summary)
83
+ lines.push(`Summary: ${leaf.summary}`);
84
+ if (leaf.content) {
85
+ lines.push('');
86
+ lines.push(leaf.content);
87
+ }
88
+ lines.push('');
89
+ }
90
+ else {
91
+ // Summary mode
92
+ lines.push(serializeLeafMeta(leaf));
93
+ }
94
+ }
95
+ const omitted = branch.leafCount - branch.leaves.length;
96
+ if (omitted > 0) {
97
+ lines.push(`... and ${omitted} more ${branch.plural}`);
98
+ }
99
+ }
100
+ lines.push('');
101
+ return lines.join('\n');
102
+ }
103
+ function serializeEdges(edges) {
104
+ if (edges.length === 0)
105
+ return '';
106
+ const lines = ['## Connections'];
107
+ for (const edge of edges) {
108
+ const label = edge.label || edge.edgeType;
109
+ lines.push(`- ${edge.source} ──${label}──▶ ${edge.target}`);
110
+ }
111
+ lines.push('');
112
+ return lines.join('\n');
113
+ }
114
+ /**
115
+ * Serialize a ContextTree into a structured text format for LLM consumption.
116
+ * Respects a token budget — truncates leaves if the output would be too large.
117
+ */
118
+ export function serializeContextTree(tree) {
119
+ const sections = ['CONTEXT TREE:', ''];
120
+ sections.push(serializeTrunk(tree));
121
+ for (const branch of tree.branches) {
122
+ sections.push(serializeBranch(branch));
123
+ }
124
+ sections.push(serializeEdges(tree.edges));
125
+ let result = sections.join('\n');
126
+ // Budget check — if over budget, trim leaf content
127
+ const tokens = estimateTokens(result);
128
+ if (tokens > MAX_CONTEXT_TREE_TOKENS) {
129
+ // Re-serialize with truncated leaves
130
+ const trimmedSections = ['CONTEXT TREE:', ''];
131
+ trimmedSections.push(serializeTrunk(tree));
132
+ for (const branch of tree.branches) {
133
+ // Cap leaves more aggressively
134
+ const trimmedBranch = { ...branch };
135
+ if (trimmedBranch.leaves.length > 20) {
136
+ trimmedBranch.leaves = trimmedBranch.leaves.slice(0, 20);
137
+ }
138
+ // Strip full content if present
139
+ trimmedBranch.leaves = trimmedBranch.leaves.map(l => ({
140
+ ...l,
141
+ content: l.content ? l.content.slice(0, 200) + '...' : undefined,
142
+ }));
143
+ trimmedSections.push(serializeBranch(trimmedBranch));
144
+ }
145
+ trimmedSections.push(serializeEdges(tree.edges.slice(0, 30)));
146
+ result = trimmedSections.join('\n');
147
+ }
148
+ return result;
149
+ }
150
+ //# sourceMappingURL=context-tree-serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-tree-serializer.js","sourceRoot":"","sources":["../../src/context/context-tree-serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ export type ContextScope = {
2
+ type: 'trunk';
3
+ } | {
4
+ type: 'branch';
5
+ branches: string[];
6
+ } | {
7
+ type: 'branch-full';
8
+ branches: string[];
9
+ } | {
10
+ type: 'leaves';
11
+ keys: string[];
12
+ } | {
13
+ type: 'cross';
14
+ branches: string[];
15
+ query?: string;
16
+ };
17
+ export interface ContextTreeTrunk {
18
+ vaultContext: string;
19
+ globals: Record<string, string>;
20
+ stats: {
21
+ totalEntities: number;
22
+ entityTypes: string[];
23
+ };
24
+ }
25
+ export interface ContextTreeField {
26
+ key: string;
27
+ type: string;
28
+ values?: string[];
29
+ }
30
+ export interface ContextTreeLeaf {
31
+ key: string;
32
+ title: string;
33
+ tags: string[];
34
+ summary: string;
35
+ meta: Record<string, unknown>;
36
+ content?: string;
37
+ }
38
+ export interface ContextTreeBranch {
39
+ entityType: string;
40
+ plural: string;
41
+ description: string;
42
+ fields: ContextTreeField[];
43
+ subdirectoryContext: string;
44
+ leafCount: number;
45
+ leaves: ContextTreeLeaf[];
46
+ }
47
+ export interface ContextTreeEdge {
48
+ source: string;
49
+ target: string;
50
+ edgeType: string;
51
+ label?: string;
52
+ }
53
+ export interface ContextTree {
54
+ trunk: ContextTreeTrunk;
55
+ branches: ContextTreeBranch[];
56
+ edges: ContextTreeEdge[];
57
+ }
58
+ /**
59
+ * Build the full context tree based on scope.
60
+ */
61
+ export declare function buildContextTree(scope: ContextScope, globals: Record<string, string>): Promise<ContextTree>;
62
+ /**
63
+ * Expand an existing context tree with additional branches (adds leaf summaries).
64
+ * Mutates the tree in place and returns it.
65
+ */
66
+ export declare function expandContextTree(tree: ContextTree, additionalBranches: string[]): Promise<ContextTree>;
67
+ //# sourceMappingURL=context-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-tree.d.ts","sourceRoot":"","sources":["../../src/context/context-tree.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,YAAY,GAClB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAC;CAC5B;AAiHD;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC,WAAW,CAAC,CA+EtB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACnC,IAAI,EAAE,WAAW,EACjB,kBAAkB,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,WAAW,CAAC,CAoCtB"}