@pellux/goodvibes-sdk 0.18.29 → 0.18.30

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.
@@ -83,6 +83,7 @@ export declare const coreConfigDefaults: {
83
83
  httpListener: boolean;
84
84
  };
85
85
  tools: {
86
+ llmEnabled: boolean;
86
87
  llmProvider: string;
87
88
  llmModel: string;
88
89
  autoHeal: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"schema-domain-core.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-domain-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmH9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EAmX3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EAyH3D,CAAC"}
1
+ {"version":3,"file":"schema-domain-core.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-domain-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoH9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EAmX3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,uBAAuB,EA+H3D,CAAC"}
@@ -82,6 +82,7 @@ export const coreConfigDefaults = {
82
82
  httpListener: false,
83
83
  },
84
84
  tools: {
85
+ llmEnabled: false,
85
86
  llmProvider: '',
86
87
  llmModel: '',
87
88
  autoHeal: false,
@@ -499,6 +500,12 @@ export const coreTailConfigSettings = [
499
500
  default: false,
500
501
  description: 'Enable HTTP webhook listener for receiving external events',
501
502
  },
503
+ {
504
+ key: 'tools.llmEnabled',
505
+ type: 'boolean',
506
+ default: false,
507
+ description: 'Enable dedicated tool LLM for internal operations (off = tools use the main conversation model only when needed)',
508
+ },
502
509
  {
503
510
  key: 'tools.llmProvider',
504
511
  type: 'string',
@@ -294,6 +294,7 @@ export interface GoodVibesConfig {
294
294
  httpListener: boolean;
295
295
  };
296
296
  tools: {
297
+ llmEnabled: boolean;
297
298
  llmProvider: string;
298
299
  llmModel: string;
299
300
  autoHeal: boolean;
@@ -334,7 +335,7 @@ export interface ConfigSetting {
334
335
  validate?: (value: unknown) => boolean;
335
336
  }
336
337
  /** Dot-path config keys for all settings. */
337
- export type ConfigKey = 'display.stream' | 'display.lineNumbers' | 'display.collapseThreshold' | 'display.theme' | 'display.showThinking' | 'display.showReasoningSummary' | 'display.showTokenSpeed' | 'display.showToolPreview' | 'provider.reasoningEffort' | 'provider.model' | 'provider.provider' | 'provider.embeddingProvider' | 'provider.systemPromptFile' | 'behavior.autoApprove' | 'behavior.autoCompactThreshold' | 'behavior.staleContextWarnings' | 'behavior.saveHistory' | 'behavior.notifyOnComplete' | 'behavior.suggestAlternativeOnProviderFail' | 'behavior.hitlMode' | 'behavior.returnContextMode' | 'behavior.guidanceMode' | 'storage.secretPolicy' | 'permissions.mode' | 'permissions.tools.read' | 'permissions.tools.write' | 'permissions.tools.edit' | 'permissions.tools.exec' | 'permissions.tools.find' | 'permissions.tools.fetch' | 'permissions.tools.analyze' | 'permissions.tools.inspect' | 'permissions.tools.agent' | 'permissions.tools.state' | 'permissions.tools.workflow' | 'permissions.tools.registry' | 'permissions.tools.delegate' | 'permissions.tools.mcp' | 'orchestration.recursionEnabled' | 'orchestration.maxActiveAgents' | 'orchestration.maxDepth' | 'sandbox.replIsolation' | 'sandbox.mcpIsolation' | 'sandbox.windowsMode' | 'sandbox.vmBackend' | 'sandbox.qemuBinary' | 'sandbox.qemuImagePath' | 'sandbox.qemuExecWrapper' | 'sandbox.qemuGuestHost' | 'sandbox.qemuGuestPort' | 'sandbox.qemuGuestUser' | 'sandbox.qemuWorkspacePath' | 'sandbox.qemuSessionMode' | 'ui.voiceEnabled' | 'ui.systemMessages' | 'ui.operationalMessages' | 'ui.wrfcMessages' | 'release.channel' | 'danger.daemon' | 'danger.httpListener' | 'tools.llmProvider' | 'tools.llmModel' | 'tools.autoHeal' | 'tools.defaultTokenBudget' | 'tools.hooksFile' | 'wrfc.scoreThreshold' | 'wrfc.maxFixAttempts' | 'wrfc.autoCommit' | 'cache.enabled' | 'cache.stableTtl' | 'cache.monitorHitRate' | 'cache.hitRateWarningThreshold' | 'helper.enabled' | 'helper.globalProvider' | 'helper.globalModel' | 'automation.enabled' | 'automation.maxConcurrentRuns' | 'automation.runHistoryLimit' | 'automation.defaultTimeoutMs' | 'automation.catchUpWindowMinutes' | 'automation.failureCooldownMs' | 'automation.deleteAfterRun' | 'controlPlane.enabled' | 'controlPlane.host' | 'controlPlane.port' | 'controlPlane.baseUrl' | 'controlPlane.streamMode' | 'controlPlane.allowRemote' | 'controlPlane.trustProxy' | 'controlPlane.tls.mode' | 'controlPlane.tls.certFile' | 'controlPlane.tls.keyFile' | 'httpListener.host' | 'httpListener.port' | 'httpListener.trustProxy' | 'httpListener.tls.mode' | 'httpListener.tls.certFile' | 'httpListener.tls.keyFile' | 'web.enabled' | 'web.host' | 'web.port' | 'web.publicBaseUrl' | 'web.staticAssetsDir' | 'surfaces.slack.enabled' | 'surfaces.slack.signingSecret' | 'surfaces.slack.botToken' | 'surfaces.slack.appToken' | 'surfaces.slack.defaultChannel' | 'surfaces.slack.workspaceId' | 'surfaces.discord.enabled' | 'surfaces.discord.publicKey' | 'surfaces.discord.botToken' | 'surfaces.discord.applicationId' | 'surfaces.discord.defaultChannelId' | 'surfaces.discord.guildId' | 'surfaces.ntfy.enabled' | 'surfaces.ntfy.baseUrl' | 'surfaces.ntfy.topic' | 'surfaces.ntfy.token' | 'surfaces.ntfy.defaultPriority' | 'surfaces.webhook.enabled' | 'surfaces.webhook.defaultTarget' | 'surfaces.webhook.timeoutMs' | 'surfaces.webhook.secret' | 'surfaces.telegram.enabled' | 'surfaces.telegram.botToken' | 'surfaces.telegram.webhookSecret' | 'surfaces.telegram.defaultChatId' | 'surfaces.telegram.botUsername' | 'surfaces.telegram.mode' | 'surfaces.googleChat.enabled' | 'surfaces.googleChat.webhookUrl' | 'surfaces.googleChat.verificationToken' | 'surfaces.googleChat.appId' | 'surfaces.googleChat.spaceId' | 'surfaces.signal.enabled' | 'surfaces.signal.bridgeUrl' | 'surfaces.signal.account' | 'surfaces.signal.token' | 'surfaces.signal.defaultRecipient' | 'surfaces.whatsapp.enabled' | 'surfaces.whatsapp.provider' | 'surfaces.whatsapp.accessToken' | 'surfaces.whatsapp.verifyToken' | 'surfaces.whatsapp.signingSecret' | 'surfaces.whatsapp.phoneNumberId' | 'surfaces.whatsapp.businessAccountId' | 'surfaces.whatsapp.defaultRecipient' | 'surfaces.imessage.enabled' | 'surfaces.imessage.bridgeUrl' | 'surfaces.imessage.account' | 'surfaces.imessage.token' | 'surfaces.imessage.defaultChatId' | 'surfaces.msteams.enabled' | 'surfaces.msteams.appId' | 'surfaces.msteams.appPassword' | 'surfaces.msteams.tenantId' | 'surfaces.msteams.serviceUrl' | 'surfaces.msteams.botId' | 'surfaces.msteams.defaultConversationId' | 'surfaces.msteams.defaultChannelId' | 'surfaces.bluebubbles.enabled' | 'surfaces.bluebubbles.serverUrl' | 'surfaces.bluebubbles.password' | 'surfaces.bluebubbles.account' | 'surfaces.bluebubbles.defaultChatGuid' | 'surfaces.mattermost.enabled' | 'surfaces.mattermost.baseUrl' | 'surfaces.mattermost.botToken' | 'surfaces.mattermost.teamId' | 'surfaces.mattermost.defaultChannelId' | 'surfaces.matrix.enabled' | 'surfaces.matrix.homeserverUrl' | 'surfaces.matrix.accessToken' | 'surfaces.matrix.userId' | 'surfaces.matrix.defaultRoomId' | 'watchers.enabled' | 'watchers.pollIntervalMs' | 'watchers.heartbeatIntervalMs' | 'watchers.recoveryWindowMinutes' | 'service.enabled' | 'service.autostart' | 'service.restartOnFailure' | 'service.platform' | 'service.serviceName' | 'service.logPath' | 'network.outboundTls.mode' | 'network.outboundTls.customCaFile' | 'network.outboundTls.customCaDir' | 'network.outboundTls.allowInsecureLocalhost' | 'network.remoteFetch.allowPrivateHosts';
338
+ export type ConfigKey = 'display.stream' | 'display.lineNumbers' | 'display.collapseThreshold' | 'display.theme' | 'display.showThinking' | 'display.showReasoningSummary' | 'display.showTokenSpeed' | 'display.showToolPreview' | 'provider.reasoningEffort' | 'provider.model' | 'provider.provider' | 'provider.embeddingProvider' | 'provider.systemPromptFile' | 'behavior.autoApprove' | 'behavior.autoCompactThreshold' | 'behavior.staleContextWarnings' | 'behavior.saveHistory' | 'behavior.notifyOnComplete' | 'behavior.suggestAlternativeOnProviderFail' | 'behavior.hitlMode' | 'behavior.returnContextMode' | 'behavior.guidanceMode' | 'storage.secretPolicy' | 'permissions.mode' | 'permissions.tools.read' | 'permissions.tools.write' | 'permissions.tools.edit' | 'permissions.tools.exec' | 'permissions.tools.find' | 'permissions.tools.fetch' | 'permissions.tools.analyze' | 'permissions.tools.inspect' | 'permissions.tools.agent' | 'permissions.tools.state' | 'permissions.tools.workflow' | 'permissions.tools.registry' | 'permissions.tools.delegate' | 'permissions.tools.mcp' | 'orchestration.recursionEnabled' | 'orchestration.maxActiveAgents' | 'orchestration.maxDepth' | 'sandbox.replIsolation' | 'sandbox.mcpIsolation' | 'sandbox.windowsMode' | 'sandbox.vmBackend' | 'sandbox.qemuBinary' | 'sandbox.qemuImagePath' | 'sandbox.qemuExecWrapper' | 'sandbox.qemuGuestHost' | 'sandbox.qemuGuestPort' | 'sandbox.qemuGuestUser' | 'sandbox.qemuWorkspacePath' | 'sandbox.qemuSessionMode' | 'ui.voiceEnabled' | 'ui.systemMessages' | 'ui.operationalMessages' | 'ui.wrfcMessages' | 'release.channel' | 'danger.daemon' | 'danger.httpListener' | 'tools.llmEnabled' | 'tools.llmProvider' | 'tools.llmModel' | 'tools.autoHeal' | 'tools.defaultTokenBudget' | 'tools.hooksFile' | 'wrfc.scoreThreshold' | 'wrfc.maxFixAttempts' | 'wrfc.autoCommit' | 'cache.enabled' | 'cache.stableTtl' | 'cache.monitorHitRate' | 'cache.hitRateWarningThreshold' | 'helper.enabled' | 'helper.globalProvider' | 'helper.globalModel' | 'automation.enabled' | 'automation.maxConcurrentRuns' | 'automation.runHistoryLimit' | 'automation.defaultTimeoutMs' | 'automation.catchUpWindowMinutes' | 'automation.failureCooldownMs' | 'automation.deleteAfterRun' | 'controlPlane.enabled' | 'controlPlane.host' | 'controlPlane.port' | 'controlPlane.baseUrl' | 'controlPlane.streamMode' | 'controlPlane.allowRemote' | 'controlPlane.trustProxy' | 'controlPlane.tls.mode' | 'controlPlane.tls.certFile' | 'controlPlane.tls.keyFile' | 'httpListener.host' | 'httpListener.port' | 'httpListener.trustProxy' | 'httpListener.tls.mode' | 'httpListener.tls.certFile' | 'httpListener.tls.keyFile' | 'web.enabled' | 'web.host' | 'web.port' | 'web.publicBaseUrl' | 'web.staticAssetsDir' | 'surfaces.slack.enabled' | 'surfaces.slack.signingSecret' | 'surfaces.slack.botToken' | 'surfaces.slack.appToken' | 'surfaces.slack.defaultChannel' | 'surfaces.slack.workspaceId' | 'surfaces.discord.enabled' | 'surfaces.discord.publicKey' | 'surfaces.discord.botToken' | 'surfaces.discord.applicationId' | 'surfaces.discord.defaultChannelId' | 'surfaces.discord.guildId' | 'surfaces.ntfy.enabled' | 'surfaces.ntfy.baseUrl' | 'surfaces.ntfy.topic' | 'surfaces.ntfy.token' | 'surfaces.ntfy.defaultPriority' | 'surfaces.webhook.enabled' | 'surfaces.webhook.defaultTarget' | 'surfaces.webhook.timeoutMs' | 'surfaces.webhook.secret' | 'surfaces.telegram.enabled' | 'surfaces.telegram.botToken' | 'surfaces.telegram.webhookSecret' | 'surfaces.telegram.defaultChatId' | 'surfaces.telegram.botUsername' | 'surfaces.telegram.mode' | 'surfaces.googleChat.enabled' | 'surfaces.googleChat.webhookUrl' | 'surfaces.googleChat.verificationToken' | 'surfaces.googleChat.appId' | 'surfaces.googleChat.spaceId' | 'surfaces.signal.enabled' | 'surfaces.signal.bridgeUrl' | 'surfaces.signal.account' | 'surfaces.signal.token' | 'surfaces.signal.defaultRecipient' | 'surfaces.whatsapp.enabled' | 'surfaces.whatsapp.provider' | 'surfaces.whatsapp.accessToken' | 'surfaces.whatsapp.verifyToken' | 'surfaces.whatsapp.signingSecret' | 'surfaces.whatsapp.phoneNumberId' | 'surfaces.whatsapp.businessAccountId' | 'surfaces.whatsapp.defaultRecipient' | 'surfaces.imessage.enabled' | 'surfaces.imessage.bridgeUrl' | 'surfaces.imessage.account' | 'surfaces.imessage.token' | 'surfaces.imessage.defaultChatId' | 'surfaces.msteams.enabled' | 'surfaces.msteams.appId' | 'surfaces.msteams.appPassword' | 'surfaces.msteams.tenantId' | 'surfaces.msteams.serviceUrl' | 'surfaces.msteams.botId' | 'surfaces.msteams.defaultConversationId' | 'surfaces.msteams.defaultChannelId' | 'surfaces.bluebubbles.enabled' | 'surfaces.bluebubbles.serverUrl' | 'surfaces.bluebubbles.password' | 'surfaces.bluebubbles.account' | 'surfaces.bluebubbles.defaultChatGuid' | 'surfaces.mattermost.enabled' | 'surfaces.mattermost.baseUrl' | 'surfaces.mattermost.botToken' | 'surfaces.mattermost.teamId' | 'surfaces.mattermost.defaultChannelId' | 'surfaces.matrix.enabled' | 'surfaces.matrix.homeserverUrl' | 'surfaces.matrix.accessToken' | 'surfaces.matrix.userId' | 'surfaces.matrix.defaultRoomId' | 'watchers.enabled' | 'watchers.pollIntervalMs' | 'watchers.heartbeatIntervalMs' | 'watchers.recoveryWindowMinutes' | 'service.enabled' | 'service.autostart' | 'service.restartOnFailure' | 'service.platform' | 'service.serviceName' | 'service.logPath' | 'network.outboundTls.mode' | 'network.outboundTls.customCaFile' | 'network.outboundTls.customCaDir' | 'network.outboundTls.allowInsecureLocalhost' | 'network.remoteFetch.allowPrivateHosts';
338
339
  /** Maps a ConfigKey to its value type. */
339
- export type ConfigValue<K extends ConfigKey> = K extends 'display.stream' ? boolean : K extends 'display.lineNumbers' ? LineNumberMode : K extends 'display.collapseThreshold' ? number : K extends 'display.theme' ? string : K extends 'display.showThinking' ? boolean : K extends 'display.showReasoningSummary' ? boolean : K extends 'display.showTokenSpeed' ? boolean : K extends 'display.showToolPreview' ? boolean : K extends 'provider.reasoningEffort' ? 'instant' | 'low' | 'medium' | 'high' : K extends 'provider.model' ? string : K extends 'provider.provider' ? string : K extends 'provider.embeddingProvider' ? string : K extends 'provider.systemPromptFile' ? string : K extends 'behavior.autoApprove' ? boolean : K extends 'behavior.autoCompactThreshold' ? number : K extends 'behavior.staleContextWarnings' ? boolean : K extends 'behavior.saveHistory' ? boolean : K extends 'behavior.notifyOnComplete' ? boolean : K extends 'behavior.suggestAlternativeOnProviderFail' ? boolean : K extends 'behavior.hitlMode' ? 'quiet' | 'balanced' | 'operator' : K extends 'behavior.returnContextMode' ? 'off' | 'local' | 'assisted' : K extends 'behavior.guidanceMode' ? 'off' | 'minimal' | 'guided' : K extends 'storage.secretPolicy' ? 'plaintext_allowed' | 'preferred_secure' | 'require_secure' : K extends 'permissions.mode' ? PermissionMode : K extends 'permissions.tools.read' ? PermissionAction : K extends 'permissions.tools.write' ? PermissionAction : K extends 'permissions.tools.edit' ? PermissionAction : K extends 'permissions.tools.exec' ? PermissionAction : K extends 'permissions.tools.find' ? PermissionAction : K extends 'permissions.tools.fetch' ? PermissionAction : K extends 'permissions.tools.analyze' ? PermissionAction : K extends 'permissions.tools.inspect' ? PermissionAction : K extends 'permissions.tools.agent' ? PermissionAction : K extends 'permissions.tools.state' ? PermissionAction : K extends 'permissions.tools.workflow' ? PermissionAction : K extends 'permissions.tools.registry' ? PermissionAction : K extends 'permissions.tools.delegate' ? PermissionAction : K extends 'permissions.tools.mcp' ? PermissionAction : K extends 'orchestration.recursionEnabled' ? boolean : K extends 'orchestration.maxActiveAgents' ? number : K extends 'orchestration.maxDepth' ? number : K extends 'sandbox.replIsolation' ? 'shared-vm' | 'per-runtime-vm' : K extends 'sandbox.mcpIsolation' ? 'disabled' | 'shared-vm' | 'hybrid' | 'per-server-vm' : K extends 'sandbox.windowsMode' ? 'native-basic' | 'require-wsl' : K extends 'sandbox.vmBackend' ? 'local' | 'qemu' : K extends 'sandbox.qemuBinary' ? string : K extends 'sandbox.qemuImagePath' ? string : K extends 'sandbox.qemuExecWrapper' ? string : K extends 'sandbox.qemuGuestHost' ? string : K extends 'sandbox.qemuGuestPort' ? number : K extends 'sandbox.qemuGuestUser' ? string : K extends 'sandbox.qemuWorkspacePath' ? string : K extends 'sandbox.qemuSessionMode' ? 'attach' | 'launch-per-command' : K extends 'ui.voiceEnabled' ? boolean : K extends 'ui.systemMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.operationalMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.wrfcMessages' ? 'panel' | 'conversation' | 'both' : K extends 'release.channel' ? 'stable' | 'preview' : K extends 'danger.daemon' ? boolean : K extends 'danger.httpListener' ? boolean : K extends 'tools.llmProvider' ? string : K extends 'tools.llmModel' ? string : K extends 'tools.autoHeal' ? boolean : K extends 'tools.defaultTokenBudget' ? number : K extends 'tools.hooksFile' ? string : K extends 'wrfc.scoreThreshold' ? number : K extends 'wrfc.maxFixAttempts' ? number : K extends 'wrfc.autoCommit' ? boolean : K extends 'cache.enabled' ? boolean : K extends 'cache.stableTtl' ? '5m' | '1h' : K extends 'cache.monitorHitRate' ? boolean : K extends 'cache.hitRateWarningThreshold' ? number : K extends 'helper.enabled' ? boolean : K extends 'helper.globalProvider' ? string : K extends 'helper.globalModel' ? string : K extends 'automation.enabled' ? boolean : K extends 'automation.maxConcurrentRuns' ? number : K extends 'automation.runHistoryLimit' ? number : K extends 'automation.defaultTimeoutMs' ? number : K extends 'automation.catchUpWindowMinutes' ? number : K extends 'automation.failureCooldownMs' ? number : K extends 'automation.deleteAfterRun' ? boolean : K extends 'controlPlane.enabled' ? boolean : K extends 'controlPlane.host' ? string : K extends 'controlPlane.port' ? number : K extends 'controlPlane.baseUrl' ? string : K extends 'controlPlane.streamMode' ? 'sse' | 'websocket' | 'both' : K extends 'controlPlane.allowRemote' ? boolean : K extends 'controlPlane.trustProxy' ? boolean : K extends 'controlPlane.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'controlPlane.tls.certFile' ? string : K extends 'controlPlane.tls.keyFile' ? string : K extends 'httpListener.host' ? string : K extends 'httpListener.port' ? number : K extends 'httpListener.trustProxy' ? boolean : K extends 'httpListener.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'httpListener.tls.certFile' ? string : K extends 'httpListener.tls.keyFile' ? string : K extends 'web.enabled' ? boolean : K extends 'web.host' ? string : K extends 'web.port' ? number : K extends 'web.publicBaseUrl' ? string : K extends 'web.staticAssetsDir' ? string : K extends 'surfaces.slack.enabled' ? boolean : K extends 'surfaces.slack.signingSecret' ? string : K extends 'surfaces.slack.botToken' ? string : K extends 'surfaces.slack.appToken' ? string : K extends 'surfaces.slack.defaultChannel' ? string : K extends 'surfaces.slack.workspaceId' ? string : K extends 'surfaces.discord.enabled' ? boolean : K extends 'surfaces.discord.publicKey' ? string : K extends 'surfaces.discord.botToken' ? string : K extends 'surfaces.discord.applicationId' ? string : K extends 'surfaces.discord.defaultChannelId' ? string : K extends 'surfaces.discord.guildId' ? string : K extends 'surfaces.ntfy.enabled' ? boolean : K extends 'surfaces.ntfy.baseUrl' ? string : K extends 'surfaces.ntfy.topic' ? string : K extends 'surfaces.ntfy.token' ? string : K extends 'surfaces.ntfy.defaultPriority' ? number : K extends 'surfaces.webhook.enabled' ? boolean : K extends 'surfaces.webhook.defaultTarget' ? string : K extends 'surfaces.webhook.timeoutMs' ? number : K extends 'surfaces.webhook.secret' ? string : K extends 'surfaces.telegram.enabled' ? boolean : K extends 'surfaces.telegram.botToken' ? string : K extends 'surfaces.telegram.webhookSecret' ? string : K extends 'surfaces.telegram.defaultChatId' ? string : K extends 'surfaces.telegram.botUsername' ? string : K extends 'surfaces.telegram.mode' ? 'webhook' | 'polling' : K extends 'surfaces.googleChat.enabled' ? boolean : K extends 'surfaces.googleChat.webhookUrl' ? string : K extends 'surfaces.googleChat.verificationToken' ? string : K extends 'surfaces.googleChat.appId' ? string : K extends 'surfaces.googleChat.spaceId' ? string : K extends 'surfaces.signal.enabled' ? boolean : K extends 'surfaces.signal.bridgeUrl' ? string : K extends 'surfaces.signal.account' ? string : K extends 'surfaces.signal.token' ? string : K extends 'surfaces.signal.defaultRecipient' ? string : K extends 'surfaces.whatsapp.enabled' ? boolean : K extends 'surfaces.whatsapp.provider' ? 'meta-cloud' | 'bridge' : K extends 'surfaces.whatsapp.accessToken' ? string : K extends 'surfaces.whatsapp.verifyToken' ? string : K extends 'surfaces.whatsapp.signingSecret' ? string : K extends 'surfaces.whatsapp.phoneNumberId' ? string : K extends 'surfaces.whatsapp.businessAccountId' ? string : K extends 'surfaces.whatsapp.defaultRecipient' ? string : K extends 'surfaces.imessage.enabled' ? boolean : K extends 'surfaces.imessage.bridgeUrl' ? string : K extends 'surfaces.imessage.account' ? string : K extends 'surfaces.imessage.token' ? string : K extends 'surfaces.imessage.defaultChatId' ? string : K extends 'surfaces.msteams.enabled' ? boolean : K extends 'surfaces.msteams.appId' ? string : K extends 'surfaces.msteams.appPassword' ? string : K extends 'surfaces.msteams.tenantId' ? string : K extends 'surfaces.msteams.serviceUrl' ? string : K extends 'surfaces.msteams.botId' ? string : K extends 'surfaces.msteams.defaultConversationId' ? string : K extends 'surfaces.msteams.defaultChannelId' ? string : K extends 'surfaces.bluebubbles.enabled' ? boolean : K extends 'surfaces.bluebubbles.serverUrl' ? string : K extends 'surfaces.bluebubbles.password' ? string : K extends 'surfaces.bluebubbles.account' ? string : K extends 'surfaces.bluebubbles.defaultChatGuid' ? string : K extends 'surfaces.mattermost.enabled' ? boolean : K extends 'surfaces.mattermost.baseUrl' ? string : K extends 'surfaces.mattermost.botToken' ? string : K extends 'surfaces.mattermost.teamId' ? string : K extends 'surfaces.mattermost.defaultChannelId' ? string : K extends 'surfaces.matrix.enabled' ? boolean : K extends 'surfaces.matrix.homeserverUrl' ? string : K extends 'surfaces.matrix.accessToken' ? string : K extends 'surfaces.matrix.userId' ? string : K extends 'surfaces.matrix.defaultRoomId' ? string : K extends 'watchers.enabled' ? boolean : K extends 'watchers.pollIntervalMs' ? number : K extends 'watchers.heartbeatIntervalMs' ? number : K extends 'watchers.recoveryWindowMinutes' ? number : K extends 'service.enabled' ? boolean : K extends 'service.autostart' ? boolean : K extends 'service.restartOnFailure' ? boolean : K extends 'service.platform' ? 'auto' | 'systemd' | 'launchd' | 'windows' | 'manual' : K extends 'service.serviceName' ? string : K extends 'service.logPath' ? string : K extends 'network.outboundTls.mode' ? 'bundled' | 'bundled+custom' | 'custom' : K extends 'network.outboundTls.customCaFile' ? string : K extends 'network.outboundTls.customCaDir' ? string : K extends 'network.outboundTls.allowInsecureLocalhost' ? boolean : K extends 'network.remoteFetch.allowPrivateHosts' ? boolean : never;
340
+ export type ConfigValue<K extends ConfigKey> = K extends 'display.stream' ? boolean : K extends 'display.lineNumbers' ? LineNumberMode : K extends 'display.collapseThreshold' ? number : K extends 'display.theme' ? string : K extends 'display.showThinking' ? boolean : K extends 'display.showReasoningSummary' ? boolean : K extends 'display.showTokenSpeed' ? boolean : K extends 'display.showToolPreview' ? boolean : K extends 'provider.reasoningEffort' ? 'instant' | 'low' | 'medium' | 'high' : K extends 'provider.model' ? string : K extends 'provider.provider' ? string : K extends 'provider.embeddingProvider' ? string : K extends 'provider.systemPromptFile' ? string : K extends 'behavior.autoApprove' ? boolean : K extends 'behavior.autoCompactThreshold' ? number : K extends 'behavior.staleContextWarnings' ? boolean : K extends 'behavior.saveHistory' ? boolean : K extends 'behavior.notifyOnComplete' ? boolean : K extends 'behavior.suggestAlternativeOnProviderFail' ? boolean : K extends 'behavior.hitlMode' ? 'quiet' | 'balanced' | 'operator' : K extends 'behavior.returnContextMode' ? 'off' | 'local' | 'assisted' : K extends 'behavior.guidanceMode' ? 'off' | 'minimal' | 'guided' : K extends 'storage.secretPolicy' ? 'plaintext_allowed' | 'preferred_secure' | 'require_secure' : K extends 'permissions.mode' ? PermissionMode : K extends 'permissions.tools.read' ? PermissionAction : K extends 'permissions.tools.write' ? PermissionAction : K extends 'permissions.tools.edit' ? PermissionAction : K extends 'permissions.tools.exec' ? PermissionAction : K extends 'permissions.tools.find' ? PermissionAction : K extends 'permissions.tools.fetch' ? PermissionAction : K extends 'permissions.tools.analyze' ? PermissionAction : K extends 'permissions.tools.inspect' ? PermissionAction : K extends 'permissions.tools.agent' ? PermissionAction : K extends 'permissions.tools.state' ? PermissionAction : K extends 'permissions.tools.workflow' ? PermissionAction : K extends 'permissions.tools.registry' ? PermissionAction : K extends 'permissions.tools.delegate' ? PermissionAction : K extends 'permissions.tools.mcp' ? PermissionAction : K extends 'orchestration.recursionEnabled' ? boolean : K extends 'orchestration.maxActiveAgents' ? number : K extends 'orchestration.maxDepth' ? number : K extends 'sandbox.replIsolation' ? 'shared-vm' | 'per-runtime-vm' : K extends 'sandbox.mcpIsolation' ? 'disabled' | 'shared-vm' | 'hybrid' | 'per-server-vm' : K extends 'sandbox.windowsMode' ? 'native-basic' | 'require-wsl' : K extends 'sandbox.vmBackend' ? 'local' | 'qemu' : K extends 'sandbox.qemuBinary' ? string : K extends 'sandbox.qemuImagePath' ? string : K extends 'sandbox.qemuExecWrapper' ? string : K extends 'sandbox.qemuGuestHost' ? string : K extends 'sandbox.qemuGuestPort' ? number : K extends 'sandbox.qemuGuestUser' ? string : K extends 'sandbox.qemuWorkspacePath' ? string : K extends 'sandbox.qemuSessionMode' ? 'attach' | 'launch-per-command' : K extends 'ui.voiceEnabled' ? boolean : K extends 'ui.systemMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.operationalMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.wrfcMessages' ? 'panel' | 'conversation' | 'both' : K extends 'release.channel' ? 'stable' | 'preview' : K extends 'danger.daemon' ? boolean : K extends 'danger.httpListener' ? boolean : K extends 'tools.llmEnabled' ? boolean : K extends 'tools.llmProvider' ? string : K extends 'tools.llmModel' ? string : K extends 'tools.autoHeal' ? boolean : K extends 'tools.defaultTokenBudget' ? number : K extends 'tools.hooksFile' ? string : K extends 'wrfc.scoreThreshold' ? number : K extends 'wrfc.maxFixAttempts' ? number : K extends 'wrfc.autoCommit' ? boolean : K extends 'cache.enabled' ? boolean : K extends 'cache.stableTtl' ? '5m' | '1h' : K extends 'cache.monitorHitRate' ? boolean : K extends 'cache.hitRateWarningThreshold' ? number : K extends 'helper.enabled' ? boolean : K extends 'helper.globalProvider' ? string : K extends 'helper.globalModel' ? string : K extends 'automation.enabled' ? boolean : K extends 'automation.maxConcurrentRuns' ? number : K extends 'automation.runHistoryLimit' ? number : K extends 'automation.defaultTimeoutMs' ? number : K extends 'automation.catchUpWindowMinutes' ? number : K extends 'automation.failureCooldownMs' ? number : K extends 'automation.deleteAfterRun' ? boolean : K extends 'controlPlane.enabled' ? boolean : K extends 'controlPlane.host' ? string : K extends 'controlPlane.port' ? number : K extends 'controlPlane.baseUrl' ? string : K extends 'controlPlane.streamMode' ? 'sse' | 'websocket' | 'both' : K extends 'controlPlane.allowRemote' ? boolean : K extends 'controlPlane.trustProxy' ? boolean : K extends 'controlPlane.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'controlPlane.tls.certFile' ? string : K extends 'controlPlane.tls.keyFile' ? string : K extends 'httpListener.host' ? string : K extends 'httpListener.port' ? number : K extends 'httpListener.trustProxy' ? boolean : K extends 'httpListener.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'httpListener.tls.certFile' ? string : K extends 'httpListener.tls.keyFile' ? string : K extends 'web.enabled' ? boolean : K extends 'web.host' ? string : K extends 'web.port' ? number : K extends 'web.publicBaseUrl' ? string : K extends 'web.staticAssetsDir' ? string : K extends 'surfaces.slack.enabled' ? boolean : K extends 'surfaces.slack.signingSecret' ? string : K extends 'surfaces.slack.botToken' ? string : K extends 'surfaces.slack.appToken' ? string : K extends 'surfaces.slack.defaultChannel' ? string : K extends 'surfaces.slack.workspaceId' ? string : K extends 'surfaces.discord.enabled' ? boolean : K extends 'surfaces.discord.publicKey' ? string : K extends 'surfaces.discord.botToken' ? string : K extends 'surfaces.discord.applicationId' ? string : K extends 'surfaces.discord.defaultChannelId' ? string : K extends 'surfaces.discord.guildId' ? string : K extends 'surfaces.ntfy.enabled' ? boolean : K extends 'surfaces.ntfy.baseUrl' ? string : K extends 'surfaces.ntfy.topic' ? string : K extends 'surfaces.ntfy.token' ? string : K extends 'surfaces.ntfy.defaultPriority' ? number : K extends 'surfaces.webhook.enabled' ? boolean : K extends 'surfaces.webhook.defaultTarget' ? string : K extends 'surfaces.webhook.timeoutMs' ? number : K extends 'surfaces.webhook.secret' ? string : K extends 'surfaces.telegram.enabled' ? boolean : K extends 'surfaces.telegram.botToken' ? string : K extends 'surfaces.telegram.webhookSecret' ? string : K extends 'surfaces.telegram.defaultChatId' ? string : K extends 'surfaces.telegram.botUsername' ? string : K extends 'surfaces.telegram.mode' ? 'webhook' | 'polling' : K extends 'surfaces.googleChat.enabled' ? boolean : K extends 'surfaces.googleChat.webhookUrl' ? string : K extends 'surfaces.googleChat.verificationToken' ? string : K extends 'surfaces.googleChat.appId' ? string : K extends 'surfaces.googleChat.spaceId' ? string : K extends 'surfaces.signal.enabled' ? boolean : K extends 'surfaces.signal.bridgeUrl' ? string : K extends 'surfaces.signal.account' ? string : K extends 'surfaces.signal.token' ? string : K extends 'surfaces.signal.defaultRecipient' ? string : K extends 'surfaces.whatsapp.enabled' ? boolean : K extends 'surfaces.whatsapp.provider' ? 'meta-cloud' | 'bridge' : K extends 'surfaces.whatsapp.accessToken' ? string : K extends 'surfaces.whatsapp.verifyToken' ? string : K extends 'surfaces.whatsapp.signingSecret' ? string : K extends 'surfaces.whatsapp.phoneNumberId' ? string : K extends 'surfaces.whatsapp.businessAccountId' ? string : K extends 'surfaces.whatsapp.defaultRecipient' ? string : K extends 'surfaces.imessage.enabled' ? boolean : K extends 'surfaces.imessage.bridgeUrl' ? string : K extends 'surfaces.imessage.account' ? string : K extends 'surfaces.imessage.token' ? string : K extends 'surfaces.imessage.defaultChatId' ? string : K extends 'surfaces.msteams.enabled' ? boolean : K extends 'surfaces.msteams.appId' ? string : K extends 'surfaces.msteams.appPassword' ? string : K extends 'surfaces.msteams.tenantId' ? string : K extends 'surfaces.msteams.serviceUrl' ? string : K extends 'surfaces.msteams.botId' ? string : K extends 'surfaces.msteams.defaultConversationId' ? string : K extends 'surfaces.msteams.defaultChannelId' ? string : K extends 'surfaces.bluebubbles.enabled' ? boolean : K extends 'surfaces.bluebubbles.serverUrl' ? string : K extends 'surfaces.bluebubbles.password' ? string : K extends 'surfaces.bluebubbles.account' ? string : K extends 'surfaces.bluebubbles.defaultChatGuid' ? string : K extends 'surfaces.mattermost.enabled' ? boolean : K extends 'surfaces.mattermost.baseUrl' ? string : K extends 'surfaces.mattermost.botToken' ? string : K extends 'surfaces.mattermost.teamId' ? string : K extends 'surfaces.mattermost.defaultChannelId' ? string : K extends 'surfaces.matrix.enabled' ? boolean : K extends 'surfaces.matrix.homeserverUrl' ? string : K extends 'surfaces.matrix.accessToken' ? string : K extends 'surfaces.matrix.userId' ? string : K extends 'surfaces.matrix.defaultRoomId' ? string : K extends 'watchers.enabled' ? boolean : K extends 'watchers.pollIntervalMs' ? number : K extends 'watchers.heartbeatIntervalMs' ? number : K extends 'watchers.recoveryWindowMinutes' ? number : K extends 'service.enabled' ? boolean : K extends 'service.autostart' ? boolean : K extends 'service.restartOnFailure' ? boolean : K extends 'service.platform' ? 'auto' | 'systemd' | 'launchd' | 'windows' | 'manual' : K extends 'service.serviceName' ? string : K extends 'service.logPath' ? string : K extends 'network.outboundTls.mode' ? 'bundled' | 'bundled+custom' | 'custom' : K extends 'network.outboundTls.customCaFile' ? string : K extends 'network.outboundTls.customCaDir' ? string : K extends 'network.outboundTls.allowInsecureLocalhost' ? boolean : K extends 'network.remoteFetch.allowPrivateHosts' ? boolean : never;
340
341
  //# sourceMappingURL=schema-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-llm.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/tool-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,iBAAiB,GAAG,aAAa,CAAC,CAAC;CAC9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI,CAmBxE;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;CAsB9E"}
1
+ {"version":3,"file":"tool-llm.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/tool-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,iBAAiB,GAAG,aAAa,CAAC,CAAC;CAC9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI,CAsBxE;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;CAsB9E"}
@@ -26,6 +26,9 @@ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-displ
26
26
  */
27
27
  export function resolveToolLLM(deps) {
28
28
  try {
29
+ const enabled = deps.configManager.get('tools.llmEnabled');
30
+ if (!enabled)
31
+ return null;
29
32
  const cfgProvider = deps.configManager.get('tools.llmProvider');
30
33
  const cfgModel = deps.configManager.get('tools.llmModel');
31
34
  if (cfgProvider && cfgModel) {
@@ -0,0 +1,45 @@
1
+ export interface CompanionPairingResult {
2
+ readonly token: string;
3
+ readonly peerId: string;
4
+ readonly createdAt: number;
5
+ }
6
+ export interface CompanionConnectionInfo {
7
+ readonly url: string;
8
+ readonly token: string;
9
+ readonly username: string;
10
+ readonly version: string;
11
+ readonly surface: string;
12
+ }
13
+ export interface CompanionTokenRecord {
14
+ readonly token: string;
15
+ readonly peerId: string;
16
+ readonly createdAt: number;
17
+ }
18
+ /**
19
+ * Load the stored companion token for a surface, or generate and persist a new one.
20
+ */
21
+ export declare function getOrCreateCompanionToken(surface: string, options?: {
22
+ basePath?: string;
23
+ regenerate?: boolean;
24
+ }): CompanionPairingResult;
25
+ /**
26
+ * Regenerate the companion token for a surface, replacing any existing token.
27
+ */
28
+ export declare function regenerateCompanionToken(surface: string, options?: {
29
+ basePath?: string;
30
+ }): CompanionPairingResult;
31
+ /**
32
+ * Build a CompanionConnectionInfo object from raw parameters.
33
+ */
34
+ export declare function buildCompanionConnectionInfo(options: {
35
+ daemonUrl: string;
36
+ token: string;
37
+ username?: string;
38
+ version?: string;
39
+ surface?: string;
40
+ }): CompanionConnectionInfo;
41
+ /**
42
+ * Encode a CompanionConnectionInfo as a JSON string suitable for QR encoding.
43
+ */
44
+ export declare function encodeConnectionPayload(info: CompanionConnectionInfo): string;
45
+ //# sourceMappingURL=companion-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-token.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/pairing/companion-token.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAqBD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACpD,sBAAsB,CAyBxB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,sBAAsB,CAExB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,uBAAuB,CAQ1B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAQ7E"}
@@ -0,0 +1,74 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ const TOKEN_PREFIX = 'gv_';
5
+ function generateTokenValue() {
6
+ return TOKEN_PREFIX + randomBytes(24).toString('base64url');
7
+ }
8
+ function generatePeerId() {
9
+ return randomBytes(12).toString('hex');
10
+ }
11
+ /**
12
+ * Resolve the path to the companion token file for a given surface.
13
+ * Stored at `.goodvibes/<surface>/companion-token.json` relative to cwd.
14
+ */
15
+ function resolveTokenPath(surface, basePath) {
16
+ const base = basePath ?? process.cwd();
17
+ return join(base, '.goodvibes', surface, 'companion-token.json');
18
+ }
19
+ /**
20
+ * Load the stored companion token for a surface, or generate and persist a new one.
21
+ */
22
+ export function getOrCreateCompanionToken(surface, options) {
23
+ const tokenPath = resolveTokenPath(surface, options?.basePath);
24
+ if (!options?.regenerate && existsSync(tokenPath)) {
25
+ try {
26
+ const raw = readFileSync(tokenPath, 'utf-8');
27
+ const record = JSON.parse(raw);
28
+ if (typeof record.token === 'string' && typeof record.peerId === 'string') {
29
+ return { token: record.token, peerId: record.peerId, createdAt: record.createdAt };
30
+ }
31
+ }
32
+ catch {
33
+ // Fall through to regenerate
34
+ }
35
+ }
36
+ const record = {
37
+ token: generateTokenValue(),
38
+ peerId: generatePeerId(),
39
+ createdAt: Date.now(),
40
+ };
41
+ mkdirSync(join(resolveTokenPath(surface, options?.basePath), '..'), { recursive: true });
42
+ writeFileSync(tokenPath, JSON.stringify(record, null, 2), 'utf-8');
43
+ return { token: record.token, peerId: record.peerId, createdAt: record.createdAt };
44
+ }
45
+ /**
46
+ * Regenerate the companion token for a surface, replacing any existing token.
47
+ */
48
+ export function regenerateCompanionToken(surface, options) {
49
+ return getOrCreateCompanionToken(surface, { ...options, regenerate: true });
50
+ }
51
+ /**
52
+ * Build a CompanionConnectionInfo object from raw parameters.
53
+ */
54
+ export function buildCompanionConnectionInfo(options) {
55
+ return {
56
+ url: options.daemonUrl,
57
+ token: options.token,
58
+ username: options.username ?? 'admin',
59
+ version: options.version ?? '0.0.0',
60
+ surface: options.surface ?? 'daemon',
61
+ };
62
+ }
63
+ /**
64
+ * Encode a CompanionConnectionInfo as a JSON string suitable for QR encoding.
65
+ */
66
+ export function encodeConnectionPayload(info) {
67
+ return JSON.stringify({
68
+ url: info.url,
69
+ token: info.token,
70
+ username: info.username,
71
+ version: info.version,
72
+ surface: info.surface,
73
+ });
74
+ }
@@ -0,0 +1,10 @@
1
+ import type { CompanionConnectionInfo } from './companion-token.js';
2
+ /**
3
+ * Format a human-readable connection block for stdout display in daemon standalone mode.
4
+ *
5
+ * @param info - The companion connection info.
6
+ * @param qrString - The rendered QR code string (from renderQrToString).
7
+ * @returns Formatted multi-line string ready for stdout.
8
+ */
9
+ export declare function formatConnectionBlock(info: CompanionConnectionInfo, qrString: string): string;
10
+ //# sourceMappingURL=connection-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-info.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/pairing/connection-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAIpE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,MAAM,GACf,MAAM,CAmBR"}
@@ -0,0 +1,27 @@
1
+ const DIVIDER = '\u2501'.repeat(24); // ━━━━━━━━━━━━━━━━━━━━━━━━
2
+ /**
3
+ * Format a human-readable connection block for stdout display in daemon standalone mode.
4
+ *
5
+ * @param info - The companion connection info.
6
+ * @param qrString - The rendered QR code string (from renderQrToString).
7
+ * @returns Formatted multi-line string ready for stdout.
8
+ */
9
+ export function formatConnectionBlock(info, qrString) {
10
+ const header = `goodvibes daemon v${info.version}`;
11
+ const urlLine = `URL: ${info.url}`;
12
+ const tokenLine = `Token: ${info.token}`;
13
+ const userLine = `User: ${info.username}`;
14
+ return [
15
+ header,
16
+ DIVIDER,
17
+ urlLine,
18
+ tokenLine,
19
+ userLine,
20
+ '',
21
+ 'Scan to connect:',
22
+ '',
23
+ qrString,
24
+ '',
25
+ 'Waiting for connections...',
26
+ ].join('\n');
27
+ }
@@ -0,0 +1,6 @@
1
+ export type { QrMatrix, } from './qr-generator.js';
2
+ export { generateQrMatrix, renderQrToString, } from './qr-generator.js';
3
+ export type { CompanionPairingResult, CompanionConnectionInfo, CompanionTokenRecord, } from './companion-token.js';
4
+ export { getOrCreateCompanionToken, regenerateCompanionToken, buildCompanionConnectionInfo, encodeConnectionPayload, } from './companion-token.js';
5
+ export { formatConnectionBlock } from './connection-info.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/pairing/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { generateQrMatrix, renderQrToString, } from './qr-generator.js';
2
+ export { getOrCreateCompanionToken, regenerateCompanionToken, buildCompanionConnectionInfo, encodeConnectionPayload, } from './companion-token.js';
3
+ export { formatConnectionBlock } from './connection-info.js';
@@ -0,0 +1,20 @@
1
+ export interface QrMatrix {
2
+ readonly size: number;
3
+ readonly modules: readonly boolean[][];
4
+ }
5
+ /**
6
+ * Generate a QR code matrix for the given data string.
7
+ * Tries qrencode CLI first; falls back to minimal built-in implementation.
8
+ */
9
+ export declare function generateQrMatrix(data: string): QrMatrix;
10
+ /**
11
+ * Render a QR matrix to a Unicode block string suitable for terminal output.
12
+ * Uses half-block characters to pack 2 rows into 1 terminal row.
13
+ *
14
+ * - Full block `█` = dark top + dark bottom
15
+ * - Upper half `▀` = dark top + light bottom
16
+ * - Lower half `▄` = light top + dark bottom
17
+ * - Space ` ` = light top + light bottom
18
+ */
19
+ export declare function renderQrToString(matrix: QrMatrix): string;
20
+ //# sourceMappingURL=qr-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-generator.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/pairing/qr-generator.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,EAAE,CAAC;CACxC;AAibD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAIvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAgBzD"}
@@ -0,0 +1,452 @@
1
+ import { execSync } from 'node:child_process';
2
+ /**
3
+ * Attempt to generate a QR matrix by shelling out to `qrencode`.
4
+ * Returns null if qrencode is not available or fails.
5
+ */
6
+ function tryQrencode(data) {
7
+ try {
8
+ // -t ASC outputs a 2-character-per-module ASCII representation:
9
+ // '##' = dark module, ' ' = light module, with a surrounding quiet zone
10
+ // We use -t UTF8i (inverted) if available, or fall back to -t ASC.
11
+ // qrencode -t ASC outputs lines like: '###### ## ######'
12
+ // where each character is one module.
13
+ // We request -m 0 (no margin) and -s 1 for raw matrix output.
14
+ const output = execSync(`qrencode -m 0 -t ASC ${JSON.stringify(data)}`, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], timeout: 5000 });
15
+ const rawLines = output.split('\n').filter((l) => l.length > 0);
16
+ if (rawLines.length === 0)
17
+ return null;
18
+ // qrencode ASC mode: each module is 2 characters wide ('##' dark, ' ' light)
19
+ const modules = rawLines.map((line) => {
20
+ const row = [];
21
+ for (let i = 0; i < line.length; i += 2) {
22
+ const pair = line.slice(i, i + 2);
23
+ row.push(pair === '##');
24
+ }
25
+ return row;
26
+ });
27
+ const size = modules[0]?.length ?? 0;
28
+ // Normalize all rows to the same size
29
+ const normalized = modules.map((row) => {
30
+ while (row.length < size)
31
+ row.push(false);
32
+ return row.slice(0, size);
33
+ });
34
+ return { size, modules: normalized };
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ /**
41
+ * Minimal fallback QR matrix generator using a tiny Reed-Solomon QR implementation.
42
+ * Supports QR versions 1-9 (up to ~134 bytes, ECC level M).
43
+ *
44
+ * This is a self-contained implementation suitable for short connection strings.
45
+ */
46
+ function generateQrMatrixMinimal(data) {
47
+ const bytes = new TextEncoder().encode(data);
48
+ const len = bytes.length;
49
+ // Version selection table: [version, dataCapacityBytes at ECC-M]
50
+ // Source: QR code spec Table 9
51
+ const versionTable = [
52
+ [1, 16], [2, 28], [3, 44], [4, 64], [5, 86],
53
+ [6, 108], [7, 124], [8, 154], [9, 182], [10, 216],
54
+ ];
55
+ let version = 0;
56
+ for (const [v, cap] of versionTable) {
57
+ if (len <= cap) {
58
+ version = v;
59
+ break;
60
+ }
61
+ }
62
+ if (version === 0) {
63
+ throw new Error(`Data too long for minimal QR generator (${len} bytes, max 216)`);
64
+ }
65
+ // Total codewords and ECC codewords per block (ECC level M)
66
+ // [version]: [totalCodewords, eccCodewords, blocks]
67
+ const eccTable = {
68
+ 1: [26, 10, 1], 2: [44, 16, 1], 3: [70, 26, 2],
69
+ 4: [100, 36, 2], 5: [134, 48, 2], 6: [172, 64, 4],
70
+ 7: [196, 72, 4], 8: [242, 88, 4], 9: [292, 110, 5],
71
+ 10: [346, 130, 5],
72
+ };
73
+ const [totalCodewords, eccPerBlock, numBlocks] = eccTable[version];
74
+ const dataCodewords = totalCodewords - (eccPerBlock * numBlocks);
75
+ // Build data bit stream: mode (byte=0100), char count, data, terminator, padding
76
+ const bits = [];
77
+ function pushBits(value, count) {
78
+ for (let i = count - 1; i >= 0; i--) {
79
+ bits.push((value >> i) & 1);
80
+ }
81
+ }
82
+ // Mode indicator: byte mode = 0100
83
+ pushBits(0b0100, 4);
84
+ // Character count indicator (version 1-9: 8 bits for byte mode)
85
+ pushBits(len, 8);
86
+ // Data bytes
87
+ for (const b of bytes)
88
+ pushBits(b, 8);
89
+ // Terminator (up to 4 zero bits)
90
+ const maxBits = dataCodewords * 8;
91
+ for (let i = 0; i < 4 && bits.length < maxBits; i++)
92
+ bits.push(0);
93
+ // Pad to byte boundary
94
+ while (bits.length % 8 !== 0)
95
+ bits.push(0);
96
+ // Pad codewords
97
+ const padBytes = [0xEC, 0x11];
98
+ let padIdx = 0;
99
+ while (bits.length < maxBits) {
100
+ pushBits(padBytes[padIdx % 2], 8);
101
+ padIdx++;
102
+ }
103
+ // Convert bits to bytes
104
+ const dataBytes = [];
105
+ for (let i = 0; i < bits.length; i += 8) {
106
+ let b = 0;
107
+ for (let j = 0; j < 8; j++)
108
+ b = (b << 1) | (bits[i + j] ?? 0);
109
+ dataBytes.push(b);
110
+ }
111
+ // Split into blocks and compute ECC
112
+ const dataPerBlock = Math.floor(dataCodewords / numBlocks);
113
+ const extraBlocks = dataCodewords - dataPerBlock * numBlocks;
114
+ const blocks = [];
115
+ let offset = 0;
116
+ for (let b = 0; b < numBlocks; b++) {
117
+ const blockLen = dataPerBlock + (b < extraBlocks ? 1 : 0);
118
+ blocks.push(dataBytes.slice(offset, offset + blockLen));
119
+ offset += blockLen;
120
+ }
121
+ // Reed-Solomon ECC generation
122
+ function gfMul(a, b) {
123
+ if (a === 0 || b === 0)
124
+ return 0;
125
+ const logTable = buildLogTable();
126
+ const expTable = buildExpTable();
127
+ return expTable[(logTable[a] + logTable[b]) % 255];
128
+ }
129
+ // Lazily built lookup tables (closured)
130
+ let _expTable = null;
131
+ let _logTable = null;
132
+ function buildExpTable() {
133
+ if (_expTable)
134
+ return _expTable;
135
+ _expTable = new Array(256);
136
+ let x = 1;
137
+ for (let i = 0; i < 255; i++) {
138
+ _expTable[i] = x;
139
+ x = (x << 1) ^ (x >= 128 ? 0x11d : 0);
140
+ }
141
+ _expTable[255] = _expTable[0];
142
+ return _expTable;
143
+ }
144
+ function buildLogTable() {
145
+ if (_logTable)
146
+ return _logTable;
147
+ const exp = buildExpTable();
148
+ _logTable = new Array(256).fill(0);
149
+ for (let i = 0; i < 255; i++)
150
+ _logTable[exp[i]] = i;
151
+ return _logTable;
152
+ }
153
+ function rsEcc(data, eccCount) {
154
+ // Generator polynomial for eccCount error correction codewords
155
+ const expTable = buildExpTable();
156
+ const logTable = buildLogTable();
157
+ // Build generator polynomial
158
+ let gen = [1];
159
+ for (let i = 0; i < eccCount; i++) {
160
+ const factor = [1, expTable[i]];
161
+ const newGen = new Array(gen.length + factor.length - 1).fill(0);
162
+ for (let j = 0; j < gen.length; j++) {
163
+ for (let k = 0; k < factor.length; k++) {
164
+ newGen[j + k] ^= gfMul(gen[j], factor[k]);
165
+ }
166
+ }
167
+ gen = newGen;
168
+ }
169
+ // Polynomial long division
170
+ const msg = [...data, ...new Array(eccCount).fill(0)];
171
+ for (let i = 0; i < data.length; i++) {
172
+ const coef = msg[i];
173
+ if (coef !== 0) {
174
+ const log = logTable[coef];
175
+ for (let j = 0; j < gen.length; j++) {
176
+ msg[i + j] ^= gfMul(gen[j], expTable[(log + logTable[gen[j]]) % 255] / gen[j] | 0);
177
+ // Correct formula using logs:
178
+ if (gen[j] !== 0) {
179
+ msg[i + j] ^= expTable[(log + logTable[gen[j]]) % 255];
180
+ // undo the wrong xor above
181
+ msg[i + j] ^= gfMul(gen[j], expTable[(log + logTable[gen[j]]) % 255] / gen[j] | 0);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ return msg.slice(data.length);
187
+ }
188
+ // Simpler, correct RS ECC implementation:
189
+ function rsEccCorrect(data, eccCount) {
190
+ const expTable = buildExpTable();
191
+ const logTable = buildLogTable();
192
+ let gen = [1];
193
+ for (let i = 0; i < eccCount; i++) {
194
+ const factor = [1, expTable[i]];
195
+ const newGen = new Array(gen.length + factor.length - 1).fill(0);
196
+ for (let j = 0; j < gen.length; j++) {
197
+ for (let k = 0; k < factor.length; k++) {
198
+ newGen[j + k] ^= gfMul(gen[j], factor[k]);
199
+ }
200
+ }
201
+ gen = newGen;
202
+ }
203
+ const msg = [...data, ...new Array(eccCount).fill(0)];
204
+ for (let i = 0; i < data.length; i++) {
205
+ const coef = msg[i];
206
+ if (coef !== 0) {
207
+ const logCoef = logTable[coef];
208
+ for (let j = 1; j < gen.length; j++) {
209
+ if (gen[j] !== 0) {
210
+ msg[i + j] ^= expTable[(logCoef + logTable[gen[j]]) % 255];
211
+ }
212
+ }
213
+ }
214
+ }
215
+ return msg.slice(data.length);
216
+ }
217
+ // Interleave blocks and compute ECC
218
+ const eccBlocks = blocks.map((b) => rsEccCorrect(b, eccPerBlock));
219
+ const finalBytes = [];
220
+ // Interleave data blocks
221
+ const maxDataLen = Math.max(...blocks.map((b) => b.length));
222
+ for (let i = 0; i < maxDataLen; i++) {
223
+ for (const block of blocks) {
224
+ if (i < block.length)
225
+ finalBytes.push(block[i]);
226
+ }
227
+ }
228
+ // Interleave ECC blocks
229
+ for (let i = 0; i < eccPerBlock; i++) {
230
+ for (const ecc of eccBlocks) {
231
+ finalBytes.push(ecc[i]);
232
+ }
233
+ }
234
+ // Build the QR matrix
235
+ const size = 21 + (version - 1) * 4;
236
+ const matrix = Array.from({ length: size }, () => new Array(size).fill(null));
237
+ function setModule(row, col, dark) {
238
+ if (row >= 0 && row < size && col >= 0 && col < size) {
239
+ matrix[row][col] = dark;
240
+ }
241
+ }
242
+ // Place finder pattern
243
+ function placeFinderPattern(r, c) {
244
+ for (let dy = -1; dy <= 7; dy++) {
245
+ for (let dx = -1; dx <= 7; dx++) {
246
+ const inOuter = dy >= 0 && dy <= 6 && dx >= 0 && dx <= 6;
247
+ const inWhite = dy >= 1 && dy <= 5 && dx >= 1 && dx <= 5;
248
+ const inInner = dy >= 2 && dy <= 4 && dx >= 2 && dx <= 4;
249
+ if (!inOuter) {
250
+ setModule(r + dy, c + dx, false); // separator
251
+ }
252
+ else if (inWhite && !inInner) {
253
+ setModule(r + dy, c + dx, false);
254
+ }
255
+ else {
256
+ setModule(r + dy, c + dx, inInner || (dy === 0 || dy === 6 || dx === 0 || dx === 6));
257
+ }
258
+ }
259
+ }
260
+ }
261
+ placeFinderPattern(0, 0);
262
+ placeFinderPattern(0, size - 7);
263
+ placeFinderPattern(size - 7, 0);
264
+ // Timing patterns
265
+ for (let i = 8; i < size - 8; i++) {
266
+ const dark = i % 2 === 0;
267
+ setModule(6, i, dark);
268
+ setModule(i, 6, dark);
269
+ }
270
+ // Alignment patterns (version >= 2)
271
+ const alignmentPositions = {
272
+ 2: [6, 18], 3: [6, 22], 4: [6, 26], 5: [6, 30],
273
+ 6: [6, 34], 7: [6, 22, 38], 8: [6, 24, 42],
274
+ 9: [6, 28, 46], 10: [6, 28, 50],
275
+ };
276
+ const alignPos = version >= 2 ? alignmentPositions[version] ?? [] : [];
277
+ for (const r of alignPos) {
278
+ for (const c of alignPos) {
279
+ // Skip positions occupied by finder patterns
280
+ if ((r <= 8 && c <= 8) || (r <= 8 && c >= size - 8) || (r >= size - 8 && c <= 8))
281
+ continue;
282
+ for (let dy = -2; dy <= 2; dy++) {
283
+ for (let dx = -2; dx <= 2; dx++) {
284
+ const isEdge = Math.abs(dy) === 2 || Math.abs(dx) === 2;
285
+ const isCenter = dy === 0 && dx === 0;
286
+ setModule(r + dy, c + dx, isEdge || isCenter);
287
+ }
288
+ }
289
+ }
290
+ }
291
+ // Dark module (always dark)
292
+ setModule(4 * version + 9, 8, true);
293
+ // Format information area — reserve (mark as false for now)
294
+ for (let i = 0; i < 9; i++) {
295
+ setModule(8, i, matrix[8]?.[i] ?? false);
296
+ setModule(i, 8, matrix[i]?.[8] ?? false);
297
+ }
298
+ for (let i = size - 8; i < size; i++) {
299
+ setModule(8, i, false);
300
+ setModule(i, 8, false);
301
+ }
302
+ // Place data bits (zigzag pattern)
303
+ const allBits = [];
304
+ for (const b of finalBytes) {
305
+ for (let i = 7; i >= 0; i--)
306
+ allBits.push((b >> i) & 1);
307
+ }
308
+ let bitIdx = 0;
309
+ let goUp = true;
310
+ // Right-to-left column pairs, skipping column 6 (timing)
311
+ for (let col = size - 1; col >= 1; col -= 2) {
312
+ if (col === 6)
313
+ col--; // skip timing column
314
+ const colRange = goUp
315
+ ? Array.from({ length: size }, (_, i) => size - 1 - i)
316
+ : Array.from({ length: size }, (_, i) => i);
317
+ for (const row of colRange) {
318
+ for (const dc of [0, -1]) {
319
+ const c = col + dc;
320
+ if (matrix[row]?.[c] === null) {
321
+ const bit = allBits[bitIdx++] ?? 0;
322
+ matrix[row][c] = bit === 1;
323
+ }
324
+ }
325
+ }
326
+ goUp = !goUp;
327
+ }
328
+ // Apply mask pattern 0 (checkerboard: (row + col) % 2 === 0)
329
+ // and place format information
330
+ const maskFn = (r, c) => (r + c) % 2 === 0;
331
+ for (let r = 0; r < size; r++) {
332
+ for (let c = 0; c < size; c++) {
333
+ const module = matrix[r]?.[c];
334
+ if (module === null) {
335
+ matrix[r][c] = false; // unfilled = light
336
+ }
337
+ else {
338
+ // Only apply mask to data modules (not function patterns)
339
+ // We re-apply masking carefully: function patterns are already fixed
340
+ // Data modules that were null are now set above
341
+ }
342
+ }
343
+ }
344
+ // Apply mask to data modules (those placed via zigzag)
345
+ bitIdx = 0;
346
+ goUp = true;
347
+ const maskedMatrix = matrix.map((row) => row.map((m) => m ?? false));
348
+ // Reset data area and re-place with masking
349
+ {
350
+ const tempMatrix = matrix.map((row) => [...row]);
351
+ // Re-mark data positions as null
352
+ let bi = 0;
353
+ let gu = true;
354
+ for (let col = size - 1; col >= 1; col -= 2) {
355
+ if (col === 6)
356
+ col--;
357
+ const colRange = gu
358
+ ? Array.from({ length: size }, (_, i) => size - 1 - i)
359
+ : Array.from({ length: size }, (_, i) => i);
360
+ for (const row of colRange) {
361
+ for (const dc of [0, -1]) {
362
+ const c = col + dc;
363
+ if (tempMatrix[row]?.[c] !== null) {
364
+ // was set as data, apply mask
365
+ const dark = (allBits[bi++] ?? 0) === 1;
366
+ maskedMatrix[row][c] = maskFn(row, c) ? !dark : dark;
367
+ }
368
+ }
369
+ }
370
+ gu = !gu;
371
+ }
372
+ }
373
+ // Format string for ECC level M (01), mask pattern 0 (000)
374
+ // Format info = 01000 XOR 101010000010010 = 110010111100101
375
+ // Precomputed: ECC-M + mask-0 = format bits 101000000100101 (with BCH)
376
+ // Using known correct value for M+mask0: 0x5647 -> bits[14..0]
377
+ // Actually standard value: ECC-M=1, mask=0 -> data=01_000 -> format=01000 00000000
378
+ // BCH(01000)=0100000000+BCH = let's use precomputed: 0x72F3 for M+mask2, etc.
379
+ // Correct precomputed format words (ECC-M=0b01, masks 0-7):
380
+ const formatWords = [
381
+ 0x5412, 0x5125, 0x5E7C, 0x5B4B, 0x45F9, 0x40CE, 0x4F97, 0x4AA0,
382
+ ];
383
+ const formatWord = formatWords[0]; // mask 0
384
+ const formatXor = 0b101010000010010;
385
+ const fmt = (formatWord ^ formatXor) & 0x7FFF;
386
+ const fmtBits = Array.from({ length: 15 }, (_, i) => (fmt >> (14 - i)) & 1);
387
+ // Place format bits around finder patterns
388
+ // Around top-left finder:
389
+ const fmtPositions1 = [
390
+ [8, 0], [8, 1], [8, 2], [8, 3], [8, 4], [8, 5], [8, 7], [8, 8],
391
+ [7, 8], [5, 8], [4, 8], [3, 8], [2, 8], [1, 8], [0, 8],
392
+ ];
393
+ fmtPositions1.forEach(([r, c], i) => {
394
+ maskedMatrix[r][c] = fmtBits[i] === 1;
395
+ });
396
+ // Around top-right and bottom-left finders:
397
+ const fmtPositions2 = [
398
+ [8, size - 8], [8, size - 7], [8, size - 6], [8, size - 5],
399
+ [8, size - 4], [8, size - 3], [8, size - 2], [8, size - 1],
400
+ ];
401
+ fmtPositions2.forEach(([r, c], i) => {
402
+ maskedMatrix[r][c] = fmtBits[i] === 1;
403
+ });
404
+ const fmtPositions3 = [
405
+ [size - 7, 8], [size - 6, 8], [size - 5, 8],
406
+ [size - 4, 8], [size - 3, 8], [size - 2, 8], [size - 1, 8],
407
+ ];
408
+ fmtPositions3.forEach(([r, c], i) => {
409
+ maskedMatrix[r][c] = fmtBits[i + 8] === 1;
410
+ });
411
+ return { size, modules: maskedMatrix };
412
+ }
413
+ /**
414
+ * Generate a QR code matrix for the given data string.
415
+ * Tries qrencode CLI first; falls back to minimal built-in implementation.
416
+ */
417
+ export function generateQrMatrix(data) {
418
+ const fromCli = tryQrencode(data);
419
+ if (fromCli !== null)
420
+ return fromCli;
421
+ return generateQrMatrixMinimal(data);
422
+ }
423
+ /**
424
+ * Render a QR matrix to a Unicode block string suitable for terminal output.
425
+ * Uses half-block characters to pack 2 rows into 1 terminal row.
426
+ *
427
+ * - Full block `█` = dark top + dark bottom
428
+ * - Upper half `▀` = dark top + light bottom
429
+ * - Lower half `▄` = light top + dark bottom
430
+ * - Space ` ` = light top + light bottom
431
+ */
432
+ export function renderQrToString(matrix) {
433
+ const { size, modules } = matrix;
434
+ const lines = [];
435
+ for (let row = 0; row < size; row += 2) {
436
+ let line = '';
437
+ for (let col = 0; col < size; col++) {
438
+ const top = modules[row]?.[col] ?? false;
439
+ const bottom = modules[row + 1]?.[col] ?? false;
440
+ if (top && bottom)
441
+ line += '\u2588'; // full block
442
+ else if (top && !bottom)
443
+ line += '\u2580'; // upper half
444
+ else if (!top && bottom)
445
+ line += '\u2584'; // lower half
446
+ else
447
+ line += ' '; // space
448
+ }
449
+ lines.push(line);
450
+ }
451
+ return lines.join('\n');
452
+ }
@@ -1,6 +1,6 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- let version = '0.18.29';
3
+ let version = '0.18.30';
4
4
  try {
5
5
  const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
6
6
  version = pkg.version ?? version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pellux/goodvibes-sdk",
3
- "version": "0.18.29",
3
+ "version": "0.18.30",
4
4
  "description": "Umbrella GoodVibes SDK with operator, peer, daemon, transport, and runtime-specific integration layers.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",