@undefineds.co/linx 0.3.7 → 0.3.13

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 (42) hide show
  1. package/README.md +17 -0
  2. package/dist/generated/version.js +2 -2
  3. package/dist/generated/version.js.map +1 -1
  4. package/dist/index.js +16 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/auto-mode/pod-approval.js +216 -2
  7. package/dist/lib/auto-mode/pod-approval.js.map +1 -1
  8. package/dist/lib/linx-status-line.js +335 -0
  9. package/dist/lib/linx-status-line.js.map +1 -0
  10. package/dist/lib/linx-tui-contract.js +3 -3
  11. package/dist/lib/linx-tui-contract.js.map +1 -1
  12. package/dist/lib/models.js +2 -2
  13. package/dist/lib/models.js.map +1 -1
  14. package/dist/lib/pi-adapter/auth.js +68 -0
  15. package/dist/lib/pi-adapter/auth.js.map +1 -0
  16. package/dist/lib/pi-adapter/interactive.js +326 -231
  17. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  18. package/dist/lib/pi-adapter/pod-mirror.js +52 -2
  19. package/dist/lib/pi-adapter/pod-mirror.js.map +1 -1
  20. package/dist/lib/pi-adapter/pod-tools.js +140 -0
  21. package/dist/lib/pi-adapter/pod-tools.js.map +1 -0
  22. package/dist/lib/pi-adapter/runtime.js +14 -4
  23. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  24. package/dist/lib/pi-adapter/stream.js +24 -1
  25. package/dist/lib/pi-adapter/stream.js.map +1 -1
  26. package/dist/lib/status-line-command.js +108 -0
  27. package/dist/lib/status-line-command.js.map +1 -0
  28. package/dist/lib/symphony/pod-projection.js +15 -7
  29. package/dist/lib/symphony/pod-projection.js.map +1 -1
  30. package/dist/lib/symphony-command.js +20 -21
  31. package/dist/lib/symphony-command.js.map +1 -1
  32. package/dist/skills/symphony/SKILL.md +69 -10
  33. package/dist/skills/xpod-cli/SKILL.md +70 -0
  34. package/package.json +9 -3
  35. package/vendor/agent-runtime/dist/client-inbox-subscription.d.ts +56 -0
  36. package/vendor/agent-runtime/dist/client-inbox-subscription.js +93 -0
  37. package/vendor/agent-runtime/dist/index.d.ts +1 -0
  38. package/vendor/agent-runtime/dist/index.js +1 -0
  39. package/vendor/agent-runtime/dist/reconciler.d.ts +60 -1
  40. package/vendor/agent-runtime/dist/reconciler.js +148 -4
  41. package/vendor/agent-runtime/dist/thread-reconciler-controller.d.ts +2 -1
  42. package/vendor/agent-runtime/dist/thread-reconciler-controller.js +4 -0
