@undefineds.co/linx 0.2.16 → 0.2.17

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 (119) hide show
  1. package/README.md +6 -3
  2. package/dist/generated/version.js +3 -0
  3. package/dist/generated/version.js.map +1 -0
  4. package/dist/index.js +139 -259
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/account-api.js +1 -1
  7. package/dist/lib/account-api.js.map +1 -1
  8. package/dist/lib/account-session.js +1 -1
  9. package/dist/lib/account-session.js.map +1 -1
  10. package/dist/lib/ai-command.js +105 -56
  11. package/dist/lib/ai-command.js.map +1 -1
  12. package/dist/lib/chat-api.js +19 -177
  13. package/dist/lib/chat-api.js.map +1 -1
  14. package/dist/lib/codex-plugin/bridge.js.map +1 -1
  15. package/dist/lib/codex-plugin/codex-native-proxy.js.map +1 -1
  16. package/dist/lib/codex-plugin/index.js.map +1 -1
  17. package/dist/lib/codex-plugin/runner.js.map +1 -1
  18. package/dist/lib/credentials-store.js +1 -7
  19. package/dist/lib/credentials-store.js.map +1 -1
  20. package/dist/lib/default-model.js +0 -1
  21. package/dist/lib/default-model.js.map +1 -1
  22. package/dist/lib/login-command.js +2 -17
  23. package/dist/lib/login-command.js.map +1 -1
  24. package/dist/lib/models.js +27 -2
  25. package/dist/lib/models.js.map +1 -1
  26. package/dist/lib/oidc-auth.js +13 -78
  27. package/dist/lib/oidc-auth.js.map +1 -1
  28. package/dist/lib/oidc-session-storage.js.map +1 -1
  29. package/dist/lib/pi-adapter/auth.js +5 -12
  30. package/dist/lib/pi-adapter/auth.js.map +1 -1
  31. package/dist/lib/pi-adapter/branding.js +76 -554
  32. package/dist/lib/pi-adapter/branding.js.map +1 -1
  33. package/dist/lib/pi-adapter/index.js.map +1 -1
  34. package/dist/lib/pi-adapter/interactive.js +4 -154
  35. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  36. package/dist/lib/pi-adapter/runtime.js +25 -140
  37. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  38. package/dist/lib/pi-adapter/stream.js +4 -154
  39. package/dist/lib/pi-adapter/stream.js.map +1 -1
  40. package/dist/lib/pi-adapter/theme.js.map +1 -1
  41. package/dist/lib/pod-chat-store.js +1 -1
  42. package/dist/lib/pod-chat-store.js.map +1 -1
  43. package/dist/lib/profile-identity.js +60 -16
  44. package/dist/lib/profile-identity.js.map +1 -1
  45. package/dist/lib/prompt.js.map +1 -1
  46. package/dist/lib/runtime-target.js +1 -1
  47. package/dist/lib/runtime-target.js.map +1 -1
  48. package/dist/lib/solid-auth.js.map +1 -1
  49. package/dist/lib/thread-utils.js.map +1 -1
  50. package/dist/lib/watch/archive.js +1 -1
  51. package/dist/lib/watch/archive.js.map +1 -1
  52. package/dist/lib/watch/auth.js +1 -1
  53. package/dist/lib/watch/auth.js.map +1 -1
  54. package/dist/lib/watch/codex-composer.js.map +1 -1
  55. package/dist/lib/watch/codex-footer.js.map +1 -1
  56. package/dist/lib/watch/codex-overlay.js.map +1 -1
  57. package/dist/lib/watch/codex-request-form.js +1 -1
  58. package/dist/lib/watch/codex-request-form.js.map +1 -1
  59. package/dist/lib/watch/codex-request-input.js.map +1 -1
  60. package/dist/lib/watch/display.js.map +1 -1
  61. package/dist/lib/watch/format.js.map +1 -1
  62. package/dist/lib/watch/hooks/claude.js +0 -4
  63. package/dist/lib/watch/hooks/claude.js.map +1 -1
  64. package/dist/lib/watch/hooks/codebuddy.js +0 -4
  65. package/dist/lib/watch/hooks/codebuddy.js.map +1 -1
  66. package/dist/lib/watch/hooks/codex.js +0 -4
  67. package/dist/lib/watch/hooks/codex.js.map +1 -1
  68. package/dist/lib/watch/hooks/index.js.map +1 -1
  69. package/dist/lib/watch/hooks/shared.js +1 -0
  70. package/dist/lib/watch/hooks/shared.js.map +1 -1
  71. package/dist/lib/watch/index.js.map +1 -1
  72. package/dist/lib/watch/pod-ai.js +37 -29
  73. package/dist/lib/watch/pod-ai.js.map +1 -1
  74. package/dist/lib/watch/pod-approval.js +216 -846
  75. package/dist/lib/watch/pod-approval.js.map +1 -1
  76. package/dist/lib/watch/pod-persistence.js +78 -184
  77. package/dist/lib/watch/pod-persistence.js.map +1 -1
  78. package/dist/lib/watch/runner.js +38 -243
  79. package/dist/lib/watch/runner.js.map +1 -1
  80. package/dist/lib/watch/types.js.map +1 -1
  81. package/dist/skills/drizzle-solid/SKILL.md +340 -0
  82. package/dist/skills/pod-storage/SKILL.md +60 -0
  83. package/dist/skills/solid-modeling/SKILL.md +274 -0
  84. package/dist/skills/xpod-componentsjs/SKILL.md +284 -0
  85. package/dist/watch-cli.js +34 -8
  86. package/dist/watch-cli.js.map +1 -1
  87. package/package.json +9 -3
  88. package/vendor/client/dist/client/index.d.ts +118 -0
  89. package/vendor/client/dist/client/index.js +260 -0
  90. package/vendor/client/dist/index.d.ts +1 -0
  91. package/vendor/client/dist/index.js +1 -0
  92. package/vendor/client/dist/watch/index.d.ts +226 -0
  93. package/vendor/client/dist/watch/index.js +1114 -0
  94. package/vendor/client/package.json +9 -0
  95. package/dist/lib/node-warning-filter.js +0 -34
  96. package/dist/lib/node-warning-filter.js.map +0 -1
  97. package/dist/lib/pi-adapter/pod-approval.js +0 -8
  98. package/dist/lib/pi-adapter/pod-approval.js.map +0 -1
  99. package/dist/lib/pi-adapter/pod-mirror-mapping.js +0 -189
  100. package/dist/lib/pi-adapter/pod-mirror-mapping.js.map +0 -1
  101. package/dist/lib/pi-adapter/pod-mirror.js +0 -334
  102. package/dist/lib/pi-adapter/pod-mirror.js.map +0 -1
  103. package/dist/lib/pi-adapter/pod-native.js +0 -478
  104. package/dist/lib/pi-adapter/pod-native.js.map +0 -1
  105. package/dist/lib/pi-adapter/session.js +0 -727
  106. package/dist/lib/pi-adapter/session.js.map +0 -1
  107. package/dist/lib/pod-data-session.js +0 -110
  108. package/dist/lib/pod-data-session.js.map +0 -1
  109. package/dist/lib/watch/secretary.js +0 -238
  110. package/dist/lib/watch/secretary.js.map +0 -1
  111. package/vendor/agent-runtime/dist/acp.d.ts +0 -27
  112. package/vendor/agent-runtime/dist/acp.js +0 -86
  113. package/vendor/agent-runtime/dist/companion-model.d.ts +0 -7
  114. package/vendor/agent-runtime/dist/companion-model.js +0 -12
  115. package/vendor/agent-runtime/dist/index.d.ts +0 -3
  116. package/vendor/agent-runtime/dist/index.js +0 -3
  117. package/vendor/agent-runtime/dist/turn-controller.d.ts +0 -69
  118. package/vendor/agent-runtime/dist/turn-controller.js +0 -129
  119. package/vendor/agent-runtime/package.json +0 -11
