Files
petya 75601988c2 Initial commit: LangChain evolution tutorial deck (132 slides)
- Cover, TOC, 5 dividers, 3 recap slides
- 5 sections (chains, langgraph, deepagents, openswe, ecosystem)
- design-system.js with theme tokens + 9 helper functions
- research/: timeline + sources + per-tech notes
- final-compile.js + merge.js for rebuild pipeline
- output/: langchain-evolution.pptx (2.3 MB) + langchain-evolution.pdf (1.1 MB) + 7 sample previews
2026-06-22 11:29:03 +03:00

95 lines
2.6 KiB
JavaScript

/**
* slides/08-sandbox-imports.js
* ----------------------------------------------------------------------------
* Slide 08 -- Sandbox imports + custom backend stub
*/
'use strict';
const { helpers, layouts } = require('../../design-system');
function buildSandboxImports(pres, theme) {
const slide = pres.addSlide();
helpers.slideBase(slide, pres, theme);
helpers.addHeader(slide, pres, theme, {
eyebrow: 'STAGE 4',
sectionNumber: 4,
title: 'Sandbox: imports + custom',
});
helpers.addCodeBlock(slide, pres, theme, {
x: 0.5, y: layouts.CONTENT_TOP, w: 5.0, h: 3.4,
language: 'python',
code: [
'from open_swe.sandbox import (',
' ModalBackend,',
' DaytonaBackend,',
' RunloopBackend,',
' LangSmithBackend,',
')',
'',
'# Modal (Python-first, GPU)',
'backend = ModalBackend(',
' token_id="..."',
' token_secret="..."',
')',
].join('\n'),
filePath: 'open_swe/sandbox/__init__.py',
startLine: 1,
});
helpers.addCodeBlock(slide, pres, theme, {
x: 5.7, y: layouts.CONTENT_TOP, w: 3.8, h: 3.4,
language: 'python',
code: [
'# свой backend: devbox-пул',
'from open_swe.sandbox import (',
' SandboxBackend,',
')',
'',
'class MyInternalBackend(SandboxBackend):',
' def execute(self, cmd):',
' return self._run(cmd)',
'',
' def read_file(self, p):',
' return self._fetch(p)',
].join('\n'),
filePath: 'examples/my_internal_backend.py',
startLine: 1,
highlightLines: [5, 8, 9, 11, 12, 13, 14, 15],
});
helpers.addCodeBlock(slide, pres, theme, {
x: 5.7, y: layouts.CONTENT_TOP, w: 3.8, h: 3.4,
language: 'python',
code: [
'# свой backend: devbox-пул',
'from open_swe.sandbox import (',
' SandboxBackend,',
')',
'',
'class MyInternalBackend(',
' SandboxBackend',
'):',
' def __init__(self, conn):',
' self.conn = conn',
'',
' def execute(self, cmd):',
' return self._run(cmd)',
'',
' def read_file(self, p):',
' return self._fetch(p)',
].join('\n'),
filePath: 'examples/my_internal_backend.py',
startLine: 1,
highlightLines: [11, 12, 13, 14, 15, 16, 19, 20, 21, 22],
});
helpers.addPageNumber(slide, pres, theme, 8);
helpers.addSourceLine(slide, pres, theme, {
source: 'research/per-tech/openswe.md: 80-86, 250-264',
});
return slide;
}
module.exports = { buildSandboxImports };