@opencode-ai/client
Advanced tools
+50
-17
@@ -391,3 +391,3 @@ import type { Effect, Stream } from "effect"; | ||
| export type IntegrationConnectKeyOperation<E = never> = (input: Endpoint10_2Input) => Effect.Effect<Endpoint10_2Output, E>; | ||
| type Endpoint10_3Request = Parameters<RawClient["server.integration"]["integration.connect.oauth"]>[0]; | ||
| type Endpoint10_3Request = Parameters<RawClient["server.integration"]["integration.oauth.connect"]>[0]; | ||
| export type Endpoint10_3Input = { | ||
@@ -400,13 +400,15 @@ readonly integrationID: Endpoint10_3Request["params"]["integrationID"]; | ||
| }; | ||
| export type Endpoint10_3Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.connect.oauth"]>>; | ||
| export type IntegrationConnectOauthOperation<E = never> = (input: Endpoint10_3Input) => Effect.Effect<Endpoint10_3Output, E>; | ||
| type Endpoint10_4Request = Parameters<RawClient["server.integration"]["integration.attempt.status"]>[0]; | ||
| export type Endpoint10_3Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.oauth.connect"]>>; | ||
| export type IntegrationOauthConnectOperation<E = never> = (input: Endpoint10_3Input) => Effect.Effect<Endpoint10_3Output, E>; | ||
| type Endpoint10_4Request = Parameters<RawClient["server.integration"]["integration.oauth.status"]>[0]; | ||
| export type Endpoint10_4Input = { | ||
| readonly integrationID: Endpoint10_4Request["params"]["integrationID"]; | ||
| readonly attemptID: Endpoint10_4Request["params"]["attemptID"]; | ||
| readonly location?: Endpoint10_4Request["query"]["location"]; | ||
| }; | ||
| export type Endpoint10_4Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.attempt.status"]>>; | ||
| export type IntegrationAttemptStatusOperation<E = never> = (input: Endpoint10_4Input) => Effect.Effect<Endpoint10_4Output, E>; | ||
| type Endpoint10_5Request = Parameters<RawClient["server.integration"]["integration.attempt.complete"]>[0]; | ||
| export type Endpoint10_4Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.oauth.status"]>>; | ||
| export type IntegrationOauthStatusOperation<E = never> = (input: Endpoint10_4Input) => Effect.Effect<Endpoint10_4Output, E>; | ||
| type Endpoint10_5Request = Parameters<RawClient["server.integration"]["integration.oauth.complete"]>[0]; | ||
| export type Endpoint10_5Input = { | ||
| readonly integrationID: Endpoint10_5Request["params"]["integrationID"]; | ||
| readonly attemptID: Endpoint10_5Request["params"]["attemptID"]; | ||
@@ -416,11 +418,37 @@ readonly location?: Endpoint10_5Request["query"]["location"]; | ||
| }; | ||
| export type Endpoint10_5Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.attempt.complete"]>>; | ||
| export type IntegrationAttemptCompleteOperation<E = never> = (input: Endpoint10_5Input) => Effect.Effect<Endpoint10_5Output, E>; | ||
| type Endpoint10_6Request = Parameters<RawClient["server.integration"]["integration.attempt.cancel"]>[0]; | ||
| export type Endpoint10_5Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.oauth.complete"]>>; | ||
| export type IntegrationOauthCompleteOperation<E = never> = (input: Endpoint10_5Input) => Effect.Effect<Endpoint10_5Output, E>; | ||
| type Endpoint10_6Request = Parameters<RawClient["server.integration"]["integration.oauth.cancel"]>[0]; | ||
| export type Endpoint10_6Input = { | ||
| readonly integrationID: Endpoint10_6Request["params"]["integrationID"]; | ||
| readonly attemptID: Endpoint10_6Request["params"]["attemptID"]; | ||
| readonly location?: Endpoint10_6Request["query"]["location"]; | ||
| }; | ||
| export type Endpoint10_6Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.attempt.cancel"]>>; | ||
| export type IntegrationAttemptCancelOperation<E = never> = (input: Endpoint10_6Input) => Effect.Effect<Endpoint10_6Output, E>; | ||
| export type Endpoint10_6Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.oauth.cancel"]>>; | ||
| export type IntegrationOauthCancelOperation<E = never> = (input: Endpoint10_6Input) => Effect.Effect<Endpoint10_6Output, E>; | ||
| type Endpoint10_7Request = Parameters<RawClient["server.integration"]["integration.command.connect"]>[0]; | ||
| export type Endpoint10_7Input = { | ||
| readonly integrationID: Endpoint10_7Request["params"]["integrationID"]; | ||
| readonly location?: Endpoint10_7Request["query"]["location"]; | ||
| readonly methodID: Endpoint10_7Request["payload"]["methodID"]; | ||
| readonly label?: Endpoint10_7Request["payload"]["label"]; | ||
| }; | ||
| export type Endpoint10_7Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.command.connect"]>>; | ||
| export type IntegrationCommandConnectOperation<E = never> = (input: Endpoint10_7Input) => Effect.Effect<Endpoint10_7Output, E>; | ||
| type Endpoint10_8Request = Parameters<RawClient["server.integration"]["integration.command.status"]>[0]; | ||
| export type Endpoint10_8Input = { | ||
| readonly integrationID: Endpoint10_8Request["params"]["integrationID"]; | ||
| readonly attemptID: Endpoint10_8Request["params"]["attemptID"]; | ||
| readonly location?: Endpoint10_8Request["query"]["location"]; | ||
| }; | ||
| export type Endpoint10_8Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.command.status"]>>; | ||
| export type IntegrationCommandStatusOperation<E = never> = (input: Endpoint10_8Input) => Effect.Effect<Endpoint10_8Output, E>; | ||
| type Endpoint10_9Request = Parameters<RawClient["server.integration"]["integration.command.cancel"]>[0]; | ||
| export type Endpoint10_9Input = { | ||
| readonly integrationID: Endpoint10_9Request["params"]["integrationID"]; | ||
| readonly attemptID: Endpoint10_9Request["params"]["attemptID"]; | ||
| readonly location?: Endpoint10_9Request["query"]["location"]; | ||
| }; | ||
| export type Endpoint10_9Output = EffectValue<ReturnType<RawClient["server.integration"]["integration.command.cancel"]>>; | ||
| export type IntegrationCommandCancelOperation<E = never> = (input: Endpoint10_9Input) => Effect.Effect<Endpoint10_9Output, E>; | ||
| export interface IntegrationApi<E = never> { | ||
@@ -431,9 +459,14 @@ readonly list: IntegrationListOperation<E>; | ||
| readonly key: IntegrationConnectKeyOperation<E>; | ||
| readonly oauth: IntegrationConnectOauthOperation<E>; | ||
| }; | ||
| readonly attempt: { | ||
| readonly status: IntegrationAttemptStatusOperation<E>; | ||
| readonly complete: IntegrationAttemptCompleteOperation<E>; | ||
| readonly cancel: IntegrationAttemptCancelOperation<E>; | ||
| readonly oauth: { | ||
| readonly connect: IntegrationOauthConnectOperation<E>; | ||
| readonly status: IntegrationOauthStatusOperation<E>; | ||
| readonly complete: IntegrationOauthCompleteOperation<E>; | ||
| readonly cancel: IntegrationOauthCancelOperation<E>; | ||
| }; | ||
| readonly command: { | ||
| readonly connect: IntegrationCommandConnectOperation<E>; | ||
| readonly status: IntegrationCommandStatusOperation<E>; | ||
| readonly cancel: IntegrationCommandCancelOperation<E>; | ||
| }; | ||
| } | ||
@@ -440,0 +473,0 @@ type Endpoint11_0Request = Parameters<RawClient["server.mcp"]["mcp.list"]>[0]; |
@@ -170,3 +170,3 @@ // Generated by @opencode-ai/httpapi-codegen. Do not edit. | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const Endpoint10_3 = (raw) => (input) => raw["integration.connect.oauth"]({ | ||
| const Endpoint10_3 = (raw) => (input) => raw["integration.oauth.connect"]({ | ||
| params: { integrationID: input["integrationID"] }, | ||
@@ -176,20 +176,39 @@ query: { location: input["location"] }, | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const Endpoint10_4 = (raw) => (input) => raw["integration.attempt.status"]({ | ||
| params: { attemptID: input["attemptID"] }, | ||
| const Endpoint10_4 = (raw) => (input) => raw["integration.oauth.status"]({ | ||
| params: { integrationID: input["integrationID"], attemptID: input["attemptID"] }, | ||
| query: { location: input["location"] }, | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const Endpoint10_5 = (raw) => (input) => raw["integration.attempt.complete"]({ | ||
| params: { attemptID: input["attemptID"] }, | ||
| const Endpoint10_5 = (raw) => (input) => raw["integration.oauth.complete"]({ | ||
| params: { integrationID: input["integrationID"], attemptID: input["attemptID"] }, | ||
| query: { location: input["location"] }, | ||
| payload: { code: input["code"] }, | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const Endpoint10_6 = (raw) => (input) => raw["integration.attempt.cancel"]({ | ||
| params: { attemptID: input["attemptID"] }, | ||
| const Endpoint10_6 = (raw) => (input) => raw["integration.oauth.cancel"]({ | ||
| params: { integrationID: input["integrationID"], attemptID: input["attemptID"] }, | ||
| query: { location: input["location"] }, | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const Endpoint10_7 = (raw) => (input) => raw["integration.command.connect"]({ | ||
| params: { integrationID: input["integrationID"] }, | ||
| query: { location: input["location"] }, | ||
| payload: { methodID: input["methodID"], label: input["label"] }, | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const Endpoint10_8 = (raw) => (input) => raw["integration.command.status"]({ | ||
| params: { integrationID: input["integrationID"], attemptID: input["attemptID"] }, | ||
| query: { location: input["location"] }, | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const Endpoint10_9 = (raw) => (input) => raw["integration.command.cancel"]({ | ||
| params: { integrationID: input["integrationID"], attemptID: input["attemptID"] }, | ||
| query: { location: input["location"] }, | ||
| }).pipe(Effect.mapError(mapClientError)); | ||
| const adaptGroup10 = (raw) => ({ | ||
| list: Endpoint10_0(raw), | ||
| get: Endpoint10_1(raw), | ||
| connect: { key: Endpoint10_2(raw), oauth: Endpoint10_3(raw) }, | ||
| attempt: { status: Endpoint10_4(raw), complete: Endpoint10_5(raw), cancel: Endpoint10_6(raw) }, | ||
| connect: { key: Endpoint10_2(raw) }, | ||
| oauth: { | ||
| connect: Endpoint10_3(raw), | ||
| status: Endpoint10_4(raw), | ||
| complete: Endpoint10_5(raw), | ||
| cancel: Endpoint10_6(raw), | ||
| }, | ||
| command: { connect: Endpoint10_7(raw), status: Endpoint10_8(raw), cancel: Endpoint10_9(raw) }, | ||
| }); | ||
@@ -196,0 +215,0 @@ const Endpoint11_0 = (raw) => (input) => raw["mcp.list"]({ query: { location: input?.["location"] } }).pipe(Effect.mapError(mapClientError)); |
@@ -1,2 +0,2 @@ | ||
| import type { HealthStopInput, ServerGetOutput, LocationGetInput, LocationGetOutput, AgentListInput, AgentListOutput, PluginListInput, PluginListOutput, SessionListInput, SessionCreateInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionPendingListInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageInput, MessageListInput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationConnectKeyInput, IntegrationConnectOauthInput, IntegrationConnectOauthOutput, IntegrationAttemptStatusInput, IntegrationAttemptStatusOutput, IntegrationAttemptCompleteInput, IntegrationAttemptCancelInput, McpListInput, McpListOutput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialRemoveInput, ProjectListOutput, ProjectCurrentInput, ProjectDirectoriesInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, QuestionRequestListInput, QuestionRequestListOutput, QuestionListInput, QuestionReplyInput, QuestionRejectInput, ReferenceListInput, ReferenceListOutput, ProjectCopyCreateInput, ProjectCopyRemoveInput, ProjectCopyRefreshInput, VcsStatusInput, VcsStatusOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput } from "./types"; | ||
| import type { HealthStopInput, ServerGetOutput, LocationGetInput, LocationGetOutput, AgentListInput, AgentListOutput, PluginListInput, PluginListOutput, SessionListInput, SessionCreateInput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionRenameInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionPendingListInput, SessionInstructionsEntryListInput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionBackgroundInput, SessionMessageInput, MessageListInput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialUpdateInput, CredentialRemoveInput, ProjectListOutput, ProjectCurrentInput, ProjectDirectoriesInput, FormRequestListInput, FormRequestListOutput, FormListInput, FormCreateInput, FormGetInput, FormStateInput, FormReplyInput, FormCancelInput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionListInput, PermissionGetInput, PermissionReplyInput, FileReadInput, FileReadOutput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, EventSubscribeOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellTimeoutInput, ShellTimeoutOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, QuestionRequestListInput, QuestionRequestListOutput, QuestionListInput, QuestionReplyInput, QuestionRejectInput, ReferenceListInput, ReferenceListOutput, ProjectCopyCreateInput, ProjectCopyRemoveInput, ProjectCopyRefreshInput, VcsStatusInput, VcsStatusOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput } from "./types"; | ||
| export interface ClientOptions { | ||
@@ -90,9 +90,14 @@ readonly baseUrl: string; | ||
| key: (input: IntegrationConnectKeyInput, requestOptions?: RequestOptions) => Promise<void>; | ||
| oauth: (input: IntegrationConnectOauthInput, requestOptions?: RequestOptions) => Promise<IntegrationConnectOauthOutput>; | ||
| }; | ||
| attempt: { | ||
| status: (input: IntegrationAttemptStatusInput, requestOptions?: RequestOptions) => Promise<IntegrationAttemptStatusOutput>; | ||
| complete: (input: IntegrationAttemptCompleteInput, requestOptions?: RequestOptions) => Promise<void>; | ||
| cancel: (input: IntegrationAttemptCancelInput, requestOptions?: RequestOptions) => Promise<void>; | ||
| oauth: { | ||
| connect: (input: IntegrationOauthConnectInput, requestOptions?: RequestOptions) => Promise<IntegrationOauthConnectOutput>; | ||
| status: (input: IntegrationOauthStatusInput, requestOptions?: RequestOptions) => Promise<IntegrationOauthStatusOutput>; | ||
| complete: (input: IntegrationOauthCompleteInput, requestOptions?: RequestOptions) => Promise<void>; | ||
| cancel: (input: IntegrationOauthCancelInput, requestOptions?: RequestOptions) => Promise<void>; | ||
| }; | ||
| command: { | ||
| connect: (input: IntegrationCommandConnectInput, requestOptions?: RequestOptions) => Promise<IntegrationCommandConnectOutput>; | ||
| status: (input: IntegrationCommandStatusInput, requestOptions?: RequestOptions) => Promise<IntegrationCommandStatusOutput>; | ||
| cancel: (input: IntegrationCommandCancelInput, requestOptions?: RequestOptions) => Promise<void>; | ||
| }; | ||
| }; | ||
@@ -99,0 +104,0 @@ mcp: { |
@@ -527,3 +527,5 @@ import { ClientError } from "./client-error"; | ||
| }, requestOptions), | ||
| oauth: (input, requestOptions) => request({ | ||
| }, | ||
| oauth: { | ||
| connect: (input, requestOptions) => request({ | ||
| method: "POST", | ||
@@ -537,7 +539,5 @@ path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/oauth`, | ||
| }, requestOptions), | ||
| }, | ||
| attempt: { | ||
| status: (input, requestOptions) => request({ | ||
| method: "GET", | ||
| path: `/api/integration/attempt/${encodeURIComponent(input.attemptID)}`, | ||
| path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/oauth/${encodeURIComponent(input.attemptID)}`, | ||
| query: { location: input["location"] }, | ||
@@ -550,3 +550,3 @@ successStatus: 200, | ||
| method: "POST", | ||
| path: `/api/integration/attempt/${encodeURIComponent(input.attemptID)}/complete`, | ||
| path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/oauth/${encodeURIComponent(input.attemptID)}/complete`, | ||
| query: { location: input["location"] }, | ||
@@ -560,3 +560,3 @@ body: { code: input["code"] }, | ||
| method: "DELETE", | ||
| path: `/api/integration/attempt/${encodeURIComponent(input.attemptID)}`, | ||
| path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/oauth/${encodeURIComponent(input.attemptID)}`, | ||
| query: { location: input["location"] }, | ||
@@ -568,2 +568,29 @@ successStatus: 204, | ||
| }, | ||
| command: { | ||
| connect: (input, requestOptions) => request({ | ||
| method: "POST", | ||
| path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/command`, | ||
| query: { location: input["location"] }, | ||
| body: { methodID: input["methodID"], label: input["label"] }, | ||
| successStatus: 200, | ||
| declaredStatuses: [400, 401], | ||
| empty: false, | ||
| }, requestOptions), | ||
| status: (input, requestOptions) => request({ | ||
| method: "GET", | ||
| path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/command/${encodeURIComponent(input.attemptID)}`, | ||
| query: { location: input["location"] }, | ||
| successStatus: 200, | ||
| declaredStatuses: [401, 400], | ||
| empty: false, | ||
| }, requestOptions), | ||
| cancel: (input, requestOptions) => request({ | ||
| method: "DELETE", | ||
| path: `/api/integration/${encodeURIComponent(input.integrationID)}/connect/command/${encodeURIComponent(input.attemptID)}`, | ||
| query: { location: input["location"] }, | ||
| successStatus: 204, | ||
| declaredStatuses: [401, 400], | ||
| empty: true, | ||
| }, requestOptions), | ||
| }, | ||
| }, | ||
@@ -570,0 +597,0 @@ mcp: { |
+4
-4
| { | ||
| "$schema": "https://json.schemastore.org/package.json", | ||
| "name": "@opencode-ai/client", | ||
| "version": "0.0.0-next-15623", | ||
| "version": "0.0.0-next-15626", | ||
| "type": "module", | ||
@@ -56,4 +56,4 @@ "license": "MIT", | ||
| "dependencies": { | ||
| "@opencode-ai/schema": "0.0.0-next-15623", | ||
| "@opencode-ai/protocol": "0.0.0-next-15623" | ||
| "@opencode-ai/schema": "0.0.0-next-15626", | ||
| "@opencode-ai/protocol": "0.0.0-next-15626" | ||
| }, | ||
@@ -70,3 +70,3 @@ "peerDependencies": { | ||
| "@effect/platform-node": "4.0.0-beta.83", | ||
| "@opencode-ai/httpapi-codegen": "0.0.0-next-15623", | ||
| "@opencode-ai/httpapi-codegen": "0.0.0-next-15626", | ||
| "@tsconfig/bun": "1.0.9", | ||
@@ -73,0 +73,0 @@ "@types/bun": "1.3.13", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
750462
1.83%17039
1.72%+ Added
+ Added
- Removed
- Removed