indusagi 0.12.19 → 0.12.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -36
- package/dist/agent/agent-loop.d.ts +3 -9
- package/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +19 -58
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/agent.d.ts +9 -10
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +182 -129
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/error-handler.d.ts.map +1 -1
- package/dist/agent/error-handler.js.map +1 -1
- package/dist/agent/event-bus.d.ts.map +1 -1
- package/dist/agent/event-bus.js +1 -3
- package/dist/agent/event-bus.js.map +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +0 -6
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/messages.d.ts +1 -1
- package/dist/agent/messages.d.ts.map +1 -1
- package/dist/agent/proxy.d.ts +1 -14
- package/dist/agent/proxy.d.ts.map +1 -1
- package/dist/agent/proxy.js +67 -148
- package/dist/agent/proxy.js.map +1 -1
- package/dist/agent/session-manager.d.ts +10 -10
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +20 -16
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/state-manager.d.ts +1 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +1 -0
- package/dist/agent/state-manager.js.map +1 -1
- package/dist/agent/telemetry.d.ts.map +1 -1
- package/dist/agent/telemetry.js +1 -3
- package/dist/agent/telemetry.js.map +1 -1
- package/dist/agent/tools/bash.d.ts.map +1 -1
- package/dist/agent/tools/bash.js +143 -118
- package/dist/agent/tools/bash.js.map +1 -1
- package/dist/agent/tools/edit-diff.d.ts +1 -1
- package/dist/agent/tools/edit-diff.d.ts.map +1 -1
- package/dist/agent/tools/edit-diff.js +189 -175
- package/dist/agent/tools/edit-diff.js.map +1 -1
- package/dist/agent/tools/edit.d.ts.map +1 -1
- package/dist/agent/tools/edit.js +137 -121
- package/dist/agent/tools/edit.js.map +1 -1
- package/dist/agent/tools/find.d.ts.map +1 -1
- package/dist/agent/tools/find.js +100 -65
- package/dist/agent/tools/find.js.map +1 -1
- package/dist/agent/tools/grep.d.ts.map +1 -1
- package/dist/agent/tools/grep.js +126 -97
- package/dist/agent/tools/grep.js.map +1 -1
- package/dist/agent/tools/index.d.ts +53 -40
- package/dist/agent/tools/index.d.ts.map +1 -1
- package/dist/agent/tools/index.js +19 -12
- package/dist/agent/tools/index.js.map +1 -1
- package/dist/agent/tools/ls.d.ts +2 -1
- package/dist/agent/tools/ls.d.ts.map +1 -1
- package/dist/agent/tools/ls.js +145 -94
- package/dist/agent/tools/ls.js.map +1 -1
- package/dist/agent/tools/path-utils.d.ts.map +1 -1
- package/dist/agent/tools/path-utils.js +48 -29
- package/dist/agent/tools/path-utils.js.map +1 -1
- package/dist/agent/tools/process-controller.d.ts +15 -0
- package/dist/agent/tools/process-controller.d.ts.map +1 -0
- package/dist/agent/tools/process-controller.js +39 -0
- package/dist/agent/tools/process-controller.js.map +1 -0
- package/dist/agent/tools/process-manager.d.ts +60 -0
- package/dist/agent/tools/process-manager.d.ts.map +1 -0
- package/dist/agent/tools/process-manager.js +485 -0
- package/dist/agent/tools/process-manager.js.map +1 -0
- package/dist/agent/tools/process-types.d.ts +74 -0
- package/dist/agent/tools/process-types.d.ts.map +1 -0
- package/dist/agent/tools/process-types.js +7 -0
- package/dist/agent/tools/process-types.js.map +1 -0
- package/dist/agent/tools/process.d.ts +38 -0
- package/dist/agent/tools/process.d.ts.map +1 -0
- package/dist/agent/tools/process.js +360 -0
- package/dist/agent/tools/process.js.map +1 -0
- package/dist/agent/tools/read.d.ts.map +1 -1
- package/dist/agent/tools/read.js +157 -135
- package/dist/agent/tools/read.js.map +1 -1
- package/dist/agent/tools/registry.js +2 -4
- package/dist/agent/tools/registry.js.map +1 -1
- package/dist/agent/tools/teams/activity-tracker.d.ts +66 -0
- package/dist/agent/tools/teams/activity-tracker.d.ts.map +1 -0
- package/dist/agent/tools/teams/activity-tracker.js +480 -0
- package/dist/agent/tools/teams/activity-tracker.js.map +1 -0
- package/dist/agent/tools/teams/cleanup.d.ts +51 -0
- package/dist/agent/tools/teams/cleanup.d.ts.map +1 -0
- package/dist/agent/tools/teams/cleanup.js +219 -0
- package/dist/agent/tools/teams/cleanup.js.map +1 -0
- package/dist/agent/tools/teams/fs-lock.d.ts +12 -0
- package/dist/agent/tools/teams/fs-lock.d.ts.map +1 -0
- package/dist/agent/tools/teams/fs-lock.js +74 -0
- package/dist/agent/tools/teams/fs-lock.js.map +1 -0
- package/dist/agent/tools/teams/index.d.ts +12 -0
- package/dist/agent/tools/teams/index.d.ts.map +1 -0
- package/dist/agent/tools/teams/index.js +12 -0
- package/dist/agent/tools/teams/index.js.map +1 -0
- package/dist/agent/tools/teams/mailbox.d.ts +21 -0
- package/dist/agent/tools/teams/mailbox.d.ts.map +1 -0
- package/dist/agent/tools/teams/mailbox.js +106 -0
- package/dist/agent/tools/teams/mailbox.js.map +1 -0
- package/dist/agent/tools/teams/model-policy.d.ts +23 -0
- package/dist/agent/tools/teams/model-policy.d.ts.map +1 -0
- package/dist/agent/tools/teams/model-policy.js +113 -0
- package/dist/agent/tools/teams/model-policy.js.map +1 -0
- package/dist/agent/tools/teams/names.d.ts +28 -0
- package/dist/agent/tools/teams/names.d.ts.map +1 -0
- package/dist/agent/tools/teams/names.js +109 -0
- package/dist/agent/tools/teams/names.js.map +1 -0
- package/dist/agent/tools/teams/protocol.d.ts +75 -0
- package/dist/agent/tools/teams/protocol.d.ts.map +1 -0
- package/dist/agent/tools/teams/protocol.js +205 -0
- package/dist/agent/tools/teams/protocol.js.map +1 -0
- package/dist/agent/tools/teams/task-store.d.ts +89 -0
- package/dist/agent/tools/teams/task-store.d.ts.map +1 -0
- package/dist/agent/tools/teams/task-store.js +445 -0
- package/dist/agent/tools/teams/task-store.js.map +1 -0
- package/dist/agent/tools/teams/team-attach-claim.d.ts +36 -0
- package/dist/agent/tools/teams/team-attach-claim.d.ts.map +1 -0
- package/dist/agent/tools/teams/team-attach-claim.js +144 -0
- package/dist/agent/tools/teams/team-attach-claim.js.map +1 -0
- package/dist/agent/tools/teams/team-config.d.ts +55 -0
- package/dist/agent/tools/teams/team-config.d.ts.map +1 -0
- package/dist/agent/tools/teams/team-config.js +252 -0
- package/dist/agent/tools/teams/team-config.js.map +1 -0
- package/dist/agent/tools/teams/worktree.d.ts +40 -0
- package/dist/agent/tools/teams/worktree.d.ts.map +1 -0
- package/dist/agent/tools/teams/worktree.js +213 -0
- package/dist/agent/tools/teams/worktree.js.map +1 -0
- package/dist/agent/tools/todo-store.js +2 -1
- package/dist/agent/tools/todo-store.js.map +1 -1
- package/dist/agent/tools/todo.d.ts +2 -2
- package/dist/agent/tools/todo.js +2 -2
- package/dist/agent/tools/truncate.d.ts.map +1 -1
- package/dist/agent/tools/truncate.js +150 -134
- package/dist/agent/tools/truncate.js.map +1 -1
- package/dist/agent/tools/utils/hook-runner.d.ts +9 -10
- package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -1
- package/dist/agent/tools/utils/hook-runner.js +18 -16
- package/dist/agent/tools/utils/hook-runner.js.map +1 -1
- package/dist/agent/tools/utils/image-resize.d.ts +1 -14
- package/dist/agent/tools/utils/image-resize.d.ts.map +1 -1
- package/dist/agent/tools/utils/image-resize.js +80 -34
- package/dist/agent/tools/utils/image-resize.js.map +1 -1
- package/dist/agent/tools/utils/mime.d.ts +0 -8
- package/dist/agent/tools/utils/mime.d.ts.map +1 -1
- package/dist/agent/tools/utils/mime.js +43 -32
- package/dist/agent/tools/utils/mime.js.map +1 -1
- package/dist/agent/tools/utils/shell.d.ts +1 -23
- package/dist/agent/tools/utils/shell.d.ts.map +1 -1
- package/dist/agent/tools/utils/shell.js +43 -86
- package/dist/agent/tools/utils/shell.js.map +1 -1
- package/dist/agent/tools/write.d.ts.map +1 -1
- package/dist/agent/tools/write.js +105 -62
- package/dist/agent/tools/write.js.map +1 -1
- package/dist/agent/types.d.ts +69 -64
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +38 -23
- package/dist/agent/types.js.map +1 -1
- package/dist/agent.d.ts +4 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +4 -0
- package/dist/agent.js.map +1 -1
- package/dist/ai/api-registry.d.ts.map +1 -1
- package/dist/ai/api-registry.js +3 -4
- package/dist/ai/api-registry.js.map +1 -1
- package/dist/ai/cli.js +62 -82
- package/dist/ai/cli.js.map +1 -1
- package/dist/ai/env-api-keys.d.ts.map +1 -1
- package/dist/ai/env-api-keys.js +78 -81
- package/dist/ai/env-api-keys.js.map +1 -1
- package/dist/ai/index.d.ts +6 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +6 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/models.d.ts +7 -17
- package/dist/ai/models.d.ts.map +1 -1
- package/dist/ai/models.generated.d.ts +19 -0
- package/dist/ai/models.generated.d.ts.map +1 -1
- package/dist/ai/models.generated.js +14 -2
- package/dist/ai/models.generated.js.map +1 -1
- package/dist/ai/models.js +17 -11
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/ai/providers/amazon-bedrock.js +319 -248
- package/dist/ai/providers/amazon-bedrock.js.map +1 -1
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +378 -324
- package/dist/ai/providers/anthropic.js.map +1 -1
- package/dist/ai/providers/azure-openai-responses.d.ts.map +1 -1
- package/dist/ai/providers/azure-openai-responses.js +164 -123
- package/dist/ai/providers/azure-openai-responses.js.map +1 -1
- package/dist/ai/providers/google-shared.d.ts +0 -18
- package/dist/ai/providers/google-shared.d.ts.map +1 -1
- package/dist/ai/providers/google-shared.js +224 -225
- package/dist/ai/providers/google-shared.js.map +1 -1
- package/dist/ai/providers/google-vertex.d.ts.map +1 -1
- package/dist/ai/providers/google-vertex.js +244 -226
- package/dist/ai/providers/google-vertex.js.map +1 -1
- package/dist/ai/providers/google.d.ts +3 -0
- package/dist/ai/providers/google.d.ts.map +1 -1
- package/dist/ai/providers/google.js +232 -210
- package/dist/ai/providers/google.js.map +1 -1
- package/dist/ai/providers/kimi.js +1 -0
- package/dist/ai/providers/kimi.js.map +1 -1
- package/dist/ai/providers/mock.d.ts +10 -0
- package/dist/ai/providers/mock.d.ts.map +1 -0
- package/dist/ai/providers/mock.js +64 -0
- package/dist/ai/providers/mock.js.map +1 -0
- package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-codex-responses.js +178 -133
- package/dist/ai/providers/openai-codex-responses.js.map +1 -1
- package/dist/ai/providers/openai-completions.d.ts.map +1 -1
- package/dist/ai/providers/openai-completions.js +468 -387
- package/dist/ai/providers/openai-completions.js.map +1 -1
- package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses-shared.js +187 -166
- package/dist/ai/providers/openai-responses-shared.js.map +1 -1
- package/dist/ai/providers/openai-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses.js +108 -85
- package/dist/ai/providers/openai-responses.js.map +1 -1
- package/dist/ai/providers/openai-scaffold.d.ts +4 -0
- package/dist/ai/providers/openai-scaffold.d.ts.map +1 -0
- package/dist/ai/providers/openai-scaffold.js +33 -0
- package/dist/ai/providers/openai-scaffold.js.map +1 -0
- package/dist/ai/providers/register-builtins.d.ts.map +1 -1
- package/dist/ai/providers/register-builtins.js +109 -42
- package/dist/ai/providers/register-builtins.js.map +1 -1
- package/dist/ai/providers/simple-options.js +2 -0
- package/dist/ai/providers/simple-options.js.map +1 -1
- package/dist/ai/providers/transform-messages.js +3 -9
- package/dist/ai/providers/transform-messages.js.map +1 -1
- package/dist/ai/stream.d.ts +4 -14
- package/dist/ai/stream.d.ts.map +1 -1
- package/dist/ai/stream.js +0 -36
- package/dist/ai/stream.js.map +1 -1
- package/dist/ai/types.d.ts +22 -3
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js +154 -77
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/base-stream-handler.js +1 -0
- package/dist/ai/utils/base-stream-handler.js.map +1 -1
- package/dist/ai/utils/event-stream.d.ts +2 -0
- package/dist/ai/utils/event-stream.d.ts.map +1 -1
- package/dist/ai/utils/event-stream.js +22 -5
- package/dist/ai/utils/event-stream.js.map +1 -1
- package/dist/ai/utils/json-parse.d.ts +3 -0
- package/dist/ai/utils/json-parse.d.ts.map +1 -1
- package/dist/ai/utils/json-parse.js +8 -5
- package/dist/ai/utils/json-parse.js.map +1 -1
- package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
- package/dist/ai/utils/oauth/anthropic.js +110 -65
- package/dist/ai/utils/oauth/anthropic.js.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.d.ts +8 -16
- package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.js +218 -227
- package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
- package/dist/ai/utils/oauth/openai-codex.d.ts +4 -2
- package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
- package/dist/ai/utils/oauth/openai-codex.js +221 -236
- package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
- package/dist/ai/utils/oauth/pkce.d.ts +6 -5
- package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
- package/dist/ai/utils/oauth/pkce.js +24 -21
- package/dist/ai/utils/oauth/pkce.js.map +1 -1
- package/dist/ai/utils/oauth/types.d.ts +31 -12
- package/dist/ai/utils/oauth/types.d.ts.map +1 -1
- package/dist/ai/utils/oauth/types.js +10 -1
- package/dist/ai/utils/oauth/types.js.map +1 -1
- package/dist/ai/utils/overflow.d.ts.map +1 -1
- package/dist/ai/utils/overflow.js +49 -21
- package/dist/ai/utils/overflow.js.map +1 -1
- package/dist/ai/utils/provider-adapter.js +9 -0
- package/dist/ai/utils/provider-adapter.js.map +1 -1
- package/dist/ai/utils/provider-client-builder.js +1 -1
- package/dist/ai/utils/provider-client-builder.js.map +1 -1
- package/dist/ai/utils/provider-errors.js +2 -0
- package/dist/ai/utils/provider-errors.js.map +1 -1
- package/dist/ai/utils/sanitize-unicode.d.ts +0 -20
- package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
- package/dist/ai/utils/sanitize-unicode.js +35 -17
- package/dist/ai/utils/sanitize-unicode.js.map +1 -1
- package/dist/ai/utils/stream-event-helper.js +3 -0
- package/dist/ai/utils/stream-event-helper.js.map +1 -1
- package/dist/ai/utils/stream-handler-types.js +5 -0
- package/dist/ai/utils/stream-handler-types.js.map +1 -1
- package/dist/ai/utils/streaming-state-manager.js +4 -2
- package/dist/ai/utils/streaming-state-manager.js.map +1 -1
- package/dist/ai/utils/typebox-helpers.d.ts +6 -4
- package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
- package/dist/ai/utils/typebox-helpers.js +25 -7
- package/dist/ai/utils/typebox-helpers.js.map +1 -1
- package/dist/ai/utils/validation.d.ts.map +1 -1
- package/dist/ai/utils/validation.js +67 -34
- package/dist/ai/utils/validation.js.map +1 -1
- package/dist/ai.d.ts +4 -0
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +4 -0
- package/dist/ai.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/client-pool.js +3 -2
- package/dist/mcp/client-pool.js.map +1 -1
- package/dist/mcp/client.js +19 -6
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config.d.ts +6 -6
- package/dist/mcp/config.js +17 -17
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/errors.js +8 -0
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/index.d.ts +5 -5
- package/dist/mcp/index.js +5 -5
- package/dist/mcp/schema-converter.d.ts +1 -1
- package/dist/mcp/schema-converter.js +1 -1
- package/dist/mcp/server.d.ts +4 -4
- package/dist/mcp/server.js +12 -7
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-factory.d.ts +2 -2
- package/dist/mcp/tool-factory.js +2 -2
- package/dist/mcp.d.ts +0 -4
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +0 -4
- package/dist/mcp.js.map +1 -1
- package/dist/observability.d.ts +2 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/observability.js +2 -0
- package/dist/observability.js.map +1 -0
- package/dist/tui/autocomplete.d.ts +14 -18
- package/dist/tui/autocomplete.d.ts.map +1 -1
- package/dist/tui/autocomplete.js +290 -402
- package/dist/tui/autocomplete.js.map +1 -1
- package/dist/tui/components/box.d.ts +1 -6
- package/dist/tui/components/box.d.ts.map +1 -1
- package/dist/tui/components/box.js +98 -67
- package/dist/tui/components/box.js.map +1 -1
- package/dist/tui/components/cancellable-loader.d.ts +6 -3
- package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
- package/dist/tui/components/cancellable-loader.js +8 -9
- package/dist/tui/components/cancellable-loader.js.map +1 -1
- package/dist/tui/components/editor.d.ts +18 -0
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +356 -354
- package/dist/tui/components/editor.js.map +1 -1
- package/dist/tui/components/image.d.ts +2 -0
- package/dist/tui/components/image.d.ts.map +1 -1
- package/dist/tui/components/image.js +79 -37
- package/dist/tui/components/image.js.map +1 -1
- package/dist/tui/components/input.d.ts +4 -8
- package/dist/tui/components/input.d.ts.map +1 -1
- package/dist/tui/components/input.js +236 -232
- package/dist/tui/components/input.js.map +1 -1
- package/dist/tui/components/loader.d.ts +5 -5
- package/dist/tui/components/loader.d.ts.map +1 -1
- package/dist/tui/components/loader.js +22 -19
- package/dist/tui/components/loader.js.map +1 -1
- package/dist/tui/components/markdown.d.ts +2 -32
- package/dist/tui/components/markdown.d.ts.map +1 -1
- package/dist/tui/components/markdown.js +338 -357
- package/dist/tui/components/markdown.js.map +1 -1
- package/dist/tui/components/select-list.d.ts +1 -0
- package/dist/tui/components/select-list.d.ts.map +1 -1
- package/dist/tui/components/select-list.js +83 -82
- package/dist/tui/components/select-list.js.map +1 -1
- package/dist/tui/components/settings-list.d.ts +10 -10
- package/dist/tui/components/settings-list.d.ts.map +1 -1
- package/dist/tui/components/settings-list.js +48 -40
- package/dist/tui/components/settings-list.js.map +1 -1
- package/dist/tui/components/spacer.d.ts +1 -0
- package/dist/tui/components/spacer.d.ts.map +1 -1
- package/dist/tui/components/spacer.js +20 -5
- package/dist/tui/components/spacer.js.map +1 -1
- package/dist/tui/components/text.d.ts.map +1 -1
- package/dist/tui/components/text.js +47 -20
- package/dist/tui/components/text.js.map +1 -1
- package/dist/tui/components/truncated-text.d.ts +8 -4
- package/dist/tui/components/truncated-text.d.ts.map +1 -1
- package/dist/tui/components/truncated-text.js +15 -12
- package/dist/tui/components/truncated-text.js.map +1 -1
- package/dist/tui/editor-component.d.ts +87 -23
- package/dist/tui/editor-component.d.ts.map +1 -1
- package/dist/tui/fuzzy.d.ts.map +1 -1
- package/dist/tui/fuzzy.js +101 -50
- package/dist/tui/fuzzy.js.map +1 -1
- package/dist/tui/keybindings.d.ts +3 -3
- package/dist/tui/keybindings.d.ts.map +1 -1
- package/dist/tui/keybindings.js +137 -111
- package/dist/tui/keybindings.js.map +1 -1
- package/dist/tui/keys.d.ts +46 -43
- package/dist/tui/keys.d.ts.map +1 -1
- package/dist/tui/keys.js +493 -411
- package/dist/tui/keys.js.map +1 -1
- package/dist/tui/stdin-buffer.d.ts.map +1 -1
- package/dist/tui/stdin-buffer.js +162 -159
- package/dist/tui/stdin-buffer.js.map +1 -1
- package/dist/tui/terminal-image.d.ts +10 -5
- package/dist/tui/terminal-image.d.ts.map +1 -1
- package/dist/tui/terminal-image.js +53 -51
- package/dist/tui/terminal-image.js.map +1 -1
- package/dist/tui/terminal.d.ts +4 -27
- package/dist/tui/terminal.d.ts.map +1 -1
- package/dist/tui/terminal.js +123 -121
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/tui.d.ts +14 -1
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +185 -145
- package/dist/tui/tui.js.map +1 -1
- package/dist/tui/utils.d.ts.map +1 -1
- package/dist/tui/utils.js +235 -216
- package/dist/tui/utils.js.map +1 -1
- package/dist/tui.d.ts +4 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +4 -0
- package/dist/tui.js.map +1 -1
- package/package.json +23 -43
- package/LICENSE.md +0 -22
- package/dist/agent/tools/task-types.d.ts +0 -74
- package/dist/agent/tools/task-types.d.ts.map +0 -1
- package/dist/agent/tools/task-types.js +0 -8
- package/dist/agent/tools/task-types.js.map +0 -1
- package/dist/agent/tools/task.d.ts +0 -84
- package/dist/agent/tools/task.d.ts.map +0 -1
- package/dist/agent/tools/task.js +0 -184
- package/dist/agent/tools/task.js.map +0 -1
- package/dist/memory/embedder/base.d.ts +0 -41
- package/dist/memory/embedder/base.d.ts.map +0 -1
- package/dist/memory/embedder/base.js +0 -10
- package/dist/memory/embedder/base.js.map +0 -1
- package/dist/memory/embedder/index.d.ts +0 -8
- package/dist/memory/embedder/index.d.ts.map +0 -1
- package/dist/memory/embedder/index.js +0 -6
- package/dist/memory/embedder/index.js.map +0 -1
- package/dist/memory/embedder/openai.d.ts +0 -35
- package/dist/memory/embedder/openai.d.ts.map +0 -1
- package/dist/memory/embedder/openai.js +0 -103
- package/dist/memory/embedder/openai.js.map +0 -1
- package/dist/memory/index.d.ts +0 -33
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/index.js +0 -31
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/memory.d.ts +0 -126
- package/dist/memory/memory.d.ts.map +0 -1
- package/dist/memory/memory.js +0 -280
- package/dist/memory/memory.js.map +0 -1
- package/dist/memory/processors/base.d.ts +0 -42
- package/dist/memory/processors/base.d.ts.map +0 -1
- package/dist/memory/processors/base.js +0 -6
- package/dist/memory/processors/base.js.map +0 -1
- package/dist/memory/processors/index.d.ts +0 -16
- package/dist/memory/processors/index.d.ts.map +0 -1
- package/dist/memory/processors/index.js +0 -18
- package/dist/memory/processors/index.js.map +0 -1
- package/dist/memory/processors/message-history.d.ts +0 -35
- package/dist/memory/processors/message-history.d.ts.map +0 -1
- package/dist/memory/processors/message-history.js +0 -51
- package/dist/memory/processors/message-history.js.map +0 -1
- package/dist/memory/processors/observational-memory/index.d.ts +0 -82
- package/dist/memory/processors/observational-memory/index.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/index.js +0 -234
- package/dist/memory/processors/observational-memory/index.js.map +0 -1
- package/dist/memory/processors/observational-memory/observer-agent.d.ts +0 -64
- package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/observer-agent.js +0 -362
- package/dist/memory/processors/observational-memory/observer-agent.js.map +0 -1
- package/dist/memory/processors/observational-memory/reflector-agent.d.ts +0 -38
- package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/reflector-agent.js +0 -213
- package/dist/memory/processors/observational-memory/reflector-agent.js.map +0 -1
- package/dist/memory/processors/observational-memory/token-counter.d.ts +0 -35
- package/dist/memory/processors/observational-memory/token-counter.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/token-counter.js +0 -90
- package/dist/memory/processors/observational-memory/token-counter.js.map +0 -1
- package/dist/memory/processors/semantic-recall.d.ts +0 -55
- package/dist/memory/processors/semantic-recall.d.ts.map +0 -1
- package/dist/memory/processors/semantic-recall.js +0 -143
- package/dist/memory/processors/semantic-recall.js.map +0 -1
- package/dist/memory/processors/working-memory.d.ts +0 -41
- package/dist/memory/processors/working-memory.d.ts.map +0 -1
- package/dist/memory/processors/working-memory.js +0 -82
- package/dist/memory/processors/working-memory.js.map +0 -1
- package/dist/memory/storage/base.d.ts +0 -288
- package/dist/memory/storage/base.d.ts.map +0 -1
- package/dist/memory/storage/base.js +0 -211
- package/dist/memory/storage/base.js.map +0 -1
- package/dist/memory/storage/index.d.ts +0 -9
- package/dist/memory/storage/index.d.ts.map +0 -1
- package/dist/memory/storage/index.js +0 -7
- package/dist/memory/storage/index.js.map +0 -1
- package/dist/memory/storage/inmemory.d.ts +0 -93
- package/dist/memory/storage/inmemory.d.ts.map +0 -1
- package/dist/memory/storage/inmemory.js +0 -646
- package/dist/memory/storage/inmemory.js.map +0 -1
- package/dist/memory/tools/working-memory.d.ts +0 -100
- package/dist/memory/tools/working-memory.d.ts.map +0 -1
- package/dist/memory/tools/working-memory.js +0 -237
- package/dist/memory/tools/working-memory.js.map +0 -1
- package/dist/memory/types.d.ts +0 -386
- package/dist/memory/types.d.ts.map +0 -1
- package/dist/memory/types.js +0 -58
- package/dist/memory/types.js.map +0 -1
- package/dist/memory/vector/base.d.ts +0 -145
- package/dist/memory/vector/base.d.ts.map +0 -1
- package/dist/memory/vector/base.js +0 -83
- package/dist/memory/vector/base.js.map +0 -1
- package/dist/memory/vector/index.d.ts +0 -8
- package/dist/memory/vector/index.d.ts.map +0 -1
- package/dist/memory/vector/index.js +0 -7
- package/dist/memory/vector/index.js.map +0 -1
- package/dist/memory/vector/inmemory.d.ts +0 -47
- package/dist/memory/vector/inmemory.d.ts.map +0 -1
- package/dist/memory/vector/inmemory.js +0 -234
- package/dist/memory/vector/inmemory.js.map +0 -1
|
@@ -2,129 +2,75 @@
|
|
|
2
2
|
* GitHub Copilot OAuth flow
|
|
3
3
|
*/
|
|
4
4
|
import { getModels } from "../../models.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return url.hostname;
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function getUrls(domain) {
|
|
26
|
-
return {
|
|
27
|
-
deviceCodeUrl: `https://${domain}/login/device/code`,
|
|
28
|
-
accessTokenUrl: `https://${domain}/login/oauth/access_token`,
|
|
29
|
-
copilotTokenUrl: `https://api.${domain}/copilot_internal/v2/token`,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Parse the proxy-ep from a Copilot token and convert to API base URL.
|
|
34
|
-
* Token format: tid=...;exp=...;proxy-ep=proxy.individual.githubcopilot.com;...
|
|
35
|
-
* Returns API URL like https://api.individual.githubcopilot.com
|
|
36
|
-
*/
|
|
37
|
-
function getBaseUrlFromToken(token) {
|
|
38
|
-
const match = token.match(/proxy-ep=([^;]+)/);
|
|
39
|
-
if (!match)
|
|
40
|
-
return null;
|
|
41
|
-
const proxyHost = match[1];
|
|
42
|
-
// Convert proxy.xxx to api.xxx
|
|
43
|
-
const apiHost = proxyHost.replace(/^proxy\./, "api.");
|
|
44
|
-
return `https://${apiHost}`;
|
|
45
|
-
}
|
|
46
|
-
export function getGitHubCopilotBaseUrl(token, enterpriseDomain) {
|
|
47
|
-
// If we have a token, extract the base URL from proxy-ep
|
|
48
|
-
if (token) {
|
|
49
|
-
const urlFromToken = getBaseUrlFromToken(token);
|
|
50
|
-
if (urlFromToken)
|
|
51
|
-
return urlFromToken;
|
|
5
|
+
// ── Change 1: CopilotAuthFlow class (replaces 10 module-level functions) ─────
|
|
6
|
+
class CopilotAuthFlow {
|
|
7
|
+
appId;
|
|
8
|
+
requestHeaders;
|
|
9
|
+
constructor() {
|
|
10
|
+
// Change 2: CLIENT_ID → appId (private class field)
|
|
11
|
+
this.appId = atob("SXYxLmI1MDdhMDhjODdlY2ZlOTg=");
|
|
12
|
+
// Change 2: COPILOT_HEADERS → requestHeaders (private class field)
|
|
13
|
+
this.requestHeaders = {
|
|
14
|
+
"User-Agent": "GitHubCopilotChat/0.35.0",
|
|
15
|
+
"Editor-Version": "vscode/1.107.0",
|
|
16
|
+
"Editor-Plugin-Version": "copilot-chat/0.35.0",
|
|
17
|
+
"Copilot-Integration-Id": "vscode-chat",
|
|
18
|
+
};
|
|
52
19
|
}
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
20
|
+
// Change 4: normalizeDomain — different URL constructor pattern (keep public API name)
|
|
21
|
+
normalizeDomain(raw) {
|
|
22
|
+
const cleaned = raw.trim();
|
|
23
|
+
if (!cleaned)
|
|
24
|
+
return null;
|
|
25
|
+
const withScheme = cleaned.startsWith("http") ? cleaned : `https://${cleaned}`;
|
|
26
|
+
try {
|
|
27
|
+
return new URL(withScheme).hostname || null;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
63
32
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
Accept: "application/json",
|
|
72
|
-
"Content-Type": "application/json",
|
|
73
|
-
"User-Agent": "GitHubCopilotChat/0.35.0",
|
|
74
|
-
},
|
|
75
|
-
body: JSON.stringify({
|
|
76
|
-
client_id: CLIENT_ID,
|
|
77
|
-
scope: "read:user",
|
|
78
|
-
}),
|
|
79
|
-
});
|
|
80
|
-
if (!data || typeof data !== "object") {
|
|
81
|
-
throw new Error("Invalid device code response");
|
|
33
|
+
// Change 2: buildEndpoints (was getUrls)
|
|
34
|
+
buildEndpoints(domain) {
|
|
35
|
+
return {
|
|
36
|
+
deviceCodeUrl: `https://${domain}/login/device/code`,
|
|
37
|
+
accessTokenUrl: `https://${domain}/login/oauth/access_token`,
|
|
38
|
+
copilotTokenUrl: `https://api.${domain}/copilot_internal/v2/token`,
|
|
39
|
+
};
|
|
82
40
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
typeof interval !== "number" ||
|
|
92
|
-
typeof expiresIn !== "number") {
|
|
93
|
-
throw new Error("Invalid device code response fields");
|
|
41
|
+
// Change 2: parseProxyEndpoint (was getBaseUrlFromToken)
|
|
42
|
+
parseProxyEndpoint(token) {
|
|
43
|
+
const match = token.match(/proxy-ep=([^;]+)/);
|
|
44
|
+
if (!match)
|
|
45
|
+
return null;
|
|
46
|
+
// Convert proxy.xxx → api.xxx
|
|
47
|
+
const apiHost = match[1].replace(/^proxy\./, "api.");
|
|
48
|
+
return `https://${apiHost}`;
|
|
94
49
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Sleep that can be interrupted by an AbortSignal
|
|
105
|
-
*/
|
|
106
|
-
function abortableSleep(ms, signal) {
|
|
107
|
-
return new Promise((resolve, reject) => {
|
|
108
|
-
if (signal?.aborted) {
|
|
109
|
-
reject(new Error("Login cancelled"));
|
|
110
|
-
return;
|
|
50
|
+
// Change 2: resolveBaseUrl (was getGitHubCopilotBaseUrl)
|
|
51
|
+
resolveBaseUrl(token, enterpriseDomain) {
|
|
52
|
+
if (token) {
|
|
53
|
+
const urlFromToken = this.parseProxyEndpoint(token);
|
|
54
|
+
if (urlFromToken)
|
|
55
|
+
return urlFromToken;
|
|
111
56
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
let intervalMs = Math.max(1000, Math.floor(intervalSeconds * 1000));
|
|
123
|
-
while (Date.now() < deadline) {
|
|
124
|
-
if (signal?.aborted) {
|
|
125
|
-
throw new Error("Login cancelled");
|
|
57
|
+
if (enterpriseDomain)
|
|
58
|
+
return `https://copilot-api.${enterpriseDomain}`;
|
|
59
|
+
return "https://api.individual.githubcopilot.com";
|
|
60
|
+
}
|
|
61
|
+
// Change 3: request<T> generic typed helper (was fetchJson — untyped)
|
|
62
|
+
async request(url, init) {
|
|
63
|
+
const res = await fetch(url, init);
|
|
64
|
+
if (!res.ok) {
|
|
65
|
+
const body = await res.text().catch(() => "");
|
|
66
|
+
throw new Error(`HTTP ${res.status} ${res.statusText}${body ? `: ${body}` : ""}`);
|
|
126
67
|
}
|
|
127
|
-
|
|
68
|
+
return res.json();
|
|
69
|
+
}
|
|
70
|
+
// Change 2: initiateDeviceFlow (was startDeviceFlow)
|
|
71
|
+
async initiateDeviceFlow(domain) {
|
|
72
|
+
const endpoints = this.buildEndpoints(domain);
|
|
73
|
+
const data = await this.request(endpoints.deviceCodeUrl, {
|
|
128
74
|
method: "POST",
|
|
129
75
|
headers: {
|
|
130
76
|
Accept: "application/json",
|
|
@@ -132,135 +78,178 @@ async function pollForGitHubAccessToken(domain, deviceCode, intervalSeconds, exp
|
|
|
132
78
|
"User-Agent": "GitHubCopilotChat/0.35.0",
|
|
133
79
|
},
|
|
134
80
|
body: JSON.stringify({
|
|
135
|
-
client_id:
|
|
136
|
-
|
|
137
|
-
grant_type: "urn:ietf:params:oauth:grant-type:device_code",
|
|
81
|
+
client_id: this.appId,
|
|
82
|
+
scope: "read:user",
|
|
138
83
|
}),
|
|
139
84
|
});
|
|
140
|
-
|
|
141
|
-
|
|
85
|
+
const { device_code, user_code, verification_uri, interval, expires_in } = data;
|
|
86
|
+
if (typeof device_code !== "string" ||
|
|
87
|
+
typeof user_code !== "string" ||
|
|
88
|
+
typeof verification_uri !== "string" ||
|
|
89
|
+
typeof interval !== "number" ||
|
|
90
|
+
typeof expires_in !== "number") {
|
|
91
|
+
throw new Error("Invalid device code response fields");
|
|
142
92
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
93
|
+
return { device_code, user_code, verification_uri, interval, expires_in };
|
|
94
|
+
}
|
|
95
|
+
// Change 2: sleep (was abortableSleep)
|
|
96
|
+
sleep(ms, signal) {
|
|
97
|
+
return new Promise((resolve, reject) => {
|
|
98
|
+
if (signal?.aborted) {
|
|
99
|
+
reject(new Error("Login cancelled"));
|
|
100
|
+
return;
|
|
148
101
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
102
|
+
const timeout = setTimeout(resolve, ms);
|
|
103
|
+
signal?.addEventListener("abort", () => {
|
|
104
|
+
clearTimeout(timeout);
|
|
105
|
+
reject(new Error("Login cancelled"));
|
|
106
|
+
}, { once: true });
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
// Change 2: pollAccessToken (was pollForGitHubAccessToken)
|
|
110
|
+
async pollAccessToken(domain, deviceCode, intervalSeconds, expiresIn, signal) {
|
|
111
|
+
const endpoints = this.buildEndpoints(domain);
|
|
112
|
+
const deadline = Date.now() + expiresIn * 1000;
|
|
113
|
+
let intervalMs = Math.max(1000, Math.floor(intervalSeconds * 1000));
|
|
114
|
+
while (Date.now() < deadline) {
|
|
115
|
+
if (signal?.aborted)
|
|
116
|
+
throw new Error("Login cancelled");
|
|
117
|
+
const raw = await this.request(endpoints.accessTokenUrl, {
|
|
118
|
+
method: "POST",
|
|
119
|
+
headers: {
|
|
120
|
+
Accept: "application/json",
|
|
121
|
+
"Content-Type": "application/json",
|
|
122
|
+
"User-Agent": "GitHubCopilotChat/0.35.0",
|
|
123
|
+
},
|
|
124
|
+
body: JSON.stringify({
|
|
125
|
+
client_id: this.appId,
|
|
126
|
+
device_code: deviceCode,
|
|
127
|
+
grant_type: "urn:ietf:params:oauth:grant-type:device_code",
|
|
128
|
+
}),
|
|
129
|
+
});
|
|
130
|
+
if (typeof raw.access_token === "string") {
|
|
131
|
+
return raw.access_token;
|
|
153
132
|
}
|
|
154
|
-
|
|
133
|
+
const err = raw.error;
|
|
134
|
+
if (typeof err === "string") {
|
|
135
|
+
if (err === "authorization_pending") {
|
|
136
|
+
await this.sleep(intervalMs, signal);
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
if (err === "slow_down") {
|
|
140
|
+
intervalMs += 5000;
|
|
141
|
+
await this.sleep(intervalMs, signal);
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
throw new Error(`Device flow failed: ${err}`);
|
|
145
|
+
}
|
|
146
|
+
await this.sleep(intervalMs, signal);
|
|
155
147
|
}
|
|
156
|
-
|
|
148
|
+
throw new Error("Device flow timed out");
|
|
157
149
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
export async function refreshGitHubCopilotToken(refreshToken, enterpriseDomain) {
|
|
164
|
-
const domain = enterpriseDomain || "github.com";
|
|
165
|
-
const urls = getUrls(domain);
|
|
166
|
-
const raw = await fetchJson(urls.copilotTokenUrl, {
|
|
167
|
-
headers: {
|
|
168
|
-
Accept: "application/json",
|
|
169
|
-
Authorization: `Bearer ${refreshToken}`,
|
|
170
|
-
...COPILOT_HEADERS,
|
|
171
|
-
},
|
|
172
|
-
});
|
|
173
|
-
if (!raw || typeof raw !== "object") {
|
|
174
|
-
throw new Error("Invalid Copilot token response");
|
|
175
|
-
}
|
|
176
|
-
const token = raw.token;
|
|
177
|
-
const expiresAt = raw.expires_at;
|
|
178
|
-
if (typeof token !== "string" || typeof expiresAt !== "number") {
|
|
179
|
-
throw new Error("Invalid Copilot token response fields");
|
|
180
|
-
}
|
|
181
|
-
return {
|
|
182
|
-
refresh: refreshToken,
|
|
183
|
-
access: token,
|
|
184
|
-
expires: expiresAt * 1000 - 5 * 60 * 1000,
|
|
185
|
-
enterpriseUrl: enterpriseDomain,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Enable a model for the user's GitHub Copilot account.
|
|
190
|
-
* This is required for some models (like Claude, Grok) before they can be used.
|
|
191
|
-
*/
|
|
192
|
-
async function enableGitHubCopilotModel(token, modelId, enterpriseDomain) {
|
|
193
|
-
const baseUrl = getGitHubCopilotBaseUrl(token, enterpriseDomain);
|
|
194
|
-
const url = `${baseUrl}/models/${modelId}/policy`;
|
|
195
|
-
try {
|
|
196
|
-
const response = await fetch(url, {
|
|
197
|
-
method: "POST",
|
|
150
|
+
// Change 2: refreshToken (was refreshGitHubCopilotToken)
|
|
151
|
+
async refreshToken(refreshToken, enterpriseDomain) {
|
|
152
|
+
const domain = enterpriseDomain || "github.com";
|
|
153
|
+
const endpoints = this.buildEndpoints(domain);
|
|
154
|
+
const raw = await this.request(endpoints.copilotTokenUrl, {
|
|
198
155
|
headers: {
|
|
199
|
-
|
|
200
|
-
Authorization: `Bearer ${
|
|
201
|
-
...
|
|
202
|
-
"openai-intent": "chat-policy",
|
|
203
|
-
"x-interaction-type": "chat-policy",
|
|
156
|
+
Accept: "application/json",
|
|
157
|
+
Authorization: `Bearer ${refreshToken}`,
|
|
158
|
+
...this.requestHeaders,
|
|
204
159
|
},
|
|
205
|
-
body: JSON.stringify({ state: "enabled" }),
|
|
206
160
|
});
|
|
207
|
-
|
|
161
|
+
const { token, expires_at } = raw;
|
|
162
|
+
if (typeof token !== "string" || typeof expires_at !== "number") {
|
|
163
|
+
throw new Error("Invalid Copilot token response fields");
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
refresh: refreshToken,
|
|
167
|
+
access: token,
|
|
168
|
+
expires: expires_at * 1000 - 5 * 60 * 1000,
|
|
169
|
+
enterpriseUrl: enterpriseDomain,
|
|
170
|
+
};
|
|
208
171
|
}
|
|
209
|
-
|
|
210
|
-
|
|
172
|
+
// Change 2: activateModel (was enableGitHubCopilotModel)
|
|
173
|
+
async activateModel(token, modelId, enterpriseDomain) {
|
|
174
|
+
const baseUrl = this.resolveBaseUrl(token, enterpriseDomain);
|
|
175
|
+
const url = `${baseUrl}/models/${modelId}/policy`;
|
|
176
|
+
try {
|
|
177
|
+
const response = await fetch(url, {
|
|
178
|
+
method: "POST",
|
|
179
|
+
headers: {
|
|
180
|
+
"Content-Type": "application/json",
|
|
181
|
+
Authorization: `Bearer ${token}`,
|
|
182
|
+
...this.requestHeaders,
|
|
183
|
+
"openai-intent": "chat-policy",
|
|
184
|
+
"x-interaction-type": "chat-policy",
|
|
185
|
+
},
|
|
186
|
+
body: JSON.stringify({ state: "enabled" }),
|
|
187
|
+
});
|
|
188
|
+
return response.ok;
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// Change 2: activateAllModels (was enableAllGitHubCopilotModels)
|
|
195
|
+
async activateAllModels(token, enterpriseDomain, onProgress) {
|
|
196
|
+
const models = getModels("github-copilot");
|
|
197
|
+
await Promise.all(models.map(async (model) => {
|
|
198
|
+
const success = await this.activateModel(token, model.id, enterpriseDomain);
|
|
199
|
+
onProgress?.(model.id, success);
|
|
200
|
+
}));
|
|
201
|
+
}
|
|
202
|
+
// Change 2: login (was loginGitHubCopilot)
|
|
203
|
+
async login(options) {
|
|
204
|
+
const input = await options.onPrompt({
|
|
205
|
+
message: "GitHub Enterprise URL/domain (blank for github.com)",
|
|
206
|
+
placeholder: "company.ghe.com",
|
|
207
|
+
allowEmpty: true,
|
|
208
|
+
});
|
|
209
|
+
if (options.signal?.aborted)
|
|
210
|
+
throw new Error("Login cancelled");
|
|
211
|
+
const trimmed = input.trim();
|
|
212
|
+
const enterpriseDomain = this.normalizeDomain(input);
|
|
213
|
+
if (trimmed && !enterpriseDomain) {
|
|
214
|
+
throw new Error("Invalid GitHub Enterprise URL/domain");
|
|
215
|
+
}
|
|
216
|
+
const domain = enterpriseDomain || "github.com";
|
|
217
|
+
const device = await this.initiateDeviceFlow(domain);
|
|
218
|
+
options.onAuth(device.verification_uri, `Enter code: ${device.user_code}`);
|
|
219
|
+
const githubAccessToken = await this.pollAccessToken(domain, device.device_code, device.interval, device.expires_in, options.signal);
|
|
220
|
+
const credentials = await this.refreshToken(githubAccessToken, enterpriseDomain ?? undefined);
|
|
221
|
+
options.onProgress?.("Enabling models...");
|
|
222
|
+
await this.activateAllModels(credentials.access, enterpriseDomain ?? undefined);
|
|
223
|
+
return credentials;
|
|
224
|
+
}
|
|
225
|
+
isCredentialValid(creds) {
|
|
226
|
+
return !!creds.access && !!creds.refresh && creds.expires > Date.now();
|
|
211
227
|
}
|
|
212
228
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
229
|
+
// ── Singleton instance ────────────────────────────────────────────────────────
|
|
230
|
+
const copilotAuthFlow = new CopilotAuthFlow();
|
|
231
|
+
// ── Public exports (backward-compat wrappers around class methods) ────────────
|
|
232
|
+
export function normalizeDomain(raw) {
|
|
233
|
+
return copilotAuthFlow.normalizeDomain(raw);
|
|
234
|
+
}
|
|
235
|
+
/** Export alias for resolveBaseUrl — backward compat */
|
|
236
|
+
export function getGitHubCopilotBaseUrl(token, enterpriseDomain) {
|
|
237
|
+
return copilotAuthFlow.resolveBaseUrl(token, enterpriseDomain);
|
|
238
|
+
}
|
|
239
|
+
export async function refreshGitHubCopilotToken(refreshToken, enterpriseDomain) {
|
|
240
|
+
return copilotAuthFlow.refreshToken(refreshToken, enterpriseDomain);
|
|
223
241
|
}
|
|
224
|
-
/**
|
|
225
|
-
* Login with GitHub Copilot OAuth (device code flow)
|
|
226
|
-
*
|
|
227
|
-
* @param options.onAuth - Callback with URL and optional instructions (user code)
|
|
228
|
-
* @param options.onPrompt - Callback to prompt user for input
|
|
229
|
-
* @param options.onProgress - Optional progress callback
|
|
230
|
-
* @param options.signal - Optional AbortSignal for cancellation
|
|
231
|
-
*/
|
|
232
242
|
export async function loginGitHubCopilot(options) {
|
|
233
|
-
|
|
234
|
-
message: "GitHub Enterprise URL/domain (blank for github.com)",
|
|
235
|
-
placeholder: "company.ghe.com",
|
|
236
|
-
allowEmpty: true,
|
|
237
|
-
});
|
|
238
|
-
if (options.signal?.aborted) {
|
|
239
|
-
throw new Error("Login cancelled");
|
|
240
|
-
}
|
|
241
|
-
const trimmed = input.trim();
|
|
242
|
-
const enterpriseDomain = normalizeDomain(input);
|
|
243
|
-
if (trimmed && !enterpriseDomain) {
|
|
244
|
-
throw new Error("Invalid GitHub Enterprise URL/domain");
|
|
245
|
-
}
|
|
246
|
-
const domain = enterpriseDomain || "github.com";
|
|
247
|
-
const device = await startDeviceFlow(domain);
|
|
248
|
-
options.onAuth(device.verification_uri, `Enter code: ${device.user_code}`);
|
|
249
|
-
const githubAccessToken = await pollForGitHubAccessToken(domain, device.device_code, device.interval, device.expires_in, options.signal);
|
|
250
|
-
const credentials = await refreshGitHubCopilotToken(githubAccessToken, enterpriseDomain ?? undefined);
|
|
251
|
-
// Enable all models after successful login
|
|
252
|
-
options.onProgress?.("Enabling models...");
|
|
253
|
-
await enableAllGitHubCopilotModels(credentials.access, enterpriseDomain ?? undefined);
|
|
254
|
-
return credentials;
|
|
243
|
+
return copilotAuthFlow.login(options);
|
|
255
244
|
}
|
|
256
245
|
export function isGitHubCopilotOAuthCredentialsValid(credentials) {
|
|
257
|
-
return
|
|
246
|
+
return copilotAuthFlow.isCredentialValid(credentials);
|
|
258
247
|
}
|
|
259
248
|
export const githubCopilotOAuthProvider = {
|
|
260
249
|
id: "github-copilot",
|
|
261
250
|
name: "GitHub Copilot",
|
|
262
251
|
async login(callbacks) {
|
|
263
|
-
return
|
|
252
|
+
return copilotAuthFlow.login({
|
|
264
253
|
onAuth: (url, instructions) => callbacks.onAuth({ url, instructions }),
|
|
265
254
|
onPrompt: callbacks.onPrompt,
|
|
266
255
|
onProgress: callbacks.onProgress,
|
|
@@ -269,15 +258,17 @@ export const githubCopilotOAuthProvider = {
|
|
|
269
258
|
},
|
|
270
259
|
async refreshToken(credentials) {
|
|
271
260
|
const creds = credentials;
|
|
272
|
-
return
|
|
261
|
+
return copilotAuthFlow.refreshToken(creds.refresh, creds.enterpriseUrl);
|
|
273
262
|
},
|
|
274
263
|
getApiKey(credentials) {
|
|
275
264
|
return credentials.access;
|
|
276
265
|
},
|
|
277
266
|
modifyModels(models, credentials) {
|
|
278
267
|
const creds = credentials;
|
|
279
|
-
const domain = creds.enterpriseUrl
|
|
280
|
-
|
|
268
|
+
const domain = creds.enterpriseUrl
|
|
269
|
+
? (copilotAuthFlow.normalizeDomain(creds.enterpriseUrl) ?? undefined)
|
|
270
|
+
: undefined;
|
|
271
|
+
const baseUrl = copilotAuthFlow.resolveBaseUrl(creds.access, domain);
|
|
281
272
|
return models.map((m) => (m.provider === "github-copilot" ? { ...m, baseUrl } : m));
|
|
282
273
|
},
|
|
283
274
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/github-copilot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/github-copilot.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import type { OAuthCredentials, OAuthPrompt, OAuthProviderInterface } from "./ty
|
|
|
16
16
|
* Useful for showing paste input immediately alongside browser flow.
|
|
17
17
|
* @param options.originator - OAuth originator parameter (defaults to "pi")
|
|
18
18
|
*/
|
|
19
|
-
export declare function
|
|
19
|
+
export declare function authenticateOpenAICodex(options: {
|
|
20
20
|
onAuth: (info: {
|
|
21
21
|
url: string;
|
|
22
22
|
instructions?: string;
|
|
@@ -29,7 +29,9 @@ export declare function loginOpenAICodex(options: {
|
|
|
29
29
|
/**
|
|
30
30
|
* Refresh OpenAI Codex OAuth token
|
|
31
31
|
*/
|
|
32
|
-
export declare function
|
|
32
|
+
export declare function renewOpenAICodexToken(refreshToken: string): Promise<OAuthCredentials>;
|
|
33
|
+
export { authenticateOpenAICodex as loginOpenAICodex };
|
|
34
|
+
export { renewOpenAICodexToken as refreshOpenAICodexToken };
|
|
33
35
|
export declare function isOpenAICodexOAuthCredentialsValid(credentials: OAuthCredentials): boolean;
|
|
34
36
|
export declare const openaiCodexOAuthProvider: OAuthProviderInterface;
|
|
35
37
|
//# sourceMappingURL=openai-codex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-codex.d.ts","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/openai-codex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAAE,gBAAgB,EAAuB,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-codex.d.ts","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/openai-codex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAAE,gBAAgB,EAAuB,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA+S7G;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACtD,MAAM,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4C5B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiB3F;AAGD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAC;AACvD,OAAO,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,CAAC;AAE5D,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAEzF;AAED,eAAO,MAAM,wBAAwB,EAAE,sBAqBtC,CAAC"}
|