@@ -1,129 +0,0 @@
1
- function normalizeMentionToken(value) {
2
- return value.trim().toLowerCase();
3
- }
4
- function uniqueStrings(values) {
5
- return Array.from(new Set(values.filter(Boolean)));
6
- }
7
- export function findMentionedGroupAgents(message, agents) {
8
- const normalizedMessage = message.toLowerCase();
9
- return agents.filter((agent) => {
10
- const candidates = uniqueStrings([
11
- agent.id,
12
- agent.name,
13
- ...(agent.aliases ?? []),
14
- ]).map(normalizeMentionToken);
15
- return candidates.some((candidate) => candidate && normalizedMessage.includes(`@${candidate}`));
16
- });
17
- }
18
- export async function routeGroupTurn(input) {
19
- const coordinationId = input.coordinationId ?? `group-turn-${Date.now()}`;
20
- const agents = input.agents.filter((agent) => agent.id && agent.name);
21
- if (agents.length === 0) {
22
- return {
23
- shouldReply: false,
24
- targetAgentIds: [],
25
- routedBy: 'none',
26
- coordinationId,
27
- reason: 'No AI agent participants are available.',
28
- };
29
- }
30
- const mentionedAgents = findMentionedGroupAgents(input.latestUserMessage, agents);
31
- if (mentionedAgents.length > 0) {
32
- return {
33
- shouldReply: true,
34
- targetAgentIds: mentionedAgents.map((agent) => agent.id),
35
- routedBy: 'mention',
36
- coordinationId,
37
- reason: 'User explicitly mentioned one or more AI agents.',
38
- confidence: 1,
39
- };
40
- }
41
- if (agents.length === 1) {
42
- return {
43
- shouldReply: true,
44
- targetAgentIds: [agents[0].id],
45
- routedBy: 'single-agent',
46
- coordinationId,
47
- reason: 'Only one AI agent is present in the group.',
48
- confidence: 1,
49
- };
50
- }
51
- if (!input.decide) {
52
- return {
53
- shouldReply: false,
54
- targetAgentIds: [],
55
- routedBy: 'none',
56
- coordinationId,
57
- reason: 'No group turn controller is available for unmentioned multi-agent routing.',
58
- };
59
- }
60
- const decision = await input.decide({
61
- latestUserMessage: input.latestUserMessage,
62
- agents,
63
- history: input.history ?? [],
64
- });
65
- const validAgentIds = new Set(agents.map((agent) => agent.id));
66
- const targetAgentIds = uniqueStrings(decision.targetAgentIds).filter((id) => validAgentIds.has(id));
67
- return {
68
- shouldReply: decision.shouldReply && targetAgentIds.length > 0,
69
- targetAgentIds,
70
- routedBy: 'controller',
71
- coordinationId,
72
- reason: decision.reason,
73
- confidence: decision.confidence,
74
- };
75
- }
76
- export const GROUP_AGENT_TURN_RULE = {
77
- id: 'chat.group.agent-turn',
78
- trigger: 'user.message',
79
- targetAgent: 'agent-turn-controller',
80
- targetRole: 'system',
81
- context: {
82
- recentMessages: 24,
83
- includeToolCalls: false,
84
- includeToolResults: false,
85
- includeSystemEvents: false,
86
- },
87
- allowedOutputs: ['chat_message'],
88
- requiresUserVisibleTrace: false,
89
- };
90
- export const WATCH_SECRETARY_APPROVAL_RULE = {
91
- id: 'watch.secretary.approval',
92
- trigger: 'approval.required',
93
- targetAgent: 'ai-secretary',
94
- targetRole: 'secretary',
95
- requiredCapabilities: ['approval.request', 'approval.options'],
96
- context: {
97
- recentMessages: 24,
98
- includeCurrentApproval: true,
99
- includeMatchingGrants: true,
100
- includeToolCalls: true,
101
- includeToolResults: true,
102
- includeSystemEvents: false,
103
- },
104
- allowedOutputs: ['chat_message', 'approval_decision', 'control_command'],
105
- allowedControls: ['inject_message', 'pause', 'stop'],
106
- requiresUserVisibleTrace: true,
107
- };
108
- export const WATCH_SECRETARY_INPUT_RULE = {
109
- id: 'watch.secretary.input',
110
- trigger: 'input.required',
111
- targetAgent: 'ai-secretary',
112
- targetRole: 'secretary',
113
- requiredCapabilities: ['input.structured'],
114
- context: {
115
- recentMessages: 24,
116
- includeCurrentApproval: false,
117
- includeMatchingGrants: false,
118
- includeToolCalls: true,
119
- includeToolResults: true,
120
- includeSystemEvents: false,
121
- },
122
- allowedOutputs: ['chat_message', 'input_answer', 'control_command'],
123
- allowedControls: ['inject_message'],
124
- requiresUserVisibleTrace: true,
125
- };
126
- export const DEFAULT_WATCH_SECRETARY_RULES = [
127
- WATCH_SECRETARY_APPROVAL_RULE,
128
- WATCH_SECRETARY_INPUT_RULE,
129
- ];
@@ -1,11 +0,0 @@
1
- {
2
- "name": "@linx/agent-runtime",
3
- "version": "0.1.0",
4
- "type": "module",
5
- "exports": {
6
- ".": "./dist/index.js",
7
- "./acp": "./dist/acp.js",
8
- "./companion-model": "./dist/companion-model.js",
9
- "./turn-controller": "./dist/turn-controller.js"
10
- }
11
- }