@@ -8,9 +8,9 @@ export const LINX_TUI_READY_FOOTER_HINT = `enter send · ctrl+l model · ${LINX_
8
8
  export const LINX_TUI_READY_DRAFT_HINT = 'enter send · shift+enter newline · alt+enter follow-up';
9
9
  export const LINX_TUI_RUNNING_FOOTER_HINT = `ctrl+c interrupt · ${LINX_TUI_KEYMAP_COMMAND} ${LINX_TUI_KEYMAP_LABEL} · ${LINX_TUI_EXIT_COMMAND}`;
10
10
  export const LINX_TUI_RUNNING_DRAFT_HINT = 'enter steer · shift+enter newline · alt+enter follow-up';
11
- export const LINX_TUI_AUTO_MODE_HEADER_HINT = ' enter send | ctrl+l model | alt+up restore | ctrl+o tools | ctrl+c clear / double quit ';
11
+ export const LINX_TUI_AUTO_MODE_HEADER_HINT = ' enter send | ctrl+l model | alt+up restore | ctrl+o tools | esc esc rewind | ctrl+c clear ';
12
12
  export const LINX_TUI_AUTO_MODE_READY_NOTE = `Use ${LINX_TUI_KEYMAP_COMMAND} for ${LINX_TUI_KEYMAP_LABEL}. Type ${LINX_TUI_EXIT_COMMAND} to leave this session.`;
13
- export const LINX_TUI_AUTO_MODE_HELP_ACTIVITY = `Keymap: enter send · ctrl+l model · /auto on|off|status · /goal <peer-command> · /rewind [turns] · ${LINX_TUI_EXIT_COMMAND}`;
13
+ export const LINX_TUI_AUTO_MODE_HELP_ACTIVITY = `Keymap: enter send · ctrl+l model · esc esc rewind · /auto on|off|status · /goal <peer-command> · /rewind [turns] · ${LINX_TUI_EXIT_COMMAND}`;
14
14
  export const LINX_TUI_AUTO_MODE_HELP_TEXT = [
15
15
  `${LINX_TUI_KEYMAP_COMMAND} ${LINX_TUI_KEYMAP_LABEL}`,
16
16
  `${LINX_TUI_LOGIN_COMMAND} refresh LinX Cloud login`,
@@ -22,7 +22,7 @@ export const LINX_TUI_AUTO_MODE_HELP_TEXT = [
22
22
  '/auto off return to direct user-driven chat',
23
23
  '/goal <peer-command> send a goal command to the current chat peer',
24
24
  '/rewind [turns] move the active session branch before recent user turns',
25
- '/symphony on|off|status switch current chat peer: Secretary vs worker/backend',
25
+ '/symphony on|off|status turn Secretary task handoff on/off, or show status',
26
26
  '/debug on|off protocol view',
27
27
  '',
28
28
  ].join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"linx-tui-contract.js","sourceRoot":"","sources":["../../src/lib/linx-tui-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAA;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAA;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAA;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACvI,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACtJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,wDAAwD,CAAA;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AAC/I,MAAM,CAAC,MAAM,2BAA2B,GAAG,yDAAyD,CAAA;AACpG,MAAM,CAAC,MAAM,8BAA8B,GAAG,0FAA0F,CAAA;AACxI,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,uBAAuB,QAAQ,qBAAqB,UAAU,qBAAqB,yBAAyB,CAAA;AAChK,MAAM,CAAC,MAAM,gCAAgC,GAAG,sGAAsG,qBAAqB,EAAE,CAAA;AAC7K,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,uBAAuB,IAAI,qBAAqB,EAAE;IACrD,GAAG,sBAAsB,2BAA2B;IACpD,GAAG,uBAAuB,yBAAyB;IACnD,GAAG,qBAAqB,qBAAqB;IAC7C,kCAAkC;IAClC,0CAA0C;IAC1C,mDAAmD;IACnD,6CAA6C;IAC7C,mEAAmE;IACnE,yEAAyE;IACzE,+EAA+E;IAC/E,6BAA6B;IAC7B,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"linx-tui-contract.js","sourceRoot":"","sources":["../../src/lib/linx-tui-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAA;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAA;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAA;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACvI,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACtJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,wDAAwD,CAAA;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AAC/I,MAAM,CAAC,MAAM,2BAA2B,GAAG,yDAAyD,CAAA;AACpG,MAAM,CAAC,MAAM,8BAA8B,GAAG,6FAA6F,CAAA;AAC3I,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,uBAAuB,QAAQ,qBAAqB,UAAU,qBAAqB,yBAAyB,CAAA;AAChK,MAAM,CAAC,MAAM,gCAAgC,GAAG,uHAAuH,qBAAqB,EAAE,CAAA;AAC9L,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,uBAAuB,IAAI,qBAAqB,EAAE;IACrD,GAAG,sBAAsB,2BAA2B;IACpD,GAAG,uBAAuB,yBAAyB;IACnD,GAAG,qBAAqB,qBAAqB;IAC7C,kCAAkC;IAClC,0CAA0C;IAC1C,mDAAmD;IACnD,6CAA6C;IAC7C,mEAAmE;IACnE,yEAAyE;IACzE,4EAA4E;IAC5E,6BAA6B;IAC7B,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { getBuiltinModels as getSharedBuiltinModels, } from '@undefineds.co/models/discovery';
2
- import { aiConfigProviderRef, aiConfigModelUri, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, chatRepository, credentialResource, credentialTable, ContactClass, ContactType, auditResource, agentResource, agentTable, applySolidComunicaPatches, chatResource, chatTable, contactResource, contactTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, initSolidResources, initSolidTables, extractSessionIdFromSessionRef, solidResources, solidSchema, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, } from '@undefineds.co/models';
3
- export { ContactClass, ContactType, agentResource, agentTable, applySolidComunicaPatches, aiConfigModelUri, aiConfigProviderRef, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, chatRepository, chatResource, chatTable, contactResource, contactTable, credentialResource, credentialTable, auditResource, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, extractSessionIdFromSessionRef, solidSchema, solidResources, initSolidResources, initSolidTables, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, };
2
+ import { aiConfigProviderRef, aiConfigModelUri, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, claimApprovalRequest, claimInputRequest, chatRepository, credentialResource, credentialTable, ContactClass, ContactType, auditResource, agentResource, agentTable, applySolidComunicaPatches, chatResource, chatTable, contactResource, contactTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, inputRequestResource, inputRequestTable, initSolidResources, initSolidTables, extractSessionIdFromSessionRef, solidResources, solidSchema, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, } from '@undefineds.co/models';
3
+ export { ContactClass, ContactType, agentResource, agentTable, applySolidComunicaPatches, aiConfigModelUri, aiConfigProviderRef, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, claimApprovalRequest, claimInputRequest, chatRepository, chatResource, chatTable, contactResource, contactTable, credentialResource, credentialTable, auditResource, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, inputRequestResource, inputRequestTable, extractSessionIdFromSessionRef, solidSchema, solidResources, initSolidResources, initSolidTables, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, };
4
4
  export function getBuiltinModels() {
5
5
  return getSharedBuiltinModels();
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GA4BZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,8BAA8B,EAC9B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,CAAA;AA+BD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GAmCZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,8BAA8B,EAC9B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,CAAA;AAsCD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { getClientCredentialId, getClientCredentialKey, getClientCredentials, loadCredentials, } from '../credentials-store.js';
2
+ import { getOidcAccessToken, isOidcLoginExpiredError } from '../oidc-auth.js';
3
+ import { getAccessToken } from '../solid-auth.js';
4
+ function isRuntimeOverride(value) {
5
+ return typeof value === 'object'
6
+ && value !== null
7
+ && ('loadCredentials' in value
8
+ || 'getClientCredentials' in value
9
+ || 'getAccessToken' in value
10
+ || 'getOidcAccessToken' in value);
11
+ }
12
+ function resolveOidcExpiresAt(credentials) {
13
+ const expiresAt = 'oidcExpiresAt' in credentials.secrets
14
+ ? new Date(credentials.secrets.oidcExpiresAt).getTime()
15
+ : NaN;
16
+ return Number.isFinite(expiresAt) ? expiresAt : Date.now();
17
+ }
18
+ export async function resolveLinxPiCloudOAuthCredential(issuerUrl, optionsOrRuntime = {}, runtimeArg) {
19
+ const defaultRuntime = {
20
+ loadCredentials,
21
+ getClientCredentials,
22
+ getAccessToken,
23
+ getOidcAccessToken,
24
+ };
25
+ const options = isRuntimeOverride(optionsOrRuntime)
26
+ ? {}
27
+ : optionsOrRuntime;
28
+ const runtime = {
29
+ ...defaultRuntime,
30
+ ...(isRuntimeOverride(optionsOrRuntime) ? optionsOrRuntime : runtimeArg),
31
+ };
32
+ const stored = runtime.loadCredentials();
33
+ if (!stored) {
34
+ return null;
35
+ }
36
+ const clientCredentials = runtime.getClientCredentials(stored);
37
+ if (!clientCredentials) {
38
+ const oidcAccessToken = await runtime.getOidcAccessToken(stored, { forceRefresh: options.forceRefresh }).catch((error) => {
39
+ if (isOidcLoginExpiredError(error)) {
40
+ throw error;
41
+ }
42
+ return null;
43
+ });
44
+ if (!oidcAccessToken) {
45
+ return null;
46
+ }
47
+ return {
48
+ type: 'oauth',
49
+ refresh: 'linx-oidc-refresh',
50
+ access: oidcAccessToken,
51
+ expires: resolveOidcExpiresAt(stored),
52
+ };
53
+ }
54
+ const resolvedIssuerUrl = issuerUrl?.trim() || stored.url;
55
+ const clientId = getClientCredentialId(clientCredentials);
56
+ const clientSecret = getClientCredentialKey(clientCredentials);
57
+ const token = await runtime.getAccessToken(clientId, clientSecret, resolvedIssuerUrl);
58
+ if (!token) {
59
+ return null;
60
+ }
61
+ return {
62
+ type: 'oauth',
63
+ refresh: clientSecret,
64
+ access: token.accessToken,
65
+ expires: token.expiresAt.getTime(),
66
+ };
67
+ }
68
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/auth.ts"],"names":[],"mappings":"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"}