npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

kite-api

v3.21.0

Published

API methods to access Kite

Downloads

367

Readme

Kite API

Build Status codecov

.STATES

An object containing the constant values of the various states of kited

| State | Value | Alias | | --------------- | ----- | ------------- | | UNSUPPORTED | 0 | | | UNINSTALLED | 1 | | | NOT_RUNNING | 2 | INSTALLED | | NOT_REACHABLE | 3 | RUNNING | | UNLOGGED | 4 | REACHABLE | | NOT_WHITELISTED | 5 | AUTHENTICATED | | WHITELISTED | 6 |   |

.editorConfig

The editorConfig object is provided as a way for an editor to store information across instances and session. It can be setup with different concrete stores that implements the various solutions to store the data.

By default it is setup with a MemoryStore that just stores everything in memory (it thus won't persist across session nor instances).

The available stores are:

  • MemoryStore: Used as a placeholder, it is also useful in tests.
  • FileStore: Stores everything on a file at the path specified during creation
  • LocalStore: When running in a browser environment this store allows you to use the localStorage as a way to store the config data. The store takes a key which will be used to access the data in the local storage object.

The object exposes two main functions, get and set that both returns a promise when invoked.

Storage is done using JSON format, and the path argument in both methods resolves to a real object in that JSON structure. However, stores implementation only have to deal with strings, the whole serialization/parsing is handled by the editor config object.

KiteAPI.editorConfig.set('path.to.some.data', 'data')
.then(() => KiteAPI.editorConfig.get('path.to.some.data'))
.then(data => {
  console.log(data)
  // output: data
  // store data: { path: { to: { some: 'data' }} }
})

.toggleRequestDebug()

This function is both a proxy to the KiteConnector method of the same name as well as calling the corresponding function on the Account object.

.onDidDetectWhitelistedPath(listener)

Registers a listener to the did-detect-whitelisted-path event and will be notified when a request for an editor API responds with a 200. The listener will be invoked with the path that have been detected as whitelisted.

The function returns a disposable object to unregister the listener from this event.

const disposable = KiteAPI.onDidDetectWhitelistedPath(path => {
  // path is whitelisted
})

disposable.dispose(); // the listener will no longer receive events

.onDidDetectNonWhitelistedPath(listener)

Registers a listener to the did-detect-non-whitelisted-path event and will be notified when a request for an editor API responds with a 403. The listener will be invoked with the path that have been detected as not whitelisted.

The function returns a disposable object to unregister the listener from this event.

const disposable = KiteAPI.onDidDetectNonWhitelistedPath(path => {
  // path is not whitelisted
})

disposable.dispose(); // the listener will no longer receive events

.requestJSON(options, data, timeout)

Makes a request to Kite using KiteConnector.request and automatically parses the JSON response when the status code was 200.

KiteAPI.requestJSON({path}).then(data => {
  // data is the result of JSON.parse on the response text
})

.isKiteLocal()

Makes a GET request to Kite at the endpoint /clientapi/iskitelocal. Responds with a boolean resolving Promise to true in the case of a 200 status code, false otherwise

KiteAPI.isKiteLocal().then(isLocal => {
  // do stuff related to kite-locality
})

.setKiteSetting(key, value)

Makes a POST request to Kite at the endpoint /clientapi/settings/${key}, where the body is set to value. It automatically parses the JSON response when the status code is 200

KiteAPI.setKiteSetting('some_setting_name', 'a_value')

.getKiteSetting(key)

Makes a GET request to Kite at the endpoint /clientapi/settings/${key}. It automatically parses the JSON response when the status code is 200

KiteAPI.getKiteSetting('some_setting').then(settingValue => {
  // do something with settingValue
})

.canAuthenticateUser()

Returns a promise that resolves if a user can be authenticated. A user can be authenticated if Kite is reachable and if the user is not already logged into Kite.

KiteAPI.canAuthenticateUser().then(() => {
  // user can be authenticated
})

.authenticateUser(email, password)

Makes a request to authenticate the user through Kite and returns a promise that will resolve if the authentication succeeds.

KiteAPI.authenticateUser('[email protected]', 'password')
.then(() => {
  // User is logged in
})
.catch(err => {
  // authentication failed
})

.authenticateSessionID(key)

Makes a request to authenticate a user using a session id and returns a promise that will resolve if the authentication succeeds. This function can be used to authenticate a user in Kite whose account have been created using kite.com API.

KiteAPI.authenticateSessionID('session-id')
.then(() => {
  // User is logged in
})
.catch(err => {
  // authentication failed
})

.isPathWhitelisted(path)

Returns a promise that resolves if the path is part of the whitelist, otherwise the promise will be rejected.

When calling that function, depending on the outcome, a did-detect-whitelisted-path or did-detect-non-whitelisted-path event will be dispatched.

KiteAPI.isPathWhitelisted(path)
.then(() => {
  // path is whitelisted
})
.catch(err => {
  // path is not whitelisted or an error occurred
  // err contains the details of the failure
})

.canWhitelistPath(path)

Returns a promise that resolves if the path can be whitelisted. A path can be whitelisted if it's not already part of the whitelist and if the projectdir endpoint responds with a 200.

In case of success, the promise resolves with the path returned by the projectdir endpoint.

KiteAPI.canWhitelistPath(path).then(projectDir => {
  // projectDir can be sent to the whitelist endpoint
})

.whitelistPath(path)

Makes a request to the whitelist endpoint and returns a promise that resolves if the path have been successfully whitelisted.

KiteAPI.whitelistPath(path).then(() => {
  // path is now whitelisted
})

.blacklistPath(path, noAction)

Makes a request to the blacklist endpoint and returns a promise that resolves if the path have been successfully blacklisted. The noAction parameters will allow to set the closed_whitelist_notification_without_action value in the request, it defaults to false.

KiteAPI.blacklistPath(path).then(() => {
  // path is now blacklisted
})

.getSupportedLanguages()

Makes a request to the languages endpoint and returns a promise that resolves with an array of the supported languages.

KiteAPI.getSupportedLanguages().then(languages => {
  // do something with languages
})

.getOnboardingFilePath()

Makes a request to the onboarding_file endpoint and returns a promise that resolves with a filepath string.

KiteAPI.getOnboardingFilePath().then(path => {
  // do something with path
})

.getHoverDataAtPosition(filename, source, position, editor)

.getReportDataAtPosition(filename, source, position, editor)

.getSymbolReportDataForId(id)

.getValueReportDataForId(id)

.getMembersDataForId(id)

.getUsagesDataForValueId(id)

.getUsageDataForId(id)

.getExampleDataForId(id)

.getUserAccountInfo()

.isFileAuthorized(filename)

.shouldOfferWhitelist(filename)

.shouldNotify(filename)

.projectDirForFile(filename)

.getStatus(filename)

.getCompletions(payload)

.getSignaturesAtPosition(filename, source, position, editor)

.getAutocorrectData(filename, source, editorMeta)

.getAutocorrectModelInfo(version, editorMeta)

.getOsName()

.postSaveValidationData(filename, source, editorMeta)

.postAutocorrectFeedbackData(response, feedback, editorMeta)

.postAutocorrectHashMismatchData(response, requestStartTime, editorMeta)

.sendFeatureMetric(name)

.featureRequested(name, editor)

.featureFulfilled(name, editor)

.featureApplied(name, editor)

.Account

.initClient(hostname, port)
.disposeClient()
.toggleRequestDebug()
.checkEmail(data)
.createAccount(data, callback)
.login(data, callback)
.resetPassword(data, callback)

Delegated methods

.arch()

A proxy to the KiteConnector.arch method.

.canInstallKite()

A proxy to the KiteConnector.canInstallKite method.

.canRunKite()

A proxy to the KiteConnector.canRunKite method.

.canRunKiteEnterprise()

A proxy to the KiteConnector.canRunKiteEnterprise. method

.checkHealth()

A proxy to the KiteConnector.checkHealth method.

.downloadKite(url, options)

A proxy to the KiteConnector.downloadKite method.

.downloadKiteRelease(options)

A proxy to the KiteConnector.downloadKiteRelease. method

.hasBothKiteInstalled()

A proxy to the KiteConnector.hasBothKiteInstalled. method

.hasManyKiteEnterpriseInstallation()

A proxy to the KiteConnector.hasManyKiteEnterpriseInstallation method.

.hasManyKiteInstallation()

A proxy to the KiteConnector.hasManyKiteInstallation method.

.installKite(options)

A proxy to the KiteConnector.installKite method.

.isAdmin()

A proxy to the KiteConnector.isAdmin method.

.isKiteEnterpriseInstalled()

A proxy to the KiteConnector.isKiteEnterpriseInstalled method.

.isKiteEnterpriseRunning()

A proxy to the KiteConnector.isKiteEnterpriseRunning method.

.isKiteInstalled()

A proxy to the KiteConnector.isKiteInstalled method.

.isKiteReachable()

A proxy to the KiteConnector.isKiteReachable method.

.isKiteRunning()

A proxy to the KiteConnector.isKiteRunning method.

.isKiteSupported()

A proxy to the KiteConnector.isKiteSupported method.

.isOSSupported()

A proxy to the KiteConnector.isOSSupported method.

.isOSVersionSupported()

A proxy to the KiteConnector.isOSVersionSupported. method

.isUserAuthenticated()

A proxy to the KiteConnector.isUserAuthenticated. method

.onDidFailRequest(listener)

A proxy to the KiteConnector.onDidFailRequest method.

.request(options, data, timeout)

A proxy to the KiteConnector.request method.

.runKiteWithCopilot()

A proxy to the KiteConnector.runKiteWithCopilot method.

.runKite()

A proxy to the KiteConnector.runKite method.

.runKiteAndWait()

A proxy to the KiteConnector.runKiteAndWait method.

.runKiteEnterprise()

A proxy to the KiteConnector.runKiteEnterprise method.

.runKiteEnterpriseAndWait()

A proxy to the KiteConnector.runKiteEnterpriseAndWait method.

.toggleRequestDebug()

A proxy to the KiteConnector.toggleRequestDebug method.

.waitForKite(attempts, interval)

A proxy to the KiteConnector.waitForKite method.