terse-cli 0.1.16 → 0.1.17
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/dist/assertProjectRoot.d.ts +3 -2
- package/dist/assertProjectRoot.d.ts.map +1 -1
- package/dist/assertProjectRoot.js +5 -8
- package/dist/assertProjectRoot.js.map +1 -1
- package/dist/deploy.d.ts +2 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +11 -12
- package/dist/deploy.js.map +1 -1
- package/dist/generate.d.ts +2 -1
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +12 -11
- package/dist/generate.js.map +1 -1
- package/dist/index.js +10 -7
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +2 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +29 -57
- package/dist/init.js.map +1 -1
- package/dist/loadJob.d.ts +4 -3
- package/dist/loadJob.d.ts.map +1 -1
- package/dist/loadJob.js +6 -54
- package/dist/loadJob.js.map +1 -1
- package/dist/providers/LanguageProvider.d.ts +31 -0
- package/dist/providers/LanguageProvider.d.ts.map +1 -0
- package/dist/providers/LanguageProvider.js +2 -0
- package/dist/providers/LanguageProvider.js.map +1 -0
- package/dist/providers/codegenTypes.d.ts +130 -0
- package/dist/providers/codegenTypes.d.ts.map +1 -0
- package/dist/providers/codegenTypes.js +2 -0
- package/dist/providers/codegenTypes.js.map +1 -0
- package/dist/providers/python/PythonProvider.d.ts +33 -0
- package/dist/providers/python/PythonProvider.d.ts.map +1 -0
- package/dist/providers/python/PythonProvider.js +369 -0
- package/dist/providers/python/PythonProvider.js.map +1 -0
- package/dist/providers/python/preparePythonCodegenData.d.ts +73 -0
- package/dist/providers/python/preparePythonCodegenData.d.ts.map +1 -0
- package/dist/providers/python/preparePythonCodegenData.js +338 -0
- package/dist/providers/python/preparePythonCodegenData.js.map +1 -0
- package/dist/providers/python/pythonTemplateEngine.d.ts +3 -0
- package/dist/providers/python/pythonTemplateEngine.d.ts.map +1 -0
- package/dist/providers/python/pythonTemplateEngine.js +30 -0
- package/dist/providers/python/pythonTemplateEngine.js.map +1 -0
- package/dist/providers/resolveProvider.d.ts +8 -0
- package/dist/providers/resolveProvider.d.ts.map +1 -0
- package/dist/providers/resolveProvider.js +47 -0
- package/dist/providers/resolveProvider.js.map +1 -0
- package/dist/providers/shared/sessionStream.d.ts +24 -0
- package/dist/providers/shared/sessionStream.d.ts.map +1 -0
- package/dist/providers/shared/sessionStream.js +159 -0
- package/dist/providers/shared/sessionStream.js.map +1 -0
- package/dist/providers/shared/shellUtils.d.ts +13 -0
- package/dist/providers/shared/shellUtils.d.ts.map +1 -0
- package/dist/providers/shared/shellUtils.js +70 -0
- package/dist/providers/shared/shellUtils.js.map +1 -0
- package/dist/providers/templateUtils.d.ts +7 -0
- package/dist/providers/templateUtils.d.ts.map +1 -0
- package/dist/providers/templateUtils.js +30 -0
- package/dist/providers/templateUtils.js.map +1 -0
- package/dist/providers/typescript/TypeScriptProvider.d.ts +33 -0
- package/dist/providers/typescript/TypeScriptProvider.d.ts.map +1 -0
- package/dist/providers/typescript/TypeScriptProvider.js +162 -0
- package/dist/providers/typescript/TypeScriptProvider.js.map +1 -0
- package/dist/providers/typescript/prepareCodegenData.d.ts +145 -0
- package/dist/providers/typescript/prepareCodegenData.d.ts.map +1 -0
- package/dist/providers/typescript/prepareCodegenData.js +834 -0
- package/dist/providers/typescript/prepareCodegenData.js.map +1 -0
- package/dist/providers/typescript/templateEngine.d.ts +3 -0
- package/dist/providers/typescript/templateEngine.d.ts.map +1 -0
- package/dist/providers/typescript/templateEngine.js +37 -0
- package/dist/providers/typescript/templateEngine.js.map +1 -0
- package/dist/run.d.ts +2 -11
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +5 -192
- package/dist/run.js.map +1 -1
- package/dist/shared/types.d.ts +899 -107
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/test.d.ts +2 -1
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +5 -5
- package/dist/test.js.map +1 -1
- package/package.json +2 -2
- package/templates/python/codegen/generated.hbs +6 -0
- package/templates/python/codegen/partials/attio-list-objects-method.hbs +8 -0
- package/templates/python/codegen/partials/attio-object-types.hbs +23 -0
- package/templates/python/codegen/partials/attio-query-records-method.hbs +45 -0
- package/templates/python/codegen/partials/attio-section.hbs +111 -0
- package/templates/python/codegen/partials/attio-upsert-record-method.hbs +51 -0
- package/templates/python/codegen/partials/deterministic-tools-section.hbs +194 -0
- package/templates/python/codegen/partials/file-header.hbs +32 -0
- package/templates/python/codegen/partials/schedule-section.hbs +9 -0
- package/templates/python/codegen/partials/snowflake-section.hbs +26 -0
- package/templates/python/codegen/partials/tool-name-types.hbs +15 -0
- package/templates/python/init/.python-version.hbs +1 -0
- package/templates/python/init/README.md.hbs +38 -0
- package/templates/python/init/gitignore.hbs +3 -0
- package/templates/python/init/pyproject.toml.hbs +16 -0
- package/templates/python/init/src/main.py.hbs +21 -0
- package/templates/typescript/codegen/generated.hbs +17 -0
- package/templates/typescript/codegen/partials/atlassian-section.hbs +32 -0
- package/templates/typescript/codegen/partials/attio-section.hbs +38 -0
- package/templates/typescript/codegen/partials/datadog-section.hbs +11 -0
- package/templates/typescript/codegen/partials/figma-section.hbs +13 -0
- package/templates/typescript/codegen/partials/github-section.hbs +62 -0
- package/templates/typescript/codegen/partials/gmail-section.hbs +21 -0
- package/templates/typescript/codegen/partials/header.hbs +12 -0
- package/templates/typescript/codegen/partials/launchdarkly-section.hbs +11 -0
- package/templates/typescript/codegen/partials/linear-section.hbs +27 -0
- package/templates/typescript/codegen/partials/notion-section.hbs +15 -0
- package/templates/typescript/codegen/partials/posthog-section.hbs +11 -0
- package/templates/typescript/codegen/partials/resource-class.hbs +9 -0
- package/templates/typescript/codegen/partials/slack-section.hbs +23 -0
- package/templates/typescript/codegen/partials/snowflake-section.hbs +9 -0
- package/templates/typescript/codegen/partials/system-section.hbs +18 -0
- package/templates/typescript/codegen/partials/tools-section.hbs +68 -0
- package/templates/typescript/codegen/partials/workos-section.hbs +53 -0
- package/templates/typescript/init/env.example.hbs +1 -0
- package/templates/{package.json.tmpl → typescript/init/package.json.hbs} +1 -1
- package/templates/{src/index.ts.tmpl → typescript/init/src/index.ts.hbs} +1 -3
- /package/templates/{env.example.tmpl → python/init/env.example.hbs} +0 -0
- /package/templates/{.claude/settings.json.tmpl → typescript/init/.claude/settings.json.hbs} +0 -0
- /package/templates/{gitignore.tmpl → typescript/init/gitignore.hbs} +0 -0
- /package/templates/{tsconfig.json.tmpl → typescript/init/tsconfig.json.hbs} +0 -0
package/dist/loadJob.js
CHANGED
|
@@ -1,56 +1,16 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { pathToFileURL } from "node:url";
|
|
3
1
|
import chalk from "chalk";
|
|
4
2
|
import { select } from "@inquirer/prompts";
|
|
5
|
-
import { tsImport } from "tsx/esm/api";
|
|
6
3
|
import { assertProjectRoot } from "./assertProjectRoot.js";
|
|
7
4
|
/**
|
|
8
5
|
* Imports the user's entry file and returns the full job registry.
|
|
9
|
-
* Each createJob() call
|
|
6
|
+
* Each createJob() call populates this map.
|
|
10
7
|
*/
|
|
11
|
-
export async function loadJobRegistry() {
|
|
12
|
-
assertProjectRoot();
|
|
13
|
-
|
|
14
|
-
const entryPath = path.join(cwd, "src", "index.ts");
|
|
15
|
-
// Import the user's entry file via tsx — this triggers createJob() calls which
|
|
16
|
-
// populate the global job registry on globalThis.__terse_jobRegistry.
|
|
17
|
-
const parentURL = pathToFileURL(path.join(cwd, "package.json")).href;
|
|
18
|
-
try {
|
|
19
|
-
await tsImport(entryPath, parentURL);
|
|
20
|
-
}
|
|
21
|
-
catch (err) {
|
|
22
|
-
if (isModuleNotFoundError(err)) {
|
|
23
|
-
const pkg = extractMissingPackage(err);
|
|
24
|
-
console.error(chalk.red(`Error: Cannot find package '${pkg}' imported from src/index.ts`));
|
|
25
|
-
if (pkg === "terse-sdk") {
|
|
26
|
-
console.error(chalk.dim("\nMake sure terse-sdk is installed in your project:"));
|
|
27
|
-
console.error(chalk.dim(" npm install terse-sdk"));
|
|
28
|
-
console.error(chalk.dim(" # or, for local SDK development"));
|
|
29
|
-
console.error(chalk.dim(" npm link terse-sdk"));
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
console.error(chalk.dim(`\nInstall the missing package: npm install ${pkg}`));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
console.error(chalk.red("Error importing src/index.ts:\n"));
|
|
37
|
-
console.error(err);
|
|
38
|
-
}
|
|
39
|
-
process.exit(1);
|
|
40
|
-
}
|
|
41
|
-
// Read the registry from globalThis — populated by createJob() during the import above.
|
|
42
|
-
// We use globalThis rather than importing the SDK again because tsx may load separate
|
|
43
|
-
// module instances, which would give us an empty registry.
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
-
const registry = globalThis.__terse_jobRegistry;
|
|
46
|
-
if (!registry || registry.size === 0) {
|
|
47
|
-
console.error(chalk.red("No jobs found. Make sure your src/index.ts calls client.createJob()."));
|
|
48
|
-
process.exit(1);
|
|
49
|
-
}
|
|
50
|
-
return registry;
|
|
8
|
+
export async function loadJobRegistry(provider) {
|
|
9
|
+
assertProjectRoot(provider);
|
|
10
|
+
return provider.loadJobRegistry();
|
|
51
11
|
}
|
|
52
|
-
export async function loadJob(jobName) {
|
|
53
|
-
const registry = await loadJobRegistry();
|
|
12
|
+
export async function loadJob(provider, jobName) {
|
|
13
|
+
const registry = await loadJobRegistry(provider);
|
|
54
14
|
// Resolve which job to run
|
|
55
15
|
let resolvedName;
|
|
56
16
|
if (jobName) {
|
|
@@ -75,12 +35,4 @@ export async function loadJob(jobName) {
|
|
|
75
35
|
}
|
|
76
36
|
return { job: registry.get(resolvedName) };
|
|
77
37
|
}
|
|
78
|
-
function isModuleNotFoundError(err) {
|
|
79
|
-
return err instanceof Error && err.code === "ERR_MODULE_NOT_FOUND";
|
|
80
|
-
}
|
|
81
|
-
function extractMissingPackage(err) {
|
|
82
|
-
// Node's error message format: "Cannot find package 'foo' imported from ..."
|
|
83
|
-
const match = err.message.match(/Cannot find package '([^']+)'/);
|
|
84
|
-
return match?.[1] ?? "unknown";
|
|
85
|
-
}
|
|
86
38
|
//# sourceMappingURL=loadJob.js.map
|
package/dist/loadJob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadJob.js","sourceRoot":"","sources":["../src/loadJob.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"loadJob.js","sourceRoot":"","sources":["../src/loadJob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAA0B;IAC5D,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC3B,OAAO,QAAQ,CAAC,eAAe,EAAE,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAA0B,EAAE,OAAgB;IACtE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;IAEhD,2BAA2B;IAC3B,IAAI,YAAoB,CAAA;IAExB,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,OAAO,cAAc,CAAC,CAAC,CAAA;YACvD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAChC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YAC9B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QACD,YAAY,GAAG,OAAO,CAAA;IAC1B,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAA;IAChD,CAAC;SAAM,CAAC;QACJ,YAAY,GAAG,MAAM,MAAM,CAAS;YAChC,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACrE,CAAC,CAAA;IACN,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAE,EAAE,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CreateJobParameters } from "terse-sdk";
|
|
2
|
+
import type { CodegenInput } from "./codegenTypes.js";
|
|
3
|
+
import type { SerializedEvent } from "../shared/types.js";
|
|
4
|
+
export interface LanguageProvider {
|
|
5
|
+
readonly language: "typescript" | "python";
|
|
6
|
+
readonly displayName: string;
|
|
7
|
+
readonly projectMarkers: {
|
|
8
|
+
requiredFiles: string[];
|
|
9
|
+
description: string;
|
|
10
|
+
};
|
|
11
|
+
readonly entryFile: string;
|
|
12
|
+
readonly generatedCodePath: string;
|
|
13
|
+
readonly deployExclusions: {
|
|
14
|
+
dirs: Set<string>;
|
|
15
|
+
files: Set<string>;
|
|
16
|
+
};
|
|
17
|
+
scaffoldFiles(): Array<{
|
|
18
|
+
template: string;
|
|
19
|
+
output: string;
|
|
20
|
+
}>;
|
|
21
|
+
buildInitTemplateContext(projectName: string): Record<string, unknown>;
|
|
22
|
+
getPostInitSteps(packageManager: string): string[];
|
|
23
|
+
detectPackageManager(): string;
|
|
24
|
+
installDependencies(targetDir: string): Promise<void>;
|
|
25
|
+
renderGeneratedCode(input: CodegenInput): string;
|
|
26
|
+
loadJobRegistry(): Promise<Map<string, CreateJobParameters>>;
|
|
27
|
+
executeJob(job: CreateJobParameters, event: SerializedEvent, opts?: {
|
|
28
|
+
verbose?: boolean;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=LanguageProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageProvider.d.ts","sourceRoot":"","sources":["../../src/providers/LanguageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE;QACrB,aAAa,EAAE,MAAM,EAAE,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,gBAAgB,EAAE;QACvB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACjB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KACrB,CAAA;IAED,aAAa,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtE,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAClD,oBAAoB,IAAI,MAAM,CAAA;IAC9B,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAA;IAChD,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAC5D,UAAU,CACN,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageProvider.js","sourceRoot":"","sources":["../../src/providers/LanguageProvider.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { GithubIntegration } from "../shared/Integrations.js";
|
|
2
|
+
export interface GitHubRepo {
|
|
3
|
+
id: number;
|
|
4
|
+
name: string;
|
|
5
|
+
owner: string;
|
|
6
|
+
fullName?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface GitHubInstanceData {
|
|
9
|
+
integration: GithubIntegration;
|
|
10
|
+
repositories: GitHubRepo[];
|
|
11
|
+
}
|
|
12
|
+
export interface IntegrationInstanceData {
|
|
13
|
+
id: string;
|
|
14
|
+
displayName: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SlackChannelData {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
}
|
|
20
|
+
export interface LinearTeamData {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
key: string;
|
|
24
|
+
}
|
|
25
|
+
export interface NotionResourceData {
|
|
26
|
+
id: string;
|
|
27
|
+
title: string;
|
|
28
|
+
type: string;
|
|
29
|
+
}
|
|
30
|
+
export interface JiraProjectData {
|
|
31
|
+
id: string;
|
|
32
|
+
key: string;
|
|
33
|
+
name: string;
|
|
34
|
+
}
|
|
35
|
+
export interface ConfluencePageData {
|
|
36
|
+
id: string;
|
|
37
|
+
title: string;
|
|
38
|
+
spaceId: string;
|
|
39
|
+
spaceName: string;
|
|
40
|
+
}
|
|
41
|
+
export interface PosthogProjectData {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
}
|
|
45
|
+
export interface DatadogIndexData {
|
|
46
|
+
name: string;
|
|
47
|
+
}
|
|
48
|
+
export interface LaunchDarklyProjectData {
|
|
49
|
+
key: string;
|
|
50
|
+
name: string;
|
|
51
|
+
}
|
|
52
|
+
export interface SnowflakeInstanceData {
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
}
|
|
56
|
+
export interface AttioAttributeData {
|
|
57
|
+
api_slug?: string;
|
|
58
|
+
title?: string;
|
|
59
|
+
type?: string;
|
|
60
|
+
is_required?: boolean;
|
|
61
|
+
is_unique?: boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface AttioObjectData {
|
|
64
|
+
api_slug: string;
|
|
65
|
+
singular_noun: string;
|
|
66
|
+
plural_noun?: string;
|
|
67
|
+
attributes?: AttioAttributeData[];
|
|
68
|
+
}
|
|
69
|
+
export interface SlackInstanceData extends IntegrationInstanceData {
|
|
70
|
+
channels: SlackChannelData[];
|
|
71
|
+
}
|
|
72
|
+
export interface LinearInstanceData extends IntegrationInstanceData {
|
|
73
|
+
teams: LinearTeamData[];
|
|
74
|
+
}
|
|
75
|
+
export interface NotionInstanceData extends IntegrationInstanceData {
|
|
76
|
+
databases: NotionResourceData[];
|
|
77
|
+
pages: NotionResourceData[];
|
|
78
|
+
}
|
|
79
|
+
export interface AtlassianInstanceData extends IntegrationInstanceData {
|
|
80
|
+
jiraProjects: JiraProjectData[];
|
|
81
|
+
confluencePages: ConfluencePageData[];
|
|
82
|
+
}
|
|
83
|
+
export interface PosthogInstanceData extends IntegrationInstanceData {
|
|
84
|
+
projects: PosthogProjectData[];
|
|
85
|
+
}
|
|
86
|
+
export interface DatadogInstanceData extends IntegrationInstanceData {
|
|
87
|
+
indexes: DatadogIndexData[];
|
|
88
|
+
}
|
|
89
|
+
export interface LaunchDarklyInstanceData extends IntegrationInstanceData {
|
|
90
|
+
projects: LaunchDarklyProjectData[];
|
|
91
|
+
}
|
|
92
|
+
export interface AttioInstanceData extends IntegrationInstanceData {
|
|
93
|
+
objects: AttioObjectData[];
|
|
94
|
+
}
|
|
95
|
+
export interface ToolDefinition {
|
|
96
|
+
name: string;
|
|
97
|
+
displayName: string;
|
|
98
|
+
description: string;
|
|
99
|
+
integration: string;
|
|
100
|
+
isReadOnly: boolean;
|
|
101
|
+
supportsApproval: boolean;
|
|
102
|
+
parameters: JsonSchema;
|
|
103
|
+
}
|
|
104
|
+
export interface JsonSchema {
|
|
105
|
+
type?: string;
|
|
106
|
+
properties?: Record<string, JsonSchema>;
|
|
107
|
+
required?: string[];
|
|
108
|
+
items?: JsonSchema;
|
|
109
|
+
enum?: Array<string | number | boolean>;
|
|
110
|
+
anyOf?: JsonSchema[];
|
|
111
|
+
description?: string;
|
|
112
|
+
[key: string]: unknown;
|
|
113
|
+
}
|
|
114
|
+
export interface CodegenInput {
|
|
115
|
+
github: GitHubInstanceData[];
|
|
116
|
+
slack: SlackInstanceData[];
|
|
117
|
+
gmail: IntegrationInstanceData[];
|
|
118
|
+
figma: IntegrationInstanceData[];
|
|
119
|
+
linear: LinearInstanceData[];
|
|
120
|
+
atlassian: AtlassianInstanceData[];
|
|
121
|
+
notion: NotionInstanceData[];
|
|
122
|
+
posthog: PosthogInstanceData[];
|
|
123
|
+
datadog: DatadogInstanceData[];
|
|
124
|
+
launchdarkly: LaunchDarklyInstanceData[];
|
|
125
|
+
workos: IntegrationInstanceData[];
|
|
126
|
+
attio: AttioInstanceData[];
|
|
127
|
+
snowflake: SnowflakeInstanceData[];
|
|
128
|
+
tools: ToolDefinition[];
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=codegenTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegenTypes.d.ts","sourceRoot":"","sources":["../../src/providers/codegenTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegenTypes.js","sourceRoot":"","sources":["../../src/providers/codegenTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { CreateJobParameters } from "terse-sdk";
|
|
2
|
+
import type { LanguageProvider } from "../LanguageProvider.js";
|
|
3
|
+
import type { CodegenInput } from "../codegenTypes.js";
|
|
4
|
+
import type { SerializedEvent } from "../../shared/types.js";
|
|
5
|
+
export declare class PythonProvider implements LanguageProvider {
|
|
6
|
+
readonly language: "python";
|
|
7
|
+
readonly displayName = "Python";
|
|
8
|
+
readonly projectMarkers: {
|
|
9
|
+
requiredFiles: string[];
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
readonly entryFile = "src/main.py";
|
|
13
|
+
readonly generatedCodePath = "src/terse_generated.py";
|
|
14
|
+
readonly deployExclusions: {
|
|
15
|
+
dirs: Set<string>;
|
|
16
|
+
files: Set<string>;
|
|
17
|
+
};
|
|
18
|
+
scaffoldFiles(): Array<{
|
|
19
|
+
template: string;
|
|
20
|
+
output: string;
|
|
21
|
+
}>;
|
|
22
|
+
buildInitTemplateContext(projectName: string): Record<string, unknown>;
|
|
23
|
+
getPostInitSteps(_packageManager: string): string[];
|
|
24
|
+
detectPackageManager(): string;
|
|
25
|
+
installDependencies(targetDir: string): Promise<void>;
|
|
26
|
+
renderGeneratedCode(input: CodegenInput): string;
|
|
27
|
+
loadJobRegistry(): Promise<Map<string, CreateJobParameters>>;
|
|
28
|
+
executeJob(job: CreateJobParameters, event: SerializedEvent, opts?: {
|
|
29
|
+
verbose?: boolean;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export declare const pythonProvider: PythonProvider;
|
|
33
|
+
//# sourceMappingURL=PythonProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PythonProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/python/PythonProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,uBAAuB,CAAA;AA+BjF,qBAAa,cAAe,YAAW,gBAAgB;IACnD,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAS;IACrC,QAAQ,CAAC,WAAW,YAAW;IAC/B,QAAQ,CAAC,cAAc;;;MAGtB;IACD,QAAQ,CAAC,SAAS,iBAAgB;IAClC,QAAQ,CAAC,iBAAiB,4BAA2B;IACrD,QAAQ,CAAC,gBAAgB;;;MAGxB;IAED,aAAa,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5D,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOtE,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE;IAOnD,oBAAoB,IAAI,MAAM;IAIxB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM;IAM1C,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAkC5D,UAAU,CACZ,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,IAAI,CAAC;CAuCnB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAA"}